使用Intent进行数据的传输(可以是两个App间)
2015-09-30 16:15
656 查看
一: 使用Intent进行Activity之间进行传输数据
1: 使用Intent进行Activity之间进行传输整形数据
代码: 其中一个activity:
另一个Activity:
2: 使用Intent进行Activity之间进行传输对象和数组,集合等数据
进行传输的数据只要是可进行序列化的对象,就可以进行下面方法的传输
代码: 其中一个activity:
另一个Activity:
进行传输的数据只要是可继承Parcelable类的对象,就可以进行下面方法的传输
代码: 其中一个activity:
另一个Activity:
二: 使用Intent进行两个App之间进行传输数据
: 使用Intent进行两个App之间进行传输数据
2: 使用Intent进行两个App之间进行传输对象和数组,集合等数据
//跟上面的方法相同
1: 使用Intent进行Activity之间进行传输整形数据
代码: 其中一个activity:
Intent intent = new Intent(); //第一参数取的是这个应用程序的Context,生命周期是整个应用 //第二个参数是要跳转的页面的全路径 intent.setClassName( getApplicationContext(), "com.example.testofdialog.ReceiveActivity" ); //Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值 Bundle b = new Bundle(); b.putString("我是key", "这里就是你要传递的内容了"); //此处使用putExtras,接受方就响应的使用getExtra intent.putExtras( b ); startActivity(intent);
另一个Activity:
//最后的参数一定要和发送方的相同,否则得到空值 String rString = getIntent().getExtras().getString("我是key");
2: 使用Intent进行Activity之间进行传输对象和数组,集合等数据
进行传输的数据只要是可进行序列化的对象,就可以进行下面方法的传输
代码: 其中一个activity:
Intent intent = new Intent(); List<String> dataList = new ArrayList<>(selectSet); intent.putExtra(NotifyUtil.PARAM_2, (Serializable) dataList); startActivity(intent);
另一个Activity:
tempDataList = (List<String>) intent.getSerializableExtra(NotifyUtil.PARAM_2);
进行传输的数据只要是可继承Parcelable类的对象,就可以进行下面方法的传输
代码: 其中一个activity:
Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putString("action", businessShare.getAction()); bundle.putBoolean("share", true); bundle.putParcelable("icon", bitmap); intent.putExtra("bundle", bundle); chatActivity.startActivity(intent);
另一个Activity:
Intent mIntent = this.getIntent(); Bundle bundle = mIntent.getBundleExtra("bundle"); String action = bundle.getString("action"); String params1 = bundle.getString("params1"); Bitmap bit = bundle.getParcelable("icon");
二: 使用Intent进行两个App之间进行传输数据
: 使用Intent进行两个App之间进行传输数据
代码: 其中App中的一个activity:
ComponentName componentName = new ComponentName( "cn.example.main", //要去启动的App的包名 "cn.example.main.SelectActivity"); //要去启动的App中的Activity的类名 // ComponentName : 参数说明 //组件名称,第一个参数是包名,也是主配置文件Manifest里设置好的包名 //第二个是类名,要带上包名 Intent intent = new Intent(); Bundle bundle = new Bundle(); intent.setComponent(componentName); bundle.putString("params3", businessShare.getParams3()); bundle.putString("params4", summary); bundle.putParcelable("icon", bitmap); intent.putExtra("bundle", bundle); chatActivity.startActivity(intent);
另一个App中的Activity:
在对应的Activity的文件清单中设置这个属性,才能进行数据的接收 android:exported="true"
//接收的方法 Intent mIntent = this.getIntent(); Bundle bundle = mIntent.getBundleExtra("bundle"); String action = bundle.getString("action"); String params1 = bundle.getString("params1"); Bitmap bit = bundle.getParcelable("icon");
2: 使用Intent进行两个App之间进行传输对象和数组,集合等数据
//跟上面的方法相同
相关文章推荐
- android 代码实现控件之间的间距
- [Android]在代码里运行另一个程序的方法
- 个人信息安全报告发布:有 APP 每分钟调用位置权限 1468 次
- 下载量超过一亿的流行应用被发现含有恶意模块
- 肯特·贝克:改变人生的代码整理魔法
- 苹果与Siri的七年之痒:“宫斗”戏码不断上演
- 网页恶意代码的预防
- 高手写的Tracer-Flash代码调试类代码下载
- CSS代码缩写技巧
- 非主流Q-zOne代码代码搜集第1/2页
- CreateWeb.vbs 代码
- Lua中编译执行代码相关的函数详解
- 更有效率的css代码编写第1/3页
- 代码中到底应不应当写注释?
- SQL语言查询基础:连接查询 联合查询 代码
- 论坛头像随机变换代码
- .NET 常用功能和代码小结
- C#实现压缩HTML代码的方法
- asp编程中常用的javascript辅助代码第1/2页
- C#超实用代码段合集