【android】存储数组数据到SharedPreferences

如果要数组数据(如boolean[] 、int[]等)到SharedPreferences时,我们可以先将数组数据组织成json数据存储到SharedPreferences,读取时则对json数据进行解析就ok了。

例如,我要保存boolean[] 数组数据:

	public static void saveApkEnalbleArray(Context context,boolean[] booleanArray) {
		SharedPreferences prefs = context.getSharedPreferences(APK_ENABLE_ARRAY, Context.MODE_PRIVATE);
		JSONArray jsonArray = new JSONArray();
		for (boolean b : booleanArray) {
			jsonArray.put(b);
		}
		SharedPreferences.Editor editor = prefs.edit();
		editor.putString(APK_ENABLE_ARRAY,jsonArray.toString());
		editor.commit();
	}

读取数据:

	public static boolean[] getApkEnableArray(Context context,int arrayLength)
	{
		SharedPreferences prefs = context.getSharedPreferences(APK_ENABLE_ARRAY, Context.MODE_PRIVATE);
		boolean[] resArray=new boolean[arrayLength];
		Arrays.fill(resArray, true);
		try {
		    JSONArray jsonArray = new JSONArray(prefs.getString(APK_ENABLE_ARRAY, "[]"));
		    for (int i = 0; i < jsonArray.length(); i++) {
		    	resArray[i] = jsonArray.getBoolean(i);
		    }
		} catch (Exception e) {
		    e.printStackTrace();
		}

    	        return resArray;
	}

当保存一些复杂的对象数组时,可以用gson来处理json和object的相互转换。

时间: 2024-10-12 10:35:56

【android】存储数组数据到SharedPreferences的相关文章

Android开发之数据存储的四种方式之SharedPreferences

Android项目开发中使用的数据存储方式有:网络存储.sqlite存储.File存储和SharedPreferences存 储,四种存储方式对应的Demo别人是NetworkDemo.SqliteDemo.FileDemo和SharedPreferencesDemo, 根据应用的场景选择其中一种或多种方式,比如在登录界面验证,需要将用户名和密码通过SharedPreferences方式保存,注册信息的时候需要通 过网络将数据存储到后台数据库中.结合一个登录界面的验证,使用SharedPrefe

Android成长日记-数据存储之SharedPreferences

数据篇-SharedPreferences Android的四种存储方式 1. SharedPreferences 2. SQLite 3. Content Provider 4. File ------------------------------华丽分割线---------------------------- SharedPreference: 1. 是一种轻型的数据存储方式 2. 本质是基于XML文件存储Key-Value键值对数据 3. 通常用来存储一些简单的配置信息 -------

Android数据存储(一)----SharedPreferences详解

一.Android数据的存储方式: Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File:此外还有一种网络存储.由于Android系统中,数据基本都是私有的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider. 在Android中,可以使用几种方式实现数据持久化: Shared Preferences:除SQLite数据库外,另一种常用的数据

Android入门笔记 - 数据存储 - SharedPreferences

接下来四篇我们来介绍Android中用于数据存储的四种方式: SharedPreferences Sqlite Files 网络 今天我们先来看一个最简单的:SharedPreferences. 这种数据存储方式是最简单,最轻便,也最实用的,但是只能用来储存基本数据类型.我们来看看怎么使用: 1. res/ layout/ activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an

Android存储数据方式(转)

转自http://www.cnblogs.com/hanyonglu/archive/2012/03/01/2374894.html   本文介绍Android中的5种数据存储方式. 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 下面将为大家一一详细介绍. 第一种: 使用Sha

android五种数据存储方式

在Android中提供了如下五种数据存储方式: SharedPreferences 文件存储 SQLite数据库方式 内容提供器(ContentProvider) 网络存储 下面具体介绍一下这五种数据存储方式的用法. 1. SharedPreferences SharedPreferences是android平台上的一个轻量级存储类,主要保存一些常用的配置信息.可以保存long.int.String类型数据. SharedPreferences以键值对方式读取和存入,最终会以XML方式保存数据,

Android Learning:数据存储方案归纳与总结

前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几环分别写一篇博客,记得我的学习心得,也希望跟各位新手同学相互努力促进.今天这篇博客,我想介绍一下数据的存储,因为数据的接收,存储,处理以及显示这几环环环相扣,而数据的存储直接关系到数据的处理和显示,所以显得尤为重要. 所以本文针对数据存储的常见方案和其使用进行了归纳.分为程序内存储和程序间数据访问,程序内存储

wemall app商城源码Android数据的SharedPreferences储存方式

wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android数据的SharedPreferences储存方式,供技术员参考学习.        SharedPreferences:除了SQLite数据库外,SharedPreferences也是一种轻型的数据储存方式,它的本质是基于XML文件存储key-value键值对数据,通常用来储存一些简单的配置信息.Sha

Android下的数据存储与訪问 --- 以文件的形式

Android下的数据存储与訪问 --- 以文件的形式 1.1 储存文件存放在手机内存中: // *** 储存数据到 /data/data/包名/files/jxn.txt文件里 String data = "test"; // /data/data/包名/files File filesDir = context.getFilesDir(); File file = new File(filesDir, "jxn.txt"); FileOutputStream f