安卓四大组件之Activity

作者在 2015-06-27 16:27:12 发布以下内容
 

Activity

  四大组件之一。

 

 

  activity的创建要素

  1、创建的类要继承Activity

  2setContentView()引用一个布局文件

  3、在清单文件里面进行配置

      android:name="com.example.ex00_android.MainActivity"(包名+类名)

跳转到新的界面并传递消息:

A --> B

  第一个界面:

    一般是在按钮点击事件里:

       String str = mEditText.getText().toString();

                            //获取一个意图对象

                            Intent intent = new Intent();

                            //设置要开启的activity

                            intent.setClass(MainActivity.this, SecondActivity.class);

                            //设置要传递的消息(消息都是键值对的形式传递的)

                                               key:必须是字符串。

                                               valuse 字符串、基本类型、实现序列化的对象

                            intent.putExtra("text", str);

                            intent.putExtra("boolean", true);

                            intent.putExtra("int", 21);

                            //开启一个新的界面(activity

                            startActivity(intent );

                           

       第二个界面:

         //获取第一个界面传过来的意图对象

         Intent intent = getIntent();

         //通过key把意图对象里面的信息拿出来

              String text = intent.getStringExtra("text");

             

A --> B ---> A

  第一个界面:

     一般是在按钮点击事件里:

        Intent intent = new Intent();

                            intent.setClass(MainActivity.this, SecondActivity.class);

                            intent.putExtra("key", "第一个界面的消息");

                            //开启一个新的界面,并等待返回消息

                            startActivityForResult(intent , 0);

                     请求码:用来区分本界面请求事件   

   第二界面:

       获取第一个界面传递过来的消息(看是否有消息传递)

       //获取第一个界面传递过来的意图对象

       Intent intent = getIntent();

                 String text = intent.getStringExtra("key");

                

                 //返回一个消息给第一个界面(一般在点击事件里面执行)

                 Intent data = new Intent();

                      data.putExtra("key2", "第二个界面返回的消息");

                     //返回一个消息到第一个界面

                      setResult(0, data );

                            //关闭当前界面

                            finish();

                     结果码:用来区分本界面的返回事件      

        第一个界面:

            接收第二个界面返回的消息

            //重写onActivityResult()

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

                    super.onActivityResult(requestCode, resultCode, data);

             

                   String string = data.getStringExtra("key2");

                   mTextView.setText(string);

            }

requestCode 请求码

作用:用于区分不同的请求事件

使用方法:

   1 starteActivityforResult(意图,请求码)

   2、在onActivityResulte()接收 ,判断

  

  

resulteCode  结果码

作用:用于区分不同的返回事件

使用方法:

    1setResult(结果码,意图)

    2、在onActivityResulte()接收 ,判断

   

1Activity的生命周期:

   生命周期:一个对象从创建到销毁中间经历的状态。

  

   通过方法的调用实现activity的状态迁移:

  

   创建--> 运行(可见、可操作) onCreate()      onStart()、       onResume();

   运行--> 销毁    onPause()、    onStop(),      onDestroy();

   运行--> 暂停(可见、不可操作) onPause();

          恢复到运行状态:  onResume();

         

   运行--> 停止(不可见、不可操作)onPause()、onStop()

         恢复到运行状态:onRestart(),onStart()、onResume();

        

   注意:当activity处于暂停或停止状态,更高优先级的应用需要内存的话,

         activity所在的进程就有可能被杀死掉。

        

  内存: RAM

  外存: ROM sdcard

 

  利用生命周期保存状态:

  场景:应用程序被结束之后,

        下次再启动的时候上一次的数据(状态)仍然存在

  方法:数据持久化

 

  Android读取sdcard的方法:

  1sdcard路径:“/mnt/sdcard

  2、权限:使用系统的硬件或服务的时候,就需要申请权限

     读写sdcard的权限:

     方法:

     清单文件--> Permissiones ---> ADD(Uses Permissiones)

     -->

     "android.permission.READ_EXTERNAL_STORAGE"

     "android.permission.WRITE_EXTERNAL_STORAGE"

    

    

  步骤:

  1、添加读写sdcard权限。

  2、在onstop()内把数据保存起来:

     保存到sdcard

  3、在onstart()内读取数据,设置到界面上面

默认分类 | 阅读 1757 次
文章评论,共0条
游客请输入验证码
文章分类
最新评论