Activity 概述(四大组件之一) service 概述

Activity(四大组件之一)

只要是四大组件之一的都需要在AndroidManifest.xml文件中进行注册

继承AppCompatActivity,在onCreate()方法中,setcontentview(),将java文件和xml文件连接在一起

AndroidManifest.xml文件中注册activity

activity之间的跳转

        


//最基础的使用方式
Intent intent=new Intent  (Mainactivity.this,Minactivity.class)//定义从哪到哪
startactivity(intent)

//activity的跳转方式有两个
//假设mainactivit.java MainActivity2.java
Intent intent =new Intent(MainActivity.this,目标页面名称.class)
startActivity(intent);
//更加简洁高效的跳转方法(从1跳转到2)
Intent intent =new Intent();
intent.setCless(MainActivity.this,目标页面名称.class)
startActivity(intent);

//更加简洁高效的跳转方法(从2跳转到1)第二种情况使用.finish
intent.setCless(MainActivity.this,目标页面名称.class)
startActivity(intent);
//登录----》注册------》登录-------》还需要返回到注册页面吗?
	//绝对不行,登录后,注册页面就不在需要了
//可以使用
.finish();
//虽然点击的时候可以正常跳转,单是实际上是创建了一个新的页面,就得页面已经“死”掉了

activity传值跳转

  •         传对象
    • //intent接收对象
          1. ----------------传对象
          	首先创建你要传值的数据的实体类,实现Seriable(可序列化)接口
          		
       2.然后new对象,在对应Activity创建出对象
          实体类 实体类=new 实体类(值,值,值,值);
          intent.putExtra("键",值)//相当于吧对象传过去
              
              
        //接收
       // 接受时需要判定传过来的值是什么类型的,根据传的值选择
       Intent intent =getIntent();
      Intent intent =getString();
       实体类 实体类名=intent.getSerializableExtra("名字")
       类名.get值
       输出Toast.MakeText();

  •         传普通数据类型和字符串(int,byte, char, float, double, long, boolean,string   )
    • 4.2.1 携带基本类型和String

      我们直接看intent的方法。

      Intent intent = new Intent(getApplicationContext(), SendParamsDemo.class);
      intent.putExtra("id", 100);
      intent.putExtra("isShow", true);
      intent.putExtra("Msg", "Input string");
      startActivity(intent);
      intent的 putExtra 方法,可以传入参数。它接受1个String作为key,然后是具体参数。

    • 如何在接收上个页面传递过来的值?

      Intent intent = getIntent();
      int i = intent.getIntExtra("isShow", 0);
      boolean b = intent.getBooleanExtra("isShow", false);
      String str = intent.getStringExtra("Msg");

activity的生命周期

我们为什么要有activi的生命周期?

        -为了防止资源浪费,让android在不同的状态去干不同事情

        先简单的来看一下activity的生命状态,了解手机在不同的操作下activity 的状态

                

 关于android在不同的操作下执行的方法

oncreat(1)--只会运行一次(相当于java的静态方法
onstart(2)
onResume(3)
onpause(5)
onstop(6)
onDestory(7)
onrestart(4)
//使用生命周期
    初次打开app:(1).(2).(3)
    隐藏app(点击返回):(5),(6)(7)
    打开隐藏的app:(4),(2),(3)
    退出:(5),(6),(7)
    多任务栏结束app:onDestory
    

  • activity组成:

    • MainActivity.java onCreat-----> setContenview()

    • activity_main.xml

  • 现阶段Service在哪里体现?

    • 手机音乐播放器

  • Service

  • 创建后,必须在androidManifest.xml中进行注册

    • 什么是service:

      • Service没有页面

      • 安卓四大组件之一,重点他可以在后台长时间的运行操作而没有用户页面和应用组件

    • service的作用

      • 可以在后台继续运行需要的服务

    • service的使用:

      • service有两种启动方法

        • startService和bindService

          • startService:不和访问者绑定

            • Intent intent=new Intent(Stage2Activity.this,MyService.class);
                startService(intent);

          • bindService:和访问者绑定,访问者退出Service随之结束

            • 绑定启动的方式:

              bindService(Intent service.ServiceConnection conn,int flags);

              参数说明:

                     service:该参数通过intent指需要启动的service

                      conn:该参数是ServiceConnection对象,系统会调用ServiceConnection中的onServiceConnection()方法

              flag:指定绑定石是否自动创建service,BIND_AUTO_CREATE表示自动创建,为“0”的时候表示不创建

          • 关闭service的方式

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

    • 创建服务(service)的方式

      • 1.创建普通的java文件,继承Service

      • 2.在androidManifest中注册(File-->New---->Service),android studio会自动帮我们注册service服务

    • 使用android studio中创建的方式

      •  

         Intent intent=new Intent(Stage2Activity.this,MyBindService.class);
        bindService(intent ,serviceConnection,Context.BIND_AUTO_CREATE);
        
        Public ServiceConnection serviceConnection =new ServiceConnection(){
            
            @Override 
            public void onServiceConnected(ComponentName name,IBinder service ){
                Log.i("serviceConnection","onServiceConnected");
            }
            
            //解除绑定的方法
            @Override 
            public void onServiceDisconnected(ComponentName name ){
                Log.i("serviceConnection","onSserviceDisconnected");
            }
            
            
        }  

        生命周期:

        onCreatedang service 第一次被创建时,由系统调用

        Service::onCreat(),onStartCommand(),onDiestory方法

        BindService:完整的bind周期会经历:oncreat()onBind()onUnbind(),onDestory()方法。为一个简单的周期

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值