Activity学习
--------此笔记根据黑马程序员的授课视频所记录
Activity
网络编程1
网络编程2
广播接收者
服务
内容提供者
多媒体
1.如何创建一个新的Activity
【1】Android的四大组件都要在清单文件里配置
【2】如果你想让你的应用有多个启动图标 你的Activity需要这样配置(图中的配置为意图过滤器)
【3】Activity下的lable和icon属性可以和Application节点的属性不一样,默认是用的Application下的属性,但是当Activity下的属性中设置了lable或icon,就会优先使用Activity中设置的属性
【4】一个Android应用一般我们就配置一个启动图标就可以了 看见的其他界面都是从第一个界面跳转进去的
2.隐式意图
定义:指定一组动作或者是数据
跳转页面
//创建意图对象
Intent intent = new Intent();
//在设置跳转时只要设置能匹配到一个完整的意图属性就可以跳转
//设置跳转动作
intent.setAction("要跳转的界面的在配置文件中的呢个Name");
//设置category
intent.addCategory("内容");
//设置数据类
//intent.setData(Uri.parse("定义的约束名:"+"数据,此处可以不为String类型"));
//设置数据类型
//intent.setType("自定义的约束");
//小细节 如果setData方法和setType方法一起使用时 应该用下面的方法
intent.setDataAndType(Uri.parse("定义的约束名:"+"数据,此处可以不为String类型"),"type");
3.显式意图
定义:通过指定具体的包名和类名
方法一
//创建意图对象
Intent intent = new Intent();
//设置包名和类名 packageName:当前应用的包名 className:要跳转的 包名.类名
intent.setClassName("包名","类名");
//开启intent
startActivity(intent);
方法二
Intent intent = new Intent(getApplicationContext(),跳转的页面.class);
总结:
1.开启自己应用的界面用显式意图
2.开启其他应用(多数是系统应用)的时候用隐式意图
3.显式意图更安全
4.人品计算器小案例
所需要的小知识点
【1】关于RadioButton单选按钮的使用
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</RadioGroup>
【2】传输数据
intent.putExtra("key","value");
【3】获取数据
Intent intent = getIntent();
//此处传递的是什么数据类型的值 这边就按照传递的数据类型取
//如:intent.getIntExtar("key",value);其中value是当取不到时的默认值
String data = intent.getStringExtra("key");
5.短信大全小案例
所需要的小知识点
【1】给listView中的条目设置点击事件
lv.setOnItemClickListener(new OnItemClickListener(){
//当listView的一个条目被点击的时候调用
public void onItemClick(AdapterView<?> parent,View view,int position long id){
//把点击条目的数据取出来 掌握一条原则:数据在哪里存就在哪里取
}
});
6.Activity生命周期
【1】onCreate方法 当activity创建的时候调用
【2】onDestroy方法 当activity销毁的时候调用
【3】onStart方法 当activity界面看见的时候调用
【4】onStop方法 当activity界面变得不可见的时候调用
【5】onResume方法 当界面上可以产生交互的时候(例如按钮可以被点击了 获取焦点)的时候调用
【6】onPause方法 当界面上不可以产生交互的时候(例如按钮不可以被点击 失去焦点)的时候调用
【7】onRestart方法 当界面重新启动的时候调用
7.横竖屏切换Activity的生命周期
当横竖屏切换的时候调用onPause、onStop、onDestroy、onCreate、onStart、onResume
这就相当与彻底关闭第一个界面,然后重新启动一个新的界面
在配置文件中的activity属性中添加
android:screenOrientation="portrait" //竖屏
android:screenOrientation="landscape" //横屏
添加了上述属性后再次切换的时候不会调用生命周期方法
8.任务栈的概念
栈:先进后出
列队:先进先出
task:任务
【1】打开一个activity叫进栈 关闭一个activity叫出栈
【2】我们操作的activity永远是栈顶的activity
【3】任务栈是用来维护用户操作体验的
【4】应用程序退出了,任务栈就清空了
9.Activity的四种启动模式
activity属性中添加
//1.系统会自动创建一个新的任务栈 在自己的任务栈中之存在自己的一个实例
android:launchMode="singleInstance"
//2.任务栈就会检查是否开启过 若开启过就直接复用,并且把之前的全部清空
android:launchMode="singleTask"
//3.任务栈会检查栈顶 如果存在,不再开启,直接复用
android:launchMode="singleTop"
//4.标准模式
android:launchMode="standard"