发表于: 2016-10-12 15:30:22

0 727


今天:

今天早上学习了一下Activity的生命周期,了解了一个Activity在创建到结束,创建到获取焦点,弹出完全覆盖或者不完全覆盖的窗口的生命周期,

跳转到另外一个Activity并返回的生命周期,看的有点懵懵懂。参考的两个博客。以后经常看看

http://blog.csdn.net/lonelyroamer/article/details/8927940   //1.1、Activity的生命周期

http://blog.csdn.net/liuhe688/article/details/6733407       //基础总结篇之一:Activity生命周期

自己尝试了一下

我运行的Nexus 5 所以启动和退出的时候会出现未知缓冲的问题

Log.i(TAG,"MainActivity- - - >onStart");

启动一个Activity

 

退出

 

Home键返回桌面,Activity处于停止状态Stopped或者被完全遮挡住

但是保留所有状态和成员信息

 

启动Activity之后Home返回然后再打开这个Activity

 

使用android:theme="@android:style/Theme.DeviceDefault.Dialog"

从第一个Activity中的Button,Intent到第二个半透明弹窗(失去焦点)

 

返回第一个Activity(获取焦点)


引入一个图


Intent:Intent用来协助完成Android各个组件之间的通讯

Intent实现页面之间的跳转有两种


//直接启动一个页面

1.startAvtivity(intent)   

FActivity作为首页面

public class FActivity extends Activity {

    private Button bt1;

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.factivity);

        bt1 = (Button) findViewById(R.id.button_first);

        bt1.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                Intent intent = new Intent(FActivity.this,SecondActivity.class);

                startActivity(intent);

            }

        });

    }

}

//有返回值的页面跳转             

2.startActivityForResult(intent,requestCode);

  onActivityResult(int requestCode,int resultCode,Intent data)

  setResult(resultCode,data);

requestCode: 请求标示

resultCode:  其他页面的返回标示

data:        其他页面的回传数据


bt2.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

//跳转至第二个页面

                Intent intent = new Intent(FActivity.this,SecondActivity.class);

                startActivityForResult(intent,1);

            }

        });

    }

第二个页面的回传

public class SecondActivity extends Activity{

    private Button bt;

    private String content = "我是第二个页面的返回值";

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.secondactivity);

        bt = (Button) findViewById(R.id.button);

        bt.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                //回传到第一个页面的是一个Intent对象

                Intent data = new Intent();

//Intent添加数据,使用setResult(resultCode,intent)返回

                data.putExtra("data",content);

                setResult(2,data);

                //结束当前Activity并换回上一个Activity

                finish();

            }

        });

    }

//匹配requestCode和resultCode,通过getStringExtra获取到返回的字符串

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        super.onActivityResult(requestCode, resultCode, data);

        //可以做一个判断是谁返回数据

        if (requestCode == 1 && resultCode == 2){

            String content =  data.getStringExtra("data");

            tv.setText(content);

        }

    }

今天下午继续看书,再深入理解一下Intent

明天计划:我也不清楚明确的学习什么,明天再写吧

遇到的问题:Activity的生命周期还是比较好理解,= =仅限于知道它是怎么个运行流程,Intent学的有点晕,跳过去跳过来的,到今天晚上之前我准备继续看Intent至少把简单的页面跳转和简单的带返回值页面跳转理解好。

电脑太卡了。。不小心把日报编辑关掉了。。。又编辑了一次

昨天手机热点没流量了。。不能上网。。所以简单看了下第一行代码


收获:理解了Activity的生命周期,学习了Intent


返回列表 返回列表
评论

    分享到