从来好事天生俭,自古瓜儿苦后甜。这篇文章主要讲述android四大组件Activity相关的知识,希望能为你提供帮助。
一、创建一个新的Activity
1.android的四大组件都要在清单文件里面配置
2.如果想让你的应用有多个启动图标,你的activity需要这样配置
< intent-filter> < action android:name="android.intent.action.MAIN" /> < category android:name="android.intent.category.LAUNCHER" /> < /intent-filter>
3.Activity下的lable和icon属性可以和Application节点的属性不一样,默认用Application节点下的属性
二、意图(intent)
【android四大组件Activity】隐式意图:通过指定一组动作或数据
Intent intent = new Intent(); //设置跳转的动作 intent.setAction("com.cn.testActivity"); intent.addCategory("android.intent.category.DEFAULT"); //开启activity startActivity(intent);
显示意图:通过指定具体的包名和类名 。Intent intent = new Intent(this,TestActivity.class);
总结:1.开启自己应用的界面用显示意图。
2.开启其他应用(系统应用)用隐式意图。(电话拨号器)
3.显示意图更安全一些。
三、短信大全案例
文章图片
文章图片
public class MainActivity extends Activity {@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView lv = (ListView) findViewById(R.id.lv); //设置数据 ArrayAdapter< String> adapter = new ArrayAdapter< String> (getApplicationContext(), R.layout.item, R.id.tv_content, objects); //设置数据适配 lv.setAdapter(adapter); //给ListView设置点击事件 lv.setOnItemClickListener(new OnItemClickListener() {@Override public void onItemClick(AdapterView< ?> parent, View view, int position, long id) { //把点击条目的数据取出来 String content = objects[position]; Intent intent = new Intent(); //设置action intent.setAction("android.intent.action.SEND"); intent.addCategory("android.intent.category.DEFAULT"); intent.setType("text/plain"); //传递数据 intent.putExtra("sms_body", content); //跳转到发送短信的页面 startActivity(intent); } }); } }
View Code 四、Activity的生命周期
1.onCreate():当activity启动的时候调用 onDestroy():当activity销毁的时候调用
2.onRestart()
3.onStart():当activity界面变成可见的时候调用 onStop():当activity界面变成不可见的时候调用
4.onResume() 当界面有按钮被点击,获取焦点的时候调用 onPause() 当界面按钮不可被点击,失去焦点的时候调用
横竖屏切换activity生命周期 android:screenOrientation="landscape" 横屏
android:screenOrientation="portrait" 竖屏
四、任务栈的概念(与activity有关)
1.进栈:打开一个activity,出栈:关闭一个activity
2.我们操作的activity永远是栈顶的activity。
3.activity的任务栈是用来维护用户操作体验。
4.应用程序退出时任务栈清空了。
5.一般情况下一个应用程序对应一个任务栈。
五、Activity的四种启动模式(理解中,后续补充)
1.standard
应用场景:浏览器的书签
2.singleTop:会检查任务栈栈顶的activity,如果存在则不会创建,直接复用。
3.singleTask:检查当前任务栈,
4.singleInstance:自己创建一个任务栈。
应用场景:来电页面
文章图片
推荐阅读
- Android学习笔记--BroadcastReceiver
- android开发之线程
- 一些安全相关的文章收集之linux/android篇(不定时时间更新)
- ANDROID培训准备资料之项目结构
- 自个儿写Android的下拉刷新/上拉加载控件
- Android开发--异步加载
- Android开发里的像素单位dppxptsp的比较
- Android源码添加自定义系统服务
- 包建强的培训课程(14)(Android与ReactNative)