如何用android sharedpreferences鍸ist集合

作者&投稿:应饰 (若有异议请与网页底部的电邮联系)
如何用android sharedpreferences鍸ist集合~

  在Android开发过程中有时需要用到一些简单的数据保存。
  在系统自带的sharedpreferences中提供了一些列的数据类型,但有时候需要保存一个List集合,系统则没有现成的方法:
  以保存场景为例:
  public static String SceneList2String(List SceneList)
  throws IOException {
  // 实例化一个ByteArrayOutputStream对象,用来装载压缩后的字节文件。
  ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
  // 然后将得到的字符数据装载到ObjectOutputStream
  ObjectOutputStream objectOutputStream = new ObjectOutputStream(
  byteArrayOutputStream);
  // writeObject 方法负责写入特定类的对象的状态,以便相应的 readObject 方法可以还原它
  objectOutputStream.writeObject(SceneList);
  // 最后,用Base64.encode将字节文件转换成Base64编码保存在String中
  String SceneListString = new String(Base64.encode(
  byteArrayOutputStream.toByteArray(), Base64.DEFAULT));
  // 关闭objectOutputStream
  objectOutputStream.close();
  return SceneListString;
  }
  
  @SuppressWarnings("unchecked")
  public static List String2SceneList(String SceneListString)
  throws StreamCorruptedException, IOException,
  ClassNotFoundException {
  byte[] mobileBytes = Base64.decode(SceneListString.getBytes(),
  Base64.DEFAULT);
  ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
  mobileBytes);
  ObjectInputStream objectInputStream = new ObjectInputStream(
  byteArrayInputStream);
  List SceneList = (List) objectInputStream
  .readObject();
  objectInputStream.close();
  return SceneList;
  }
  
  最后通过
  SharedPreferences mySharedPreferences= getSharedPreferences("scenelist", Context.MODE_PRIVATE);
  Editor edit = mySharedPreferences.edit();
  try {
  String liststr = Utils.SceneList2String(MyApp.scenesList);
  edit.putString(Constants.SCENE_LIST,liststr);
  edit.commit();
  } catch (IOException e) {
  e.printStackTrace();
  }
  
  SharedPreferences sharedPreferences= getActivity().getSharedPreference ("scenelist", Context.MODE_PRIVATE);
  String liststr = sharedPreferences.getString(Constants.SCENE_LIST, "");
  try {
  showSceneList = Utils.String2SceneList(liststr);
  } catch (StreamCorruptedException e) {
  e.printStackTrace();
  } catch (IOException e) {
  e.printStackTrace();
  } catch (ClassNotFoundException e) {
  e.printStackTrace();
  }
  进行保存获取。

  以保存场景为例:
  public static String SceneList2String(List SceneList)
  throws IOException {
  // 实例化一个ByteArrayOutputStream对象,用来装载压缩后的字节文件。
  ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
  // 然后将得到的字符数据装载到ObjectOutputStream
  ObjectOutputStream objectOutputStream = new ObjectOutputStream(
  byteArrayOutputStream);
  // writeObject 方法负责写入特定类的对象的状态,以便相应的 readObject 方法可以还原它
  objectOutputStream.writeObject(SceneList);
  // 最后,用Base64.encode将字节文件转换成Base64编码保存在String中
  String SceneListString = new String(Base64.encode(
  byteArrayOutputStream.toByteArray(), Base64.DEFAULT));
  // 关闭objectOutputStream
  objectOutputStream.close();
  return SceneListString;
  }
  
  @SuppressWarnings("unchecked")
  public static List String2SceneList(String SceneListString)
  throws StreamCorruptedException, IOException,
  ClassNotFoundException {
  byte[] mobileBytes = Base64.decode(SceneListString.getBytes(),
  Base64.DEFAULT);
  ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
  mobileBytes);
  ObjectInputStream objectInputStream = new ObjectInputStream(
  byteArrayInputStream);
  List SceneList = (List) objectInputStream
  .readObject();
  objectInputStream.close();
  return SceneList;
  }
  
  最后通过
  SharedPreferences mySharedPreferences= getSharedPreferences("scenelist", Context.MODE_PRIVATE);
  Editor edit = mySharedPreferences.edit();
  try {
  String liststr = Utils.SceneList2String(MyApp.scenesList);
  edit.putString(Constants.SCENE_LIST,liststr);
  edit.commit();
  } catch (IOException e) {
  e.printStackTrace();
  }
  
  SharedPreferences sharedPreferences= getActivity().getSharedPreference ("scenelist", Context.MODE_PRIVATE);
  String liststr = sharedPreferences.getString(Constants.SCENE_LIST, "");
  try {
  showSceneList = Utils.String2SceneList(liststr);
  } catch (StreamCorruptedException e) {
  e.printStackTrace();
  } catch (IOException e) {
  e.printStackTrace();
  } catch (ClassNotFoundException e) {
  e.printStackTrace();
  }
  进行保存获取。

