startActivityForResult的用法和demo

有时候我们需要把A activity提交数据给B  activity处理,然后把结果返回给A

这种方式在很多种情况需要用到,比如我应用的程序需要有拍照上传的功能。

一种解决方案是  我的应用程序 〉调用系统相机〉拍照〉关闭系统相机〉返回拍照后的照片到我的应用程序

启动一个ForResult的意图:

Intent intent = new Intent(MainAcitvity.this,
      RequestActivity.class);
    //发送意图标示为REQUSET=1
    startActivityForResult(intent, REQUSET);

B Activity处理数据:

Intent intent=new Intent();
    intent.putExtra(KEY_USER_ID, et01.getText().toString());
    intent.putExtra(KEY_USER_PASSWORD, et02.getText().toString());
setResult(RESULT_OK, intent);
 finish();

那么startActivityForResult如何使用呢:

package com.cn.activityresult.demo;  

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

public class MainAcitvity extends Activity {  

    private Button btn01;
    private TextView tv01;
    public static final int REQUSET = 1;  

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        //requestCode标示请求的标示   resultCode表示有数据
        if (requestCode == MainAcitvity.REQUSET && resultCode == RESULT_OK) {
            String str = "账号"
                    + data.getStringExtra(RequestActivity.KEY_USER_ID) + "\n"
                    + "密码"
                    + data.getStringExtra(RequestActivity.KEY_USER_PASSWORD);
            tv01.setText(str);
        }
        Toast.makeText(
                this,
                "requestCode=" + requestCode + ":" + "resultCode=" + resultCode,
                Toast.LENGTH_LONG).show();
    }  

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn01 = (Button) findViewById(R.id.btn01);
        tv01 = (TextView) findViewById(R.id.tv01);
        btn01.setOnClickListener(new OnClickListener() {  

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(MainAcitvity.this,
                        RequestActivity.class);
                //发送意图标示为REQUSET=1
                startActivityForResult(intent, REQUSET);
            }
        });  

    }
}  
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;  

public class RequestActivity extends Activity {  

    private Button btn01;
    private EditText et01;
    private EditText et02;
    public static final String KEY_USER_ID="KEY_USER_ID";
    public static final String KEY_USER_PASSWORD="KEY_USER_PASSWORD";  

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.request_activity);
        btn01=(Button)findViewById(R.id.btn01);
        et01=(EditText)findViewById(R.id.et01);
        et02=(EditText)findViewById(R.id.et02);  

        btn01.setOnClickListener(new OnClickListener() {  

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent intent=new Intent();
                intent.putExtra(KEY_USER_ID, et01.getText().toString());
                intent.putExtra(KEY_USER_PASSWORD, et02.getText().toString());
                setResult(RESULT_OK, intent);
                finish();
            }
        });
    }
}
 

startActivityForResult的用法和demo,布布扣,bubuko.com

时间: 2024-10-15 22:09:14

startActivityForResult的用法和demo的相关文章

Android下高斯模糊的算法和demo

采用纯java和RenderScript两种方式来做高斯算法. 也可以用NDK来做,想试试的可以参考: http://stackoverflow.com/questions/2067955/fast-bitmap-blur-for-android-sdk/23119957#23119957                            纯java的代码有点长,可直接参考源代码 放上RenderScript的核心算法 : /** * 第二种方法的延伸 * * @param bm * @pa

2016的道路:一年之计在于春

今天第一天开工,leader开了个小会聊了下大家近期的技能提升计划,会议记录 要走coder这条路的话,一个是基础知识比如java基础.设计模式等.另一个是快速应用sdk的本领.将快速出现的比如支付sdk,地图sdk,融云的IM……导入自己设计的结构中. 很多市场是难以进入的,比如支付需要政策上的支付牌照,很多这些事情改变不了就不要瞎操心了. 很多新兴技术也不一定就是适合的,比如H5,没有一定的js基础学习曲线是很陡峭的.比如swift之与OC,很多新技术是和旧知识相通的,如果没有响应的语言基础

程序员必读的六本书

作为一名程序员,日常的工作除了上班撸代码就是加班撸代码了.撸码其实不难,无非询问Google,StackOverflow,解决方法和demo一箩筐,可是撸的一手好代码着实不易.无独有偶,码农一抓一大把,优秀的程序员却不易寻觅.优秀的程序员既不可能出自各种天花乱坠的培训机构,更不可能来自挖掘机摇篮山东布鲁斯特,大多数优秀的程序员有一个共同点,那就是自学. 为什么是自学呢?首先大学的教育不可能让你成为专家级别的程序员,其次为了能从团队脱颖而出必然付出更多的努力来学习.自学其实是一种很强有力的能力,一

LSD算法

LSD算法是一个直线提取算法,在opencv 中也有封装,它的主要思想是通过求导得到灰度的梯度,因为灰度梯度的方向的垂直方向就是线条的方向,将有相同方向的向量用矩形圈起来,再将举行精细化,最后就可以得到的一条线段了. 关于它的文章和算法和demo基本上可以在这里找到. 这篇文章里引入了很多名词,切听我一一道来.首先,我们看下图,这里的图片首先根据梯度的垂线构造了一个level-line field,它把和梯度的垂直方向的线叫做level-line,所以这个field就是由这样的线组成的场.有了这

[原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)

前言 由于一个同学问到我如何按照一个流程走好之后回到首页,我以前看到过4个解决方案,后来发现有做个记录和总结的必要,就写了这篇博文.(之前看小强也写过一篇,这里通过自身的分析完整的总结一下以下6种方案,并加上一个DEMO便于大家了解大体流程) 在android的用户交互中,按钮触发的意图(Intent)跳转会为你重新打开新的一个界面活动(Activity),对于之前的界面根据需求进行摧毁(Finish())或则保留. 如果一个交互流程中,是从A开始,按照A - B - C - D - A这样的顺

Android NDK开发之从环境搭建到Demo级十步流

写在正文之前: 几个月没有更新博客,感觉有点生疏了,所以说不能断,一断人就懒. 其实这几个月也并不是什么事也没有做,俺可是时刻想着今年的任务呢,10本书,30篇博文-,这几个月间断性的也是在学习中,学H5,学设计模式,以及NDK JNI开发等等. 学习JNI主要是因为公司有一些COCOS游戏需要添加计费点,而又没有真正的游戏开发人员,这个重任就落到我身上了,然后就是各种虐,一虐到底,苦不堪言,这种虐并不是学习技术的虐,而是一款游戏用于N种计费点,不停的改改改,那个需求这个需要的,然后你就等着被玩

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

一个简单的servlet的demo

javaweb  的应用我们需要参考javaee  api 查找servlet接口 javax.servletInterface Servlet All Known Subinterfaces: HttpJspPage, JspPage All Known Implementing Classes: FacesServlet, GenericServlet, HttpServlet public interface Servlet Implemented by: FacesServlet, Ge