activity通过onActivityResult间数据交互

首先要创建2个activity 分别为MainActivity和OneActiivity

MainActivity代码如下:

package com.tp.soft.app;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener{

    private Button mTzBtn;
    private TextView mShow;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mTzBtn = (Button) findViewById(R.id.tzBtn);
        mTzBtn.setOnClickListener(this);

        mShow = (TextView) findViewById(R.id.showMsg);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(requestCode == 1){
            String msg = data.getStringExtra("FromOneActivity");
            mShow.setText(msg);
        }
    }

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(MainActivity.this, OneActivity.class);
        String content = "Hello,OneActivity";
        intent.putExtra("FromMainActivity", content);
        startActivityForResult(intent, 1);
    }

}

其中调用

startActivityForResult(intent, 1);中的1就是
onActivityResult返回的requestCode。

OneActivity代码如下:
package com.tp.soft.app;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class OneActivity extends Activity implements OnClickListener {

    private Button mbackBtn;
    private TextView mShow;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_one);

        mbackBtn = (Button) findViewById(R.id.backBtn);
        mbackBtn.setOnClickListener(this);

        mShow = (TextView) findViewById(R.id.showTxt);
        Intent intent = getIntent();
        String show = intent.getStringExtra("FromMainActivity");
        mShow.setText(show);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.one, menu);
        return true;
    }

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(OneActivity.this, MainActivity.class);
        intent.putExtra("FromOneActivity", "Hello,MainActivity");
        setResult(RESULT_OK, intent);
        finish();
    }

}
时间: 2024-10-16 05:20:39

activity通过onActivityResult间数据交互的相关文章

系统间数据交互的方案探讨

===================================== 互联网时代, 1等公民是建立规范和协议的人 2等公民是提供服务的人 3等公民是开发软件的人 4等公民是卖硬件的人 ===================================== 信息系统的普及应用导致原有系统间的信息孤岛需要通过系统间接口进行数据交互,信息交互的接口常见有以下几种: (1)数据库交互:服务方提供表或存储过程,由调用方控制commit或rollback. (2)文件交互:双方对请求文件各应答文件

系统间数据交互注意项

先了解点问题:◎ 是否担心数据丢失,比如丢失率 1%?◎ 系统时效性要求是否很高,比如是:实时.秒级.分钟级还是小时级?◎ 系统间网络环境是否OK,比如是:互联网.同机房.同城专线?◎ 系统间有无安全通讯信道等问题需要保障? 给点初步建议:◎ 不暴露数据库,否则:人家统计你等待.人家锁表你死机.人家改数你纠错:◎ 约松耦合越好,能批处理就不要实时处理,能用数据交换就不用接口调用,能用异步接口就不用同步接口:◎ 是不是WebService随意,不过现在有不少轻量级方案,主要还是看安全性和性能要求了

Activity与Service进行数据交互

Android启动Service有两种方法,一种是startService,一种是bindService.生命周期如下: 执行startService时,调用者如果没有stopService,Service会一直在后台运行.多次调用startService,该Service只能被创建一次,即该Service的onCreate方法只会被调用一次.但是每次调用startService,onStartCommand方法都会被调用. 执行bindService时,调用者调用unbindService方法

Fragment案例之:Fragment与其他组件间数据交互

需求:实现如图效果,当我点击左边item,并将对应内容显示到右边Fragment上,比如我点击了北京,那么就将对应的"北京"二字显示在右边Fragment上. 主要代码如下,需要特别注意的地方都会有特殊标示. activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.an

功能间(两个form)数据交互的编程方法

功能间数据交互的编程方法 现在框架具有在两个打开的功能之间进行通讯的机制.通讯是指,一个功能调用另外一个功能的方法,或者传递一些数据,并得到返回结果.比如处置单打开结算单,结算单保存后,将结算单号反填到处置单上去.该机制通过委托实现两个功能之间方法的调用来通讯,支持同步和异步两种方式.框架隐藏了委托以及委托异步调用实现的复杂度. 一.实现机制示意图 两种调用方式:同步和异步.以下是两种调用的示意图.A为调用方,B为被调用方.也就是A功能调用B功能. 1,异步调用 2,  同步调用 二.编程 1,

基于Xen实现一种domain0和domainU的应用层数据交互高效机制 - 2

继续昨天的思路,今天先google了类似的实现domain0和domainU之间数据传输的方案 [Xen-devel] XenStore as a data transfer path?  这篇帖子讨论了xenstore作为domain0和domainU传递自定义数据的可行性,在Xen架构里,xenstore用于domain0和多个domainU之间传递控制数据,根据Xenstore的文档,不适合用于传输过大的数据,它的设计目标是对domain0的应用层有非常好的可视性和可操作性(tdb格式数据

android实现两个activity数据交互

android如何实现两个Activity数据交互?主要是根据Intent的携带功能,intent可以携带很多信息,比如Bundle,URI甚至对象(此时要序列化,并且对象里面的成员变量如果是对象,也要序列化),实现的具体代码如下: package com.example.yzj.android_8_3; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatAc

linux 共享内存shm_open实现进程间大数据交互

linux 共享内存shm_open实现进程间大数据交互 read.c #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <sys/mman.h> #include <string.h> #include <errno.h> #include <unistd.h> /* int

Android进阶之Fragment与Activity之间的数据交互

1 为什么 因为Fragment和Activity一样是具有生命周期,不是一般的bean通过构造函数传值,会造成异常. 2 Activity把值传递给Fragment 2.1 第一种方式,也是最常用的方式,就是使用Bundle来传递参数 (1)宿主Activity/FragmentAdapter中: Bundle bundle = new Bundle(); bundle.putString(Constant.INTENT_ID, productId); Fragment fragment =