在Android开发过程中有时需要用到一些简单的数据保存。
  在系统自带的sharedpreferences中提供了一些列的数据类型,但有时候需要保存一个List集合,系统则没有现成的方法:
  以保存场景为例:
  public static String SceneList2String(List SceneList)
  throws IOException {
  // 实例化一个ByteArrayOutputStream对象,用来装载压缩后的字节文件。
  ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
  // 然后将得到的字符数据装载到ObjectOutputStream
  ObjectOutputStream objectOutputStream = new ObjectOutputStream(
  byteArrayOutputStream);
  // writeObject 方法负责写入特定类的对象的状态,以便相应的 readObject 方法可以还原它
  objectOutputStream.writeObject(SceneList);
  // 最后,用Base64.encode将字节文件转换成Base64编码保存在String中
  String SceneListString = new String(Base64.encode(
  byteArrayOutputStream.toByteArray(), Base64.DEFAULT));
  // 关闭objectOutputStream
  objectOutputStream.close();
  return SceneListString;
  }
  
  @SuppressWarnings("unchecked")
  public static List String2SceneList(String SceneListString)
  throws StreamCorruptedException, IOException,
  ClassNotFoundException {
  byte[] mobileBytes = Base64.decode(SceneListString.getBytes(),
  Base64.DEFAULT);
  ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
  mobileBytes);
  ObjectInputStream objectInputStream = new ObjectInputStream(
  byteArrayInputStream);
  List SceneList = (List) objectInputStream
  .readObject();
  objectInputStream.close();
  return SceneList;
  }
  
  最后通过
  SharedPreferences mySharedPreferences= getSharedPreferences("scenelist", Context.MODE_PRIVATE);
  Editor edit = mySharedPreferences.edit();
  try {
  String liststr = Utils.SceneList2String(MyApp.scenesList);
  edit.putString(Constants.SCENE_LIST,liststr);
  edit.commit();
  } catch (IOException e) {
  e.printStackTrace();
  }
  
  SharedPreferences sharedPreferences= getActivity().getSharedPreference ("scenelist", Context.MODE_PRIVATE);
  String liststr = sharedPreferences.getString(Constants.SCENE_LIST, "");
  try {
  showSceneList = Utils.String2SceneList(liststr);
  } catch (StreamCorruptedException e) {
  e.printStackTrace();
  } catch (IOException e) {
  e.printStackTrace();
  } catch (ClassNotFoundException e) {
  e.printStackTrace();
  }

不知道


手机一共有几种系统?
手机常用的系统有5种;分别是:Android、iOS、Smartisan OS、小米MIUI系统、Emotion UI。1、安卓 安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由AndyRubin开发,主要支持手机。2005年8...

电脑用Android操作系统是什么意思
电脑用Android操作系统,是指可运行在普通电脑上的安卓系统。一般是通过模拟器软件得以实现。模拟器是一个可以让安卓应用程序运行在Windows系统上的神奇软件。模拟器的设置界面和平板设备上的一模一样,除了支持绝大多数 APP 应用的安装和使用外,对于普通电脑(包括笔记本)上的摄像头、耳麦、物理键盘鼠标等...

阿里云os究竟和android有何区别
阿里云OS与Android的区别:一、基础架构和底层技术不同 阿里云OS是一款基于云计算的操作系统,其设计理念是将计算和存储都放在云端,实现设备和服务的无缝连接。它拥有自主的知识产权,从底层技术到应用服务都是完全自主研发的。而Android则是一个基于Linux的开放源代码操作系统,主要用于移动设备,如智能手机...

Android手机里的存储权限有何作用?
1. 存储权限的作用 在Android手机中,我们使用应用程序来完成各种各样的任务,如发送短信、浏览网页、收发邮件等等。这些应用程序需要访问和使用手机的不同部分,如网络连接、拍照功能、存储设备等。因此,对这些功能的访问必须经过用户的授权才能使用。存储权限允许特定的应用程序在设备上读取和写入文件。当一...

国产手机系统后缀OS和UI有何区别?
国产手机品牌的系统后缀各异,魅族、锤子选择OS,小米华为则用UI,看似细微,实则大有讲究。系统后缀的不同并非简单的称呼差异,而是定义上的根本分野:OS代表系统级,如Android、iOS,而UI则是基于这些系统进行的用户界面定制。尽管自称为OS的厂商可能并非单纯强调定义,他们的努力往往深入到系统底层,进行如...

Android 的 ART 是什么东西,有何作用
如果ART确实是用AOT compiler替换JIT,性能先不谈,Android的内存占用应该会因此获益。现在dex代码经过 dex => optimized dex => JIT cache这个过程,内存中需要同时容纳odex和JIT cache两份代码;换成ART以后,就变成dex => oat,内存里只放oat就可以。不过考虑到ART的解释器代码里有提到deoptimization,...

