Log,v
Log.d
Log.i
Log.w
Log.e
控制台上可以通过 Edit Filter Configuration自定义过滤器
makeText()创建 调用show()
3个参数:
Context(Activity本身就是一个Context)
显示的文本内容
显示的时长
inflate()方法两个参数
finish();
组件交互,指明当前组件要执行的侗族,在不同的组件之间传递数据
1.构建意图
Intent(Context packageContext,Class>cls)
两个参数
不明确指出活动 通过指定action category 交由系统分析Intent 选择合适的活动
使用方法:
启动其他程序(多程序之间功能共享)
1.指定intent的action
2.Uri.prase方法将网址字符串解析成uri对象
3.调用setData()方法 将对象传进去
标签中盘配置标签 指定活动响应什么类型的数据
1. 把想要传递的数据暂存在Intent中
2.启动另一个活动后 把这些数据再从Intent中取出就可以了
putExtra方法
两个参数:1.键 从Intent中取值
2.真正要传递的数据
String data="Hello SecondActivity";
Intent intent=new Intent (MainActivity.this,SecondActivity.class);intent.putExtra("extra_data",data);
Intent intent=getIntent();、
String data= intent.getStringExtra ("extra_data");Log.d("SecondActivity",data);
startActivityForResutl() 启动活动并期望在活动销毁的时候能够返回结果给上一个活动
两个参数:
setResult() 向上一个活动返回数据
两个参数
按back键返回 数据 用onBackPressesd方法
1.运行2.暂停(不处于栈顶但仍然可见)3.停止4.销毁
onCreate() 初始化
onStart() 不可见变可见时调用
onResume() 准备好和用户交互时调用 栈顶 运行
onPause() 系统准备去其启动或恢复另一个活动时调用 释放一些资源 保存一些关键数据
onStop() 完全不可见时调动
onDestory() 被销毁前调用 之后活动状态变为销毁状态
onRestart() 停止状态变为运行状态之前调用
完整生存期 :Create到Destory 初始化到释放内存
可见生存期 :Start到stop 活动对用户可见 可能无法交互
管理资源 加载 释放
前台生存期 :Resume到Pause之间 运行状态 可交互
onSaveInstanceState() 保证在活动被回收之前一定会被调用(解决活动被回收时临时数据得不到保存的问题)
两个参数
1.键 用于从Bundle中取值
2.真正要保存的内容
在AndroidManifest.xml中通过给标签指定 android:launchMode属性来选择启动
standard 每启动一个新活动都会在返回栈中入栈,并处于站定
系统不会在乎这个活动是否已经在返回栈中存在,每次启动都会新建一个
singleTop 在启动活动时发现是栈顶活动,则认为可以直接使用 不会创建新的活动
singleTask 启动活动时系统检查返回栈中是否存在该活动的实例,如果存在则直接使用该实例,并把这个活动之上的所有活动出栈。没有发现的话就创建一个新的活动实例。
(指定了不同的taskAffinity也会启用一个新的返回栈)
singleInstance 启用一个新的返回栈(为了允许其他程序可以调用某程序中的活动 共享活动实例)
知晓当前活动:
1.新建一个class 继承AppCompatActivity
2.并在OnCreate()中获得当前实例的类名 getClass().getSimpleName
3.其他Activity继承这个class
随时随地退出程序:用专门的集合类对活动管理
ActivityCollector类中用List暂存活动
addActivity() 向List中添加一个活动
removeActivity() 从List中移除活动
finishAll() 全销毁
在想要退出的地方调用ActivityCollector.finishAll()
杀掉进程 killProcess 1个参数:进程id 通过myPid()方法获得当前程序的进程id
启动活动的最佳写法:actionStart()
在该方法中构建Intent 通过actionStart()传递需要的参数 最后调用startActivity启动活动