Android中实现多个Activity共享数据
来源:互联网 发布:legoev3编程软件 编辑:程序博客网 时间:2024/05/21 20:08
在模仿微信界面的过程中,我发现了了一个比较困难的部分,就是关于多个Activity的数据共享这个问题,在多方寻找后,我发现了一条可行之路。通过自定义一个继承与Application的Data(自定义的类名)来实现这个功能。
在使用的时候一定要注意以下几点。
1、一定要在AndroidMainfest.xml中声明,定义。
如:<application
android:name="类名"
.........................>
代码如下:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.app_weixin"> <application android:name=".Data_app" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" android:uiOptions="splitActionBarWhenNarrow"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SearchActivity" android:theme="@style/Theme.AppCompat.NoActionBar" /> <activity android:name=".ChatActivity" android:windowSoftInputMode="stateHidden" android:theme="@style/Theme.AppCompat.NoActionBar" /> <activity android:name=".Activity_addfriend" android:theme="@style/Theme.AppCompat.NoActionBar" /> <activity android:name=".Activity_qunliao" android:theme="@style/Theme.AppCompat.NoActionBar" /> <activity android:name=".Activity_label" android:theme="@style/Theme.AppCompat.NoActionBar" /> <activity android:name=".Activity_public" android:theme="@style/Theme.AppCompat.NoActionBar" /> <activity android:name=".Activity_contact" android:theme="@style/Theme.AppCompat.NoActionBar" /> <activity android:name=".Activity_profile_account" android:theme="@style/Theme.AppCompat.NoActionBar" ></activity> </application></manifest>
2、一定要继承于(extends)Application
我的代码如下:
package com.example.app_weixin;import android.app.Application;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * Created by 尽途 on 2017/3/27. */public class Data_app extends Application { private List<Map<String,Object>>data_wechat; private List<Map<String,Object>>data_contact; private List<String>data_user_message=new ArrayList<String>(); @Override public void onCreate() { super.onCreate(); } public List<Map<String,Object>>getData_wechat(){ List<Map<String,Object>>list=new ArrayList<>(); Map<String,Object>map=new HashMap<>(); map.put("username","奉旨编程"); map.put("message","你好"); map.put("date","9:00"); map.put("userimage",R.drawable.v2); list.add(map); map=new HashMap<>(); map.put("username","尽途"); map.put("message","大傻x"); map.put("date","11:00"); map.put("userimage",R.drawable.icon_de_shop); list.add(map); data_wechat=list; return list; } public List<Map<String,Object>>getData_contact(){ List<Map<String,Object>>list=new ArrayList<>(); Map<String,Object>map=new HashMap<>(); map.put("username","新的朋友"); map.put("userimage",R.drawable.icon_addfriend); list.add(map); map=new HashMap<>(); map.put("username","群聊"); map.put("userimage",R.drawable.icon_qunliao); list.add(map); map=new HashMap<>(); map.put("username","标签"); map.put("userimage",R.drawable.icon_label); list.add(map); map=new HashMap<>(); map.put("username","公众号"); map.put("userimage",R.drawable.icon_public); list.add(map); map=new HashMap<>(); map.put("username","尽途"); map.put("userimage",R.drawable.icon_de_shop); list.add(map); map=new HashMap<>(); map.put("username","奉旨编程"); map.put("userimage",R.drawable.v2); list.add(map); return list; } public void writeDataUserMessage(String usermessage){ data_user_message.add(usermessage); } public List<String>readDataUserMessage(){ return data_user_message; } public int readDataUserMessageSize(){ return data_user_message.size(); }}
3、使用时注意,代码如下:
void initData(){ Data_app data_app=(Data_app)getActivity().getApplication(); contactAdapter contactadapter=new contactAdapter(getActivity(),data_app.getData_contact()); contact_listview.setAdapter(contactadapter); }
0 0
- Android中实现多个Activity共享数据
- Android在多个Activity共享数据
- android中全局变量的表示 多个activity的数据共享
- Android Service和activity实现数据共享
- 多个activity之间的数据共享
- 多个Activity之间共享数据
- andriod 多个Activity之间共享数据
- android中不同activity之间共享数据
- android中不同activity之间共享数据
- Android通过共享用户ID来实现多个Activity进程共享
- [转]Android通过共享用户ID来实现多个Activity进程共享
- Android通过共享用户ID实现多个Activity进程共享(SharedUserID)
- Android通过共享用户ID来实现多个Activity进程共享
- Android通过共享用户ID来实现多个Activity进程共享
- Android通过共享用户ID来实现多个Activity进程共享
- Android通过共享用户ID(shareUserId)来实现多个Activity进程共享
- Android 多个Activity间对象共享
- 如何android多Activity间共享数据
- windows内存管理的机制以及优缺点
- 第九周 算法Integer Break
- java面试题-javaSe基础
- 17浙江省赛 数位dp or xjb乱搞
- 内联函数
- Android中实现多个Activity共享数据
- 用OpenJTAG烧写程序到Flash—— 韦东山嵌入式Linux视频学习笔记03
- 案例—商品展示
- 创建进程的两种方式
- 常用dos命令详解
- C++调用C#生成的dll
- LCD设备驱动(三)
- 关于tomcat+nginx的一道面试题
- UVA 11768