首页 > 代码库 > android四大组件(一)Activity

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)

隐式意图:通过指定一组动作或数据 

        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四大组件(一)Activity