Activity(四大组件之一)

  1. 如何创建Activity

    1. xml文件

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

    3. androidManifest.xml文件中注册Activity

  2. AS创建Activity省略了哪些过程?(理解)

  3. 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();
  4. Activity之间跳转的时候如何传值

传单个的值

主页面
Intent intent=new Intent(MainActivity.this,MainActivity2.class);
intent.putExtra("张三","张三");
startActivity(intent);
​
跳转到的页面
Intent intent=getIntent();//不能new
传对象
先定义一个测试类
import java.io.Serializable;
​
public class Test implements Serializable {private String name;private int age;private String sex;
​public Test(){}
​public Test(String name,int age,String sex){this.name=name;this.age=age;this.sex=sex;}
​public String getName() {return name;}
​public void setName(String name) {this.name = name;}
​public int getAge() {return age;}
​public void setAge(int age) {this.age = age;}
​public String getSex() {return sex;}
​public void setSex(String sex) {this.sex = sex;}
}
​
主页面
Test test=new Test("张三",18,"有罪");
intent.putExtra("name",test);
startActivity(intent);
目标页面
Test test= (Test) intent.getSerializableExtra("name");int age= test.getAge();String name=test.getName();String sex=test.getSex();

4. Activity生命周期

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

隐藏app onPause() onStop()

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

退出app onPause() onStop onDestroy()

Service

  1. 什么是Service

    • Service是Android四大组件之一 (必须在androidManifest.xml中进行注册)

    • 可以在后台执行长时间运行操作而没有用户界面的应用组件

Activity MainActivity.java

activity_main.xml

Service XXXXXXX.java

Service在现阶段的APP什么位置有体现?

手机音乐播放器

  1. 创建Service

不使用Android Studio应该如何创建?

1. 创建java文件,继续Service
1. 在AndroidManifest.xml中进行注册
  1. 怎么调用Service

第一种方式:startService 访问者跟Service是不绑定的

启动Service

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

关闭Service

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

第二种方式:bindService 访问者跟Service是绑定,访问者一旦退出了,Service也就终止了。

绑定service

Intent intent = new Intent(MainActivity.this, MyBindService.class);
bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
public ServiceConnection serviceConnection = new ServiceConnection() {@Overridepublic void onServiceConnected(ComponentName name, IBinder service) {Log.i("ServiceConnection", "onServiceConnected");}
​@Overridepublic void onServiceDisconnected(ComponentName name) {Log.i("ServiceConnection", "onServiceDisconnected");}
};

  1. Service的声明周期

    startService的方式 onCreate() onStartCommand() onDestroy()

    bindService的方式 onCreate() onBind() onUnBind() onDestroy()

Activity与Service相关推荐

  1. Activity与Service通信

    Activity与Service通信 Activity与Service通信的方式有三种: 继承Binder类 这个方式只有当你的Acitivity和Service处于同一个Application和进程 ...

  2. Android中Service的启动方式及Activity与Service的通信方式

    Service启动的两种方式 1.通过startService启动 使用Service的步骤: 定义一个类继承Service 在Manifest.xml文件中配置该Service 使用Context的 ...

  3. Activity和Service通信 使用BroadcastReceiver

    本文由PurpleSword(jzj1993)原创,转载请注明 原文网址 http://blog.csdn.net/jzj1993 Activity中编写     /**      * 广播接收器   ...

  4. Android Studio开发基础之启动Service,并通过从Activity向Service传递数据

    本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Service,并敲如下代码: package com.example.lhb.startservice;imp ...

  5. Android之Content和activity、service、Application关系和attachBaseContext函数调用的时候

    1.Content和activity.service.Application关系 2.Application里面attachBaseContext和onCreate函数调用顺序 Application ...

  6. 第8章 Service基础Activity与Service绑定

    要知道如果调用函数startService方法,那么即使你的程序退出了,但是Service依然运行在后台;也就是说此时想要停止service必须调用stopService方法. 现在我们把Activi ...

  7. android service交互,Android Activity与Service的交互方式

    参考: http://blog.csdn.net/gebitan505/article/details/18151203 实现更新下载进度的功能 1. 通过广播交互 Server端将目前的下载进度,通 ...

  8. linux 和服务通讯,Android 的Activity和Service之间的通信

    在Android中Activity负责前台界面展示,service负责后台的需要长期运行的任务.Activity和Service之间的通信主要由IBinder负责.在需要和Service通信的Acti ...

  9. android 启动服务同时传递数据,Android Studio开发基础之起动Service,并通过从Activity向Service传递数据...

    Android Studio开发基础之启动Service,并通过从Activity向Service传递数据 本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Se ...

  10. android多个activity绑定一个service,8.1.2 绑定Activity和Service

    8.1.2  绑定Activity和Service 本节的例子代码所在的工程目录是src\ch08\ch08_serviceactivity 如果使用8.1.1节介绍的方法启动服务,并且未调用stop ...

最新文章

  1. 设计模式之美:Memento(备忘录)
  2. Flickr.net傻瓜教程(二)
  3. 设置cl.exe环境变量
  4. 【视频】SQL Server 2008 R2 StreamInsight - 多源复杂事件处理
  5. 为Ubuntu设置新的软件源
  6. linux fedora安装、运行mybase7.3.5报错:error while loading shared libraries: libpng12.so.0
  7. linux监控哪些目录,linux管理文件和目录的命令
  8. lrange是取出所有值并移除么_图解双指针 | LeetCode 27. 移除元素
  9. fedora安装pyenv实现python的版本管理
  10. red hat 5.5 vncserver搭建
  11. 嵌入式工作笔记0004---常见术语积累--随时更新
  12. 更上一层楼,数学是基础——渐近线和可分离变量微分方程
  13. ssh-keygen命令详解
  14. 电脑老是弹出vrvedp_m_vrvedp_m.exe是什么进程?是病毒吗?vrvedp,vrvedp.exe,,,,,,,
  15. 三相电检测电路c语言,三相电缺相检测电路
  16. 一个计算机爱好者的不完整回忆(三十)VB与Delphi
  17. iphone SE 自带视频播放器要求的视频格式转换参数
  18. C语言程序设计笔记(浙大翁恺版) 第五周:循环控制
  19. 扫雷游戏(java实现)java小程序
  20. Leetcode算法Java全解答--41. 缺失的第一个正数

热门文章

  1. 数据库的存储系列———将图片存储到数据库
  2. IT项目管理个人报告
  3. NYOJ 118-修路方案
  4. 喝酒和感情深有必然的联系吗
  5. 离散粒子群算法(DPSO)求解路径规划(Matlab代码实现)
  6. Watij,配合JRuby截取网易公开课下载列表
  7. mysql 查询自取一条_数据库常用命令个人汇总(自用,有爱自取)
  8. 校园网免认证登录连接软件
  9. PD/QC协议取电芯片,一颗芯片解决您的无线充烦恼
  10. 喜迎新春,设计一个红包雨小游戏,看看你能赢多少?