Android数据持久化的方式总结 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

Android数据持久化的方式总结

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:24

        一、SharedPreferences
  
  以.xml格式的文件进行存储,存储地位在data/data/package/shared_prefs/目次下。
  
  存储步调:
  
  1、创建文件:getSharedPreferences(name, mode);name为文件名,如不雅有此文件存在,不再创建,直接用此文件。
  
  2、获取文件编辑器:SharedPreferences.Editor se=preferences.edit();
  
  3、存入数据:se.putString("et_content", et.getText().toString());调用编辑器的putXxx办法,可存入不合类型的数据,共有putInt(key,
  
  value)、putLong(key, value)、putFloat(key, value)、putBoolean(key, value)、putString(key, value)和putStringSet(arg0, arg1)六个方
  
  法。
  
  4、提交改变:se.commit();
  
  例如:getSharedPreferences("dcy", Context.MODE_PRIVATE).edit().putString("username", et_username.getText().toString().trim
  
  ()).commit();
  
  掏出数据:getSharedPreferences("gxx", Context.MODE_PRIVATE).getString("et_content", "");
  
  二、内部存储(存储到手机内部存储空间)
  
  存储目次为data/data/package/files/
  
  存储步调:
  
  1、打开存储文件:openFileOutput(name, mode);name不限制类型,可自行指定
  
  2、写入数据:fos.write(buffer);
  
  3、刷新封闭流:fos.flush();fos.close();
  
  例如:
  
  FileOutputStream fos=openFileOutput("dcy.txt", Context.MODE_PRIVATE);
  
  fos.write(text.getText().toString().getBytes());
  
  fos.flush();
  
  fos.close();
  
  掏出数据:openFileInput("dcy.txt");只须要指决定肯定取数据的文件名即可。
  
  getFilesDir();获得的是绝对路径/data/data/com.example.studentlogin/files
  
  getCacheDir();获得的是绝对路径/data/data/com.example.studentlogin/cache
  
  三、sdcard存储
  
  将数据存储到手机的sdcard膳绫擎,须要声明一个外部存储可写的权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  
  如不雅要断定sdcard是否挂载还须要一个权限:<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
  
  存储过程:
  
  1、获取sdcard当缁ご态:Environment.getExternalStorageState();返回一个字符串常量,例如Environment.MEDIA_MOUNTED(sdcard已挂载)
  
  2、断定sdcard是否挂载:Environment.MEDIA_MOUNTED.equals(state);sdcard挂载则履行下面的存储操作
  
  3、指定目次:File file=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/cat.mp3");
  
  4、写入数据:new FileOutputStream(file).writer();
  
  掏出数据用FileInputStream即可。

相关案例查看更多