2.Android新版开发教程&笔记—Activity间的数据传递

在Android应用程序中,两个Activity间是通过Bundle来进行数据传递的。

1)从源Activity向目标Activity传递数据:

    源Activity传数据(数据写入):   Intent writeIntent=new Intent();

                Bundle bundle=new Bundle();

                bundle.putString("Key_Name","laoban");

                bundle.putString("Key_Age","23");

                writeIntent.putExtras(bundle);

                writeIntent.setClass(Activity.this,Activity2.class);

                startActivity(writeIntent);

    目标Activity镇南关获取数据:  Bundle bundle=this.getIntent().getExtras();

                                            String name=bundle.getString("Key_Name");

2)源Activity转向目标Activity后,源Activity等待目标Activity返回的结果数据:从源请求Activity中通过一个Intent把一个服务请求传到目标Activity中,

                                                                                                    然后在源请求Activity中等待Intent返回应答结果,通过重载

                                                                                                    onActivityResult()方法

   源Activity: Intent intent=new Intent(); 

      intent.setClass(Activity.this,Activity2.class);

        startActivityForResult(intent,REQUEST_ASK)

       @Override

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

          super.onActivityResult(requestCode,resultCode,data);

          if(requestCode==REQEST_ASK){

             if(resultCode==RESULT_OK){

                                      bundle=data.getExtras();

                       }else if(resultCode==RESULT_CANCELED){..}

         }

      }

     目标Activity:intent=new intent();     //目标Activity中发送请求结果代码,连同源Activity请求的数据一同绑定到Bundle中通过Intent

                        bundle=new Bundle();   // 传回源请求Activity中

                        bundle.putString("myName",Name);

                        intent.putExtras(bundle);

                        setResult(RESULT_OK,intent);   finish();

posted on 2012-05-16 15:18  ssy黑桃a  阅读(240)  评论(0编辑  收藏  举报