Android L的命名由来及新特性详解:L从何而来
设计语言的革新:Material Design Android L采用了Material Design,谷歌全新的设计语言,以简洁布局和现实主义效果,提升了设备屏幕的利用效率。内容置于核心,界面设计借鉴现代印刷风格,提供更直观的触觉反馈。Material Design特点包括丰富的颜色支持、实时阴影效果、动画升级,以及网络功能的优化,如新的应用菜单...

YunOS对比Android 两者究竟有何区别
卡片化的生活服务,卡片化生活服务中心,以卡片为载体的更轻、更好用、更智能的生活化服务平台,打破了常规化的APP应用操作,把信息以最方便的方式,展现给用户,把服务以最快捷的途径前置使用。Android:开放性,在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟...

鸿蒙与Android、 iOS相比有何优势呢?
3. 流畅性更佳:鸿蒙系统通过优化系统架构和算法,使得系统运行更加流畅,响应速度更快。二、安卓系统的优势 安卓系统作为全球最广泛使用的移动操作系统之一,其优势在于庞大的用户群体和丰富的应用生态。安卓系统拥有海量的应用程序,可以满足用户各种需求。三、对比分析 虽然安卓系统在应用生态方面拥有优势,...

Android 的 ART 是什么东西,有何作用
比如最新的 Google+ APK 是 28.3 MB,但是代码只有 6.9 MB。)2.应用的安装时间会变长。tips:现在智能手机大部分都可以让用户选择使用Dalvik还是ART模式。当然默认还是使用Dalvik模式。用法:设置-辅助功能-开发者选项(开发人员工具)-选择运行环境(不同的手机设置的步骤可能不一样)。

钟山区13865077323: 如何正确的使用SharedPreferences -
寿尹植入: 关于SharedPreferences顺便再复习一下:SharedPreferences 是Android 中的内置API,它允许我们存取键值对形式的基础类型数据,像:boolean,float ,int , long , string .这些数据将会持久化的存在,即使你的应用程序结束之后(注意:如果...

钟山区13865077323: 如何在android中利用shared preferences存储和读取数据 -
寿尹植入: 获取SharedPreferences的两种方式:1 调用Context对象的getSharedPreferences()方法2 调用Activity对象的getPreferences()方法 两种方式的区别:调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被...

钟山区13865077323: 如何使android应用程序获取系统权限 -
寿尹植入: 第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:1. 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性.2. 修改Android.mk文件,加入LOCAL_...

钟山区13865077323: Android上如何实现自动登陆功能? -
寿尹植入: 可以用SharedPreferences存贮你的账户信息,也可以用数据库,这里你随便.思路可以是这样:写一个Welcome界面,在onCreate方法中判断,根据条件来跳转到对应的活动.比如没有设置che...

钟山区13865077323: android中怎样将自己的应用程序的签名改为系统签名一样 -
寿尹植入: 试试下面方法:1、在应用程序manifest.xml文件根节点中加入属性:Android:sharedUserId="android.uid.system"2.使用已经存在的签名到处android应用程序的apk3.使用压缩软件打开apk,进入META-INF目录下,删除应用程序的3个...

钟山区13865077323: 如何使Android录音实现内录功能 -
寿尹植入: 之前在做直播的时候需要使用到内录功能,比如经常看到游戏主播在直播玩游戏,游戏的声音不是通过MIC录制的,而是内录完成的.故在此记录一下.相信大家都很熟悉Android如果录音的了:int frequency = 44100; int audioEncoding = ...

钟山区13865077323: 在android中的service中怎样使用SharedPreferences -
寿尹植入: 2个activity 之间的数据传递除了可以他通过intent来传递,还可以使用SharedPreferences来共享数据的方式SharedPreferences 用法很简单.在A中设置Editor sharedata = getSharedPreferences("data", 0).edit();sharedata.putString("item...

钟山区13865077323: 如何用android sharedpreferences鍸ist集合 -
寿尹植入: SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整...

钟山区13865077323: 如何使用APK扩展文件 -
寿尹植入: 一、APK扩展文件基本知识 Android Market (Google Play Store)中每个APK文件的最大限制是50MB.如果您的程序中包含大量的数据文件,以前您只能把这些数据文件放到自己的服务器上,当用户启动程序的时候让用户去下载.现在这些数据...

钟山区13865077323: Android如何在Activity和Service之间传递数据 -
寿尹植入: 1、原始数据类型:在Activity/Servier之间传递临时性的原始数据,可以使用Intent的putExtras方法来传递数据.若传递的数据需要长久保存,则使用SharedPreference类来...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网