activity传递数据的方法
2015-12-17 22:19
489 查看
1.Intent对象
传输数据仅限简单数据和实现序列话的对象。
2.静态变量
将需要共享的对象或者数据声明为静态,可以传递任何类型的数据
3.剪切板
可以利用Android自带的剪切板功能传送数据
传递数据
Intent intent=new Intent(this,MainActivity.class);
ClipboardManager cliper=(ClipboardManager)getSystemServer
(Context.CLIPBOARD_SERVER);
cliper.setText("message");
startActivity(intent);
接收数据
ClipboardManager cliper=(ClipboardManager)getSystemServer
(Context.CLIPBOARD_SERVER);
String str=cliper.getText().toString();
4.全局对象
为每个应用程序定义一个全局的对象,该对象创建由系统负责,使用全局对象需要继承
android.app.Application类,可以在该类中定义任何方法。
package com.example.transmitdata;
import android.app.Application;
public class mAPP extends Application(){
public String str;
public Data data;
}
然后需要在AndroidManifest.xml文件中定义该类
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android ="http://schemas.andoid.com/apk/res/android"
package="com.example.transmitdata"
<application android:name=".mAPP "
......
/>
/>
可以在程序任意位置获取mAPP对象。
mAPP mapp=(mAPP)getApplicationContext();
面试官问:activity之间传递一个大的图片怎么传:
只能是用文件把图片存储,再在另一个activity中在获取;
5 基于Ipc的通信机制
context与service之间的传输,如Activity与Service之间的通信
6.基于外部存储的传输 ,File/Preference/Sqlite,如果要针对第三方应用需要Contentprovider
传输数据仅限简单数据和实现序列话的对象。
2.静态变量
将需要共享的对象或者数据声明为静态,可以传递任何类型的数据
3.剪切板
可以利用Android自带的剪切板功能传送数据
传递数据
Intent intent=new Intent(this,MainActivity.class);
ClipboardManager cliper=(ClipboardManager)getSystemServer
(Context.CLIPBOARD_SERVER);
cliper.setText("message");
startActivity(intent);
接收数据
ClipboardManager cliper=(ClipboardManager)getSystemServer
(Context.CLIPBOARD_SERVER);
String str=cliper.getText().toString();
4.全局对象
为每个应用程序定义一个全局的对象,该对象创建由系统负责,使用全局对象需要继承
android.app.Application类,可以在该类中定义任何方法。
package com.example.transmitdata;
import android.app.Application;
public class mAPP extends Application(){
public String str;
public Data data;
}
然后需要在AndroidManifest.xml文件中定义该类
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android ="http://schemas.andoid.com/apk/res/android"
package="com.example.transmitdata"
<application android:name=".mAPP "
......
/>
/>
可以在程序任意位置获取mAPP对象。
mAPP mapp=(mAPP)getApplicationContext();
面试官问:activity之间传递一个大的图片怎么传:
只能是用文件把图片存储,再在另一个activity中在获取;
5 基于Ipc的通信机制
context与service之间的传输,如Activity与Service之间的通信
6.基于外部存储的传输 ,File/Preference/Sqlite,如果要针对第三方应用需要Contentprovider
相关文章推荐
- 报错: Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的权利字符串"
- 心上莲花次第开系列:爱情与婚姻
- about java
- [转载]SharePoint 2013 解决方案中使用JavaScript
- leveldb源码笔记
- pkusc2015
- B-树的基本操作
- Linux下VMware虚拟机网卡不能运行在混杂模式解决办法
- 卸载3dMax2012流程
- 心上莲花次第开系列:家世渊源
- P05 (*) 反向列表中元素
- P05 (*) 反向列表中元素
- Python 2.7 学习笔记
- poj2031
- 汉诺塔 hanoi 递归
- Linux简单命令之三
- .NET CurrentCulture 区域设置代码列表
- Spring自定义属性编辑器
- Freescale IMX6 Android (7): Android启动动画死循环 Home界面不出来与pid XXX exit 可能的原因汇总
- java代码统计工具