• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 在不同Activity之间传递数据的四种常用方法,activity四种

在不同Activity之间传递数据的四种常用方法,activity四种

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了activity之间传递数据,activity传递数据,activity中的数据传递,activity传递数据list,两个activity传递数据等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在不同Activity之间传递数据的四种常用方法,activity四种


在Android中传递数据的方法非常多,本次介绍4中比较常用的数据传递方法:

1.通过Intent传递数据

2.通过静态变量(static)传递数据

3.通过剪贴板(Clipboard)传递数据

4.通过全局对象传递数据

在TransmitDataActivity.java中

package mobile.android.transmit.data;
public class TransmitDataActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button button1=(Button)findViewById(R.id.button1);
        Button button2=(Button)findViewById(R.id.button2);
        Button button3=(Button)findViewById(R.id.button3);
        Button button4=(Button)findViewById(R.id.button4);
        button1.setOnClickListener(new ButtonListenner());
        button2.setOnClickListener(new ButtonListenner());
        button3.setOnClickListener(new ButtonListenner());
        button4.setOnClickListener(new ButtonListenner());
    }
    class ButtonListenner implements OnClickListener{
        @SuppressLint("NewApi")
        @Override
        public void onClick(View view) {
            Intent intent=null;
            switch (view.getId()) {
                case R.id.button1:
                    intent=new Intent(TransmitDataActivity.this,MyActivity1.class);
                    //保存String类型的值
                    intent.putExtra("intent_string", "通过Intent传递的字符串");
                    //保存integer类型的值
                    intent.putExtra("intent_integer", 300);
                    Data data=new Data();
                    data.id=1000;
                    data.name="Android";
                    //保存可序列化的对象
                    intent.putExtra("intent_object", data);
                    //显示用于接收数据的Activity
                    startActivity(intent);
                    break;
                case R.id.button2:
                    intent=new Intent();
                    intent.setClass(TransmitDataActivity.this, MyActivity2.class);
                    //下面的代码为MyActivity2中放入三个静态变量赋值
                    MyActivity2.id=3000;
                    MyActivity2.name="保时捷";
                    MyActivity2.data=new Data();
                    MyActivity2.data.id=5555;
                    MyActivity2.name="Android";
                    startActivity(intent);
                    break;
                case R.id.button3:
                    intent=new Intent(TransmitDataActivity.this,MyActivity3.class);
                    //获取剪贴板对象(ClipboardManager)
                    ClipboardManager clipboard=(ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                    //创建Data对象
                    Data clipboardData=new Data();
                    //设置Data对象中字段的值
                    clipboardData.id=6666;
                    clipboardData.name="通过Clipboard传递的数据";
                    //创建字节数组输出流对象,用于将Data对象转换为字节流
                    ByteArrayOutputStream baos=new ByteArrayOutputStream();
                    //用于保存Data对象生成Base64格式的字符串
                    String base64Str="";
                    try {
                        ObjectOutputStream oos=new ObjectOutputStream(baos);
                        //将Data对象写入对象输出流
                        oos.writeObject(clipboardData);
                        //将字节流进行Base64编码
                        base64Str=Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT);
   &nb

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 不带数据和返回的Activity跳转,返回activity跳转
  • Activity---Activity之间数据交流,activity之间传递数据
  • 在不同Activity之间传递数据的四种常用方法,activity四种

相关文章

  • 2017-05-26android中使用图文并茂的按钮,android图文并茂
  • 2017-05-228.1.3 Android中的13种Drawable小结 Part 3
  • 2017-05-26Android开发技巧——大图裁剪
  • 2017-05-26lesson15-QT多线程
  • 2017-05-26JSON解析,json在线解析
  • 2017-05-26Android的Kotlin秘方(I):OnGlobalLayoutListener,
  • 2017-05-2612306火车票订票项目源码,12306火车票订票
  • 2017-05-26Android 实现闪屏页和右上角的倒计时跳转,android跳转
  • 2017-05-26Android-通过Java代码来实现属性动画
  • 2017-05-26Android热补丁动态修复技术(三)—— 使用Javassist注入字节码,完成热补丁框架雏形(可使用)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • android 杀进程场景
    • 1.7 界面原型设计
    • Android IPC机制(五)用Socket实现跨进程聊天程序
    • Android内存泄漏排查利器LeakCanary,androidleakcanary
    • Android HandlerThread 消息循环机制之源码解析
    • 酷欧天气(CoolWeather)应用源码,coolweather
    • 集成websocket即时通讯 java聊天源码 代码下载 java后台框架源码 websocket源码 IM,websocket即时通讯
    • selenium中webdriver的局部HTML提取
    • Android中如何修改编译的资源ID值(默认值是0x7F...可以随意改成0x02~0x7E)
    • 首页3--界面上拉下拉的回弹效果,3--拉下

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有