栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Activity(四大组件之一)和 Service (四大组件之一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Activity(四大组件之一)和 Service (四大组件之一)

1. 如何创建Activity

AS创建的(省略很多过程)

        

 

AS创建Activity省略了哪些过程?

  1. xml文件

  2. java文件,并在java文件中 继承 AppCompatActivity,在onCreate()方法中,setContentView() ,将java文件跟xml文件连接在一起

2.Acitivity之间的跳转

假设 MainActivity.java MainActivity2.java

从MainActivity.java 跳转到 MainActivity2.java

代码

// 常用的方法
Intent intent = new Intent(MainActivity.this, MainActivity2.class);
startActivity(intent);

// 另外一种方法
Intent intent = new Intent();
intent.setClass(MainActivity.this, MainActivity2.class);
startActivity(intent);

从MainActivity2.java 跳转到 MainActivity.java

Intent intent = new Intent(MainActivity2.this, MainActivity.class);
startActivity(intent);

// 如果从MainActivity2.java 跳转到 MainActivity.java,MainActivity2不需要存活了
finish();
带参数的跳转

携带基本类型和String

赋值

Intent intent = new Intent(getApplicationContext(), SendParamsDemo.class);
intent.putExtra("id", 100);
intent.putExtra("isShow", true);
intent.putExtra("Msg", "Input string");
startActivity(intent);

接收值

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

动态赋值

实现Serializable接口并创建键

public class perpo implements Serializable {
    private String name;
    private String sex;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public perpo(String name, String sex, int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }
}

赋值

Intent intent = new Intent(MainActivity.this,MainActivity3.class);
               (上面创建的class对他的构造函数赋值) perpo perpo = new perpo("李四","男",27);
                intent.putExtra("perpo",perpo);
                startActivity(intent);


(值得接收并输出)

 Intent intent = getIntent();
        perpo perpo = (com.jzj.day29sag01.perpo) intent.getSerializableExtra("perpo");
        String name = perpo.getName();
        String sex = perpo.getSex();
        int age = perpo.getAge();

        Toast.makeText(this, "名字:"+name+"性别:"+sex+"年龄:"+age, Toast.LENGTH_SHORT).show();
    }
Activity生命周期

初次打开app onCreate() onStart() onResume()

隐藏app onPause() onStop()

打开隐藏的app onRestart() onStart() onResume()

退出app onPause() onStop onDestroy()

Service

  • Service是Android四大组件之一,它可以在后台执行长时间运行操作而没有用户界面的应用组件。

  • Service的启动方式有两种:startService启动和bindService启动。

创建一个Service

 

 

startService启动的生命周期

onCreate() 当Service第一次被创建时,由系统调用。

onStartCommand() 当startService方法启动Service时,该方法被调用。

onDestroy() 当Service不再使用时,由系统调用。

注意:一个startService只会创建一次,销毁一次,但可以开始多次,因此,onCreate()和onDestroy()方法只会被调用一次,而onStart()方法会被调用多次。

bindService启动的生命周期

onCreate() 当Service被创建时,由系统调用。

onBind() 当bindService方法启动Service时,该方法被调用。

onUnbind() 当unbindService方法解除绑定时,该方法被调用。

onDestroy() 当Service不再使用时,由系统调用。

注意:一个bindService可以创建多次,销毁多次,重复使用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024835.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号