zoukankan      html  css  js  c++  java
  • Android 各个组件学习

    Android 各个组件学习

    组件必须在清单文件里面注册

    Activity跳转

    • 新建Activity 必须加到清单文件

    • 设置按钮 跳转

      • public void startActivity(View view){
        	startActivity(name Intent(this,MainActivity2));
        	}
        

    生命周期

    • onCreat()
    • onStart()
    • onResume() 渲染完成 可见状态
    • onPause 不可见
    • onStop
    • onDestory

    认识Sevice

    服务在后台默默的运行 , 是不可见的

    • 生命周期

      • onCreat

      • onStart

      • onStartCommand

      • onDestory

    • startService 与 生命周期

    • 启动服务

      • startService(new Intent(this,MyService.class));
        
      • 会后台继续运行

    • 停止服务

      • stopService(new Intent(this,MyService.class));
        

    bindService 与 生命周期

    • 直接与 activity 挂钩

    • 生命周期

      • onBind
      • onUnbind
    • 绑定Activity

    • BIND_AUTO_CREATE 连接方式

      • bindService(new Intent(this,MyService.class),connect,Context.BIND_AUTO_CREATE)
        
    • 解绑Activity

      • unbindService(connection)
        
    • 创建桥梁

      • private ServiceConnection connection = new ServiceConnection(){
        	@override
        	public void onServiceConnection(ComponentName name,IBinder service){
        	
        	}
        	@override
        	public void onServiceDisconnected)(ComponentName name){
        	}
        }
        

    认识 Receive

    广播:分为系统广播,与用户自定义广播

    • 静态注册接受广播

      • 创建标记 不能错误

      • <receive android:name = "com.derr.project__">
        	<intent-filter>
        		<action android: name "com.derr.project__"/>
        	</intent-filter>
        </receive>
        
      • 创建广播类

        • 接收者

          • public class CustomReceive extends BroadcastReceive{
            	@Override
            	public void onReceive(Contesxt context , Initent intent){
            	
            	}
            }
            
      • activity 发送给接收者

        • public void sendAction2(View view){
          	Intent intent = new Intent();
          	// ActionUtils.ACTION_EQUES_UPDATE_IP  与注册时保持一致
          	intent.setAction(ActionUtils.ACTION_EQUES_UPDATE_IP);
          	sendBroadcast(intent);
          }
          
    • 动态注册广播

      • 不需要再清单文件里面 注册

      • 广播注册时 与 发送广播时 的 唯一标识,必须要保持一直(给动态注册使用)

        • String ACTION_EQUES_UPDATE_IP = "标志"
          
      • 定义广播接收者

        • public class CustomReceive extends BroadcastReceive{
          	@Override
          	public void onReceive(Contesxt context , Initent intent){
          	
          	}
          }
          
      • Java 代码来注册刚刚的接收者即可

      • 在oncreat注册广播(订阅)

      • 动态使用Java代码注册一个广播接收者

        • UpdataIpSelectCity updataIpSelectCity = new UpdateIpSelectCity();
          IntentFilter filter = new IntentFilter();
          filter.addAction(ActionUtils.Action_EQUES_UPDATA_IP);
          registerReceive(updataIpSelectCity,filter);
          
    • filter n. 过滤器;滤波器;筛选程序;分流指示灯

    • intent n. 意图

      • 发送广播给接收者

        • public void sendAction1(View view){
          	Intent intent = new Intent();
          	intent.secAction(ActionUtils.ACTION_EQUES_UPDATE_IP);
          	sendBroadcast(intent);
          }
          
        • broadcast vt. 播送,播放;(无线电或电视)广播;.

  • 相关阅读:
    Python生成二维码
    SSO单点登录
    小说 · 凉生,我们可不可以不忧伤
    RabbitMQ入门教程——.NET客户端使用
    ASP.NET MVC 拓展ActionResult实现Html To Pdf 导出
    ASP.NET MVC 拓展ViewResult实现word文档下载
    RabbitMQ入门教程——安装及配置
    MongoDB学习笔记——分片(Sharding)
    MongoDB学习笔记——Replica Set副本集
    MongoDB学习笔记——Master/Slave主从复制
  • 原文地址:https://www.cnblogs.com/AronJudge/p/14652559.html
Copyright © 2011-2022 走看看