zoukankan      html  css  js  c++  java
  • 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:自己创建一个任务栈。

    应用场景:来电页面

     

  • 相关阅读:
    新闻发布系统之 登陆注销
    readonly和const的区别
    c#中文件流的读写
    解决jsp两种提交方式乱码 的方法
    B/S 和 C/S两种架构
    App.config的典型应用
    接口实现多态
    Spring概念
    在Spring的核心配置文件applicationContext.xml中配置事务,主要配置三大方面:事务管理器、事务通知和定义事务性切面。
    乱码问题解决方案
  • 原文地址:https://www.cnblogs.com/wjh123/p/5935088.html
Copyright © 2011-2022 走看看