Chinaunix首页 | 论坛 | 博客
  • 博客访问: 269030
  • 博文数量: 138
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 971
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-03 10:05
文章分类

全部博文(138)

文章存档

2016年(1)

2015年(137)

我的朋友

分类: Android平台

2015-05-07 19:24:43

1.基于消息的通信机制  Intent ---boudle ,extra

    数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不太好用。

2. 利用static静态数据, public static成员变量;

3.基于外部存储的传输,  File/Preference/ Sqlite ,如果要针对第三方应用需要Content Provider 

4.基于IPC的通信机制

    context 与Service之间的传输,如Activity与Service之间的通信,定义AIDL接口文件。

   示例: 

5. 基于Application Context



具体的
1、通过intent的extra属性携带数据:
   发送数据: intent.putExtra(String name.string value);//还有其他重载类型 具体的参见API文档
这里 如果是获取edittext内容 则value是 editText.getText().toString()
   读取数据:在需要数据的activity中 定义新的intent ,intent.getStringExtra(key1);//注意 这里的key1要在新的activity中重新定义。

  另外:也可以通过bundle
             新建intent;新建bundle;对bundle用 bundle.putString(string name.string value);将bundle传入intent  intent.putExtra(bundle);
             获取  intent = getIntent();  Bundle =intent.getExtra();;string s=bundle.getString(name);

5、通过application context
利用整个应用程序各个Activity都能访问到的类application共享数据,主要方法是把想共享的数据放到application的子类中,然后在其他activity访问共享的数据;
主要方法:
(1)把想要共享的数据放在一个Application的子类中;
(2)必须在Manifest.xml文件中的application中加一个name属性,值为该子类包名+文件名;
(3)在需要添加数据或取出数据的Activity使用getApplication()获得对象后再操作。

其他的 见 http://www.cnblogs.com/playing/archive/2011/03/10/1980053.html


阅读(904) | 评论(0) | 转发(0) |
0

上一篇:malloc机制

下一篇:android 中sqlite的使用

给主人留下些什么吧!~~