android面试 Android优点:1.开源特性,得到众多厂商的支持2.软件发展很快3.界面UI、系统优化不错Android缺点:1.版本过多,升级过快2.用户体验不一致 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务。这两个方法都可以启动Service,但是它们的使用场合有所不同。使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。如果打算采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。stopService()和stopSelf()都可以停止通过startService()方式启动的service。如果打算采用Context.bindService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onBind()方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind()方法,接着调用onDestroy()方法。如果调用bindService()方法前服务已经被绑定,多次调用bindService()方法并不会导致多次创建服务及绑定(也就是说onCreate()和onBind()方法并不会被多次调用)。如果调用者希望与正在绑定的服务解除绑定,可以调用unbindService()方法,调用该方法也会导致系统调用服务的onUnbind()-->onDestroy()方法。使用bindService方法启动service,在activity结束时,service到底退不退出,这个还不确定,需要验证,有人说activity退出,不会影响service。 注册BroadCast Receiver有两种方式:1.在AndroidManifest.xml文件当中进行注册,这种方式是最常用的 <receiver android:name=""> <intent-filter> <action android:name=""/> </intent-filter> </receiver>2.在代码当中直接进行注册,这种方式不是很推荐,但是有时候用起来很灵活 IntentFilter filter=new IntentFilter("此处为action的名字"); //然后创建一个自己定义的BroadCastReceiver类的对象 如: EoeAndroidReceiver eoeAndroidReceiver=new EoeAndroidReceiver(); //注册 registerReceiver(eoeAndroidReceiver,filter);如果想将一个已经注册的BroadCastReceiver注销的话 可以使用下面的代码: unregisterReceiver(br);//括号参数为你想注销的BroadCastReceiver对象 注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。1、在AndroidManifest.xml文件当中进行注册 不需要启动程序也可以监听广播但有时显得不灵活;2、在代码当中直接进行注册 需要启动程序代码才可以监听,有时比较灵活,如当希望在某个Activity启动时监听广播,当这Activity死亡时不监听,即可用这种方法。 Anroid虚拟器怎么上网? android 如何添加USSD测试代码? 在popupwindow中无法使用AutoCompleteTextView的问题 两个手机怎么通信呢,用Aidl能实现么 求高人指点 安装apk包出错 保护手机中数据的安全策略有哪些? google play 注册需要用Visa一类的信用卡,可俺只是个大三学生... 经验问题。是多view 好 还是 多个activity好 Android APP更新问题 activity 转向中间出现黑屏.一会儿就好了。 Sqlite insert不成功
如果打算采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。stopService()和stopSelf()都可以停止通过startService()方式启动的service。如果打算采用Context.bindService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onBind()方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind()方法,接着调用onDestroy()方法。如果调用bindService()方法前服务已经被绑定,多次调用bindService()方法并不会导致多次创建服务及绑定(也就是说onCreate()和onBind()方法并不会被多次调用)。如果调用者希望与正在绑定的服务解除绑定,可以调用unbindService()方法,调用该方法也会导致系统调用服务的onUnbind()-->onDestroy()方法。
使用bindService方法启动service,在activity结束时,service到底退不退出,这个还不确定,需要验证,有人说activity退出,不会影响service。
1.在AndroidManifest.xml文件当中进行注册,这种方式是最常用的
<receiver android:name="">
<intent-filter>
<action android:name=""/>
</intent-filter>
</receiver>
2.在代码当中直接进行注册,这种方式不是很推荐,但是有时候用起来很灵活
IntentFilter filter=new IntentFilter("此处为action的名字");
//然后创建一个自己定义的BroadCastReceiver类的对象 如:
EoeAndroidReceiver eoeAndroidReceiver=new EoeAndroidReceiver();
//注册
registerReceiver(eoeAndroidReceiver,filter);
如果想将一个已经注册的BroadCastReceiver注销的话 可以使用下面的代码:
unregisterReceiver(br);//括号参数为你想注销的BroadCastReceiver对象
1、在AndroidManifest.xml文件当中进行注册
不需要启动程序也可以监听广播但有时显得不灵活;
2、在代码当中直接进行注册
需要启动程序代码才可以监听,有时比较灵活,如当希望在某个Activity启动时监听广播,当这Activity死亡时不监听,即可用这种方法。