Android初级第三次小结-创新互联

Service

在大厂等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站设计 网站设计制作按需开发,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,外贸网站建设,大厂网站建设费用合理。

      服务

      四大组件之一   没有界面,运行在后台

    要素:

     1、继承Service

     2、在清单文件里面注册

          

    生命周期:

    打开服务:

      startService(Intent intent)

    生命周期:

      onCreat()  onStartConmmand()

    关闭服务:

      stopService(Intent intent);

    注意:1、通过startService打开的服务跟Activity之间的联系比较松散(activity关闭服务不会死掉)

         2、Service打开之后继续调用startService只会调用 onStartConmmand()

         3、通过startService打开的Service只能通过stopservice关闭

    ServiceConnection conn = new ServiceConnection() {

     @Override

     public void onServiceDisconnected(ComponentName name) {

      //绑定异常调用

     }

     @Override

     public void onServiceConnected(ComponentName name, IBinder service) {

      //绑定成功,并返回一个非空的Ibinder类型对象时调用

     }

     };

    绑定服务

       绑定服务的时候,界面关闭掉,服务随之关闭。绑定成功的时候可以得到服务返回的数据。

      Intent service = new Intent(this, MyService.class);

     //绑定服务

     bindService(service , conn, Context.BIND_AUTO_CREATE);

     //Context.BIND_AUTO_CREATE  当服务不存在,默认去创建服务

    解除绑定:

     unbindService(conn);

    绑定Service获取服务返回的消息

     1、绑定成功

         onBinder()会返回IBinder类型的对象

     2、声明一个类去接触Binder(implement IBinder)

     3、在声明的类中声明一个方法

     4、在 onBinder返回声明的类的对象

     5、在Activity中的ServiceConnection 类型的对象中的onServiceConnected()中接收返回的对象

    starService  + binderService

    广播接受者

      BroadcastReceiver

    广播机制

      单向,群发。

    创建:

      1、继承BroadcastReceiver

      2、在清单文件中注册

    注册:

     1、清单文件中注册

      2、代码中注册

     例子:

        接收短信

        1、权限:

            

        2、设置广播接收者的过滤条件

            a、在清单文件中注册

            

            

          

           b、在代码中注册

           receiver = new MyReceiver();

             IntentFilter filter = new IntentFilter();

             filter.addAction("android.provider.Telephony.SMS_RECEIVED");

             /   /注册广播接受者

             registerReceiver(receiver , filter );

             //注销广播接收者

             unregisterReceiver(receiver);

    清单文件中注册与代码中注册的区别

        1、 清单文件中注册 进程不存在 只要过滤条件匹配就能接收广播

        2、代码中注册  使用灵活  进程不存在则接收不了

    应用本身也可以发广播

       可以被应用本身的广播接收者接收,也可以被其他应用的广播接收者接收

    //发送广播

    Intent intent = new Intent();

       intent.putExtra("key", "ssssss");

       intent.setAction("com.xinbo.mysms");

     sendBroadcast(intent );

    Intent

       1、显式意图  (指定要打开的目标)

       2、隐式意图

    通过隐式意图打开界面:

      1、在清单文件为Activty设置过滤条件

        

            

            

          

     2、Intent intent = new Intent();

       intent.setAction("com.yinan");

     startActivity(intent );

     1、显式意图  只能打开本应用的界面   只能打开一个

     2、隐式意图  可以打开本应用也可以打开其他应用的界面   可以开启多个以供选择

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:Android初级第三次小结-创新互联
本文URL:http://pwwzsj.com/article/dhccid.html