Activity与Service
Activity(四大组件之一)
如何创建Activity
xml文件
java文件,并在java文件中 继承 AppCompatActivity,在onCreate()方法中,setContentView() ,将java文件跟xml文件连接在一起
androidManifest.xml文件中注册Activity
AS创建Activity省略了哪些过程?(理解)
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();
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
什么是Service
Service是Android四大组件之一 (必须在androidManifest.xml中进行注册)
可以在后台执行长时间运行操作而没有用户界面的应用组件
Activity MainActivity.java
activity_main.xml
Service XXXXXXX.java
Service在现阶段的APP什么位置有体现?
手机音乐播放器
创建Service
不使用Android Studio应该如何创建?
1. 创建java文件,继续Service 1. 在AndroidManifest.xml中进行注册
怎么调用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");}
};
Service的声明周期
startService的方式 onCreate() onStartCommand() onDestroy()
bindService的方式 onCreate() onBind() onUnBind() onDestroy()
Activity与Service相关推荐
- Activity与Service通信
Activity与Service通信 Activity与Service通信的方式有三种: 继承Binder类 这个方式只有当你的Acitivity和Service处于同一个Application和进程 ...
- Android中Service的启动方式及Activity与Service的通信方式
Service启动的两种方式 1.通过startService启动 使用Service的步骤: 定义一个类继承Service 在Manifest.xml文件中配置该Service 使用Context的 ...
- Activity和Service通信 使用BroadcastReceiver
本文由PurpleSword(jzj1993)原创,转载请注明 原文网址 http://blog.csdn.net/jzj1993 Activity中编写 /** * 广播接收器 ...
- Android Studio开发基础之启动Service,并通过从Activity向Service传递数据
本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Service,并敲如下代码: package com.example.lhb.startservice;imp ...
- Android之Content和activity、service、Application关系和attachBaseContext函数调用的时候
1.Content和activity.service.Application关系 2.Application里面attachBaseContext和onCreate函数调用顺序 Application ...
- 第8章 Service基础Activity与Service绑定
要知道如果调用函数startService方法,那么即使你的程序退出了,但是Service依然运行在后台;也就是说此时想要停止service必须调用stopService方法. 现在我们把Activi ...
- android service交互,Android Activity与Service的交互方式
参考: http://blog.csdn.net/gebitan505/article/details/18151203 实现更新下载进度的功能 1. 通过广播交互 Server端将目前的下载进度,通 ...
- linux 和服务通讯,Android 的Activity和Service之间的通信
在Android中Activity负责前台界面展示,service负责后台的需要长期运行的任务.Activity和Service之间的通信主要由IBinder负责.在需要和Service通信的Acti ...
- android 启动服务同时传递数据,Android Studio开发基础之起动Service,并通过从Activity向Service传递数据...
Android Studio开发基础之启动Service,并通过从Activity向Service传递数据 本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Se ...
- android多个activity绑定一个service,8.1.2 绑定Activity和Service
8.1.2 绑定Activity和Service 本节的例子代码所在的工程目录是src\ch08\ch08_serviceactivity 如果使用8.1.1节介绍的方法启动服务,并且未调用stop ...
最新文章
- 设计模式之美:Memento(备忘录)
- Flickr.net傻瓜教程(二)
- 设置cl.exe环境变量
- 【视频】SQL Server 2008 R2 StreamInsight - 多源复杂事件处理
- 为Ubuntu设置新的软件源
- linux fedora安装、运行mybase7.3.5报错:error while loading shared libraries: libpng12.so.0
- linux监控哪些目录,linux管理文件和目录的命令
- lrange是取出所有值并移除么_图解双指针 | LeetCode 27. 移除元素
- fedora安装pyenv实现python的版本管理
- red hat 5.5 vncserver搭建
- 嵌入式工作笔记0004---常见术语积累--随时更新
- 更上一层楼,数学是基础——渐近线和可分离变量微分方程
- ssh-keygen命令详解
- 电脑老是弹出vrvedp_m_vrvedp_m.exe是什么进程?是病毒吗?vrvedp,vrvedp.exe,,,,,,,
- 三相电检测电路c语言,三相电缺相检测电路
- 一个计算机爱好者的不完整回忆(三十)VB与Delphi
- iphone SE 自带视频播放器要求的视频格式转换参数
- C语言程序设计笔记(浙大翁恺版) 第五周:循环控制
- 扫雷游戏(java实现)java小程序
- Leetcode算法Java全解答--41. 缺失的第一个正数