Android数据存储的三种方式:SharePreferences , file , SQLite
(1)SharePreferences:
存入: SharedPreferences setter = this.getSharedPreferences("spfile", 0);
SharedPreferences.Editor editor = setter.edit();
editor.putString("name", et.getText().toString());
editor.putInt("age", 18);
editor.putFloat("ID", 374892323);
editor.commit();
读取: SharedPreferences getter = this.getSharedPreferences("spfile", 0);
String st = getter.getString("name", "unknow");
SharePreferences方式在数据存储的格式上是采用的XML文件。
(2)FileInputStream and FileOutputStream:
采用的就是基础的Java.io方式读写文件。但是需要注意的是文件路径的写法。在Android上就不要再用 "///mnt/sdcard/data/a.txt"这种写法了。
最好是利用Environment类进行字符串的拼接。拼成完整的路径:
String sdcardPath = null;
String filePath = "jerei";
String fileName="saveFile.txt";
if( ! Environment.getExternalStorageState().equals(Environment.MEDIA_REMOVED)){
sdcardPath = Environment.getExternalStorageDirectory().toString();
filePath = sdcardPath+File.separator +filePath ;
FileOutputStream fos = null;
File fileDir = new File(filePath);
if( ! fileDir.exists() ){
fileDir.mkdirs();
}
fin = new FileInputStream(new File(filePath, fileName));
(3)SQLite 数据库:
对于SQLite数据库的操作主要依靠两个类:SQLiteDatabase 和 SQLiteOpenHelper
其中后者是一个抽象类,需要自己实现。
private class MySQLiteOpenHelper extends SQLiteOpenHelper {
public MySQLiteOpenHelper(Context context, String name,
CursorFactory factory, int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
public MySQLiteOpenHelper(Context context){
this(context, DB_NAME, null, DB_VERSION);
}
private static final String DB_NAME = "mydb.db";
private static final int DB_VERSION = 1;
public static final String NEWS_TAB="news";
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
StringBuilder sb = new StringBuilder();
sb.append("create table ");
sb.append(NEWS_TAB);
sb.append(" ( ");
sb.append(" id integer primary key autoincrement , ");
sb.append(" title varchar(100) , ");
sb.append(" author varchar(100) ");
sb.append(" ) ");
db.execSQL(sb.toString());
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
而 SQLiteDataBase 则代表了一个数据库实例,可以通过自己实现 的sqliteOpenHelper类的 getWritableDatabase()方法和 getReadableDatabase()方法获得。
它包含操作数据库的具体方法。如:execSQL , delete ,query(返回一个Cursor类的对象) , update 等。
另外可以实现一个Dao来负责SQLite数据库的具体操作。
Android数据存储的三种方式:SharePreferences , file , SQLite的更多相关文章
- android 数据存储的几种方式
总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.其中文件和数据库可能用的稍多一些,文件用起来较为方便,程序可以自己定义格式:数据库用起稍烦锁一些,但它有它的优点,比如在海量数 ...
- android 数据存储的四种方式.
Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File.由于Android系统中,数据基本都是私有的的,都是存放 ...
- Android数据存储的五种方法汇总
本文介绍Android中的5种数据存储方式. 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 ...
- uni-app&H5&Android混合开发三 || uni-app调用Android原生方法的三种方式
前言: 关于H5的调用Android原生方法的方式有很多,在该片文章中我主要简单介绍三种与Android原生方法交互的方式. 一.H5+方法调用android原生方法 H5+ Android开发规范官 ...
- 数据存储的两种方式:Cookie 和Web Storage
数据存储的两种方式:Cookie 和Web Storage 1.Cookie Cookie的作用就像你去超市购物时,第一次给你办张购物卡,这个购物卡里存放了一些你的个人信息,下次你再来这个连锁超市时, ...
- 数据存储的两种方式:Cookie 和Web Storage(转)
数据存储的两种方式:Cookie 和Web Storage 数据存储的两种方式:Cookie 和Web Storage 1.Cookie Cookie的作用就像你去超市购物时,第一次给你办张购物卡 ...
- PHP中数据类型转换的三种方式
PHP中数据类型转换的三种方式 PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: 1.(int).(integer):转换成整形2.(float).(double).(real):转换成 ...
- Android数据存储的5种方法
--使用SharedPreferences存储数据 --文件存储数据 --SQLite数据库存储数据 --使用ContentProvider存储数据 --网络存储数据 Preference,File, ...
- Android录制音频的三种方式
对于录制音频,Android系统就都自带了一个小小的应用,可是使用起来可能不是特别的灵活.所以有提供了另外的俩种. 下边来介绍下这三种录制的方式; 1.通过Intent调用系统的录音器功能,然后在录制 ...
随机推荐
- stat file 查看文件的 最新的被访问时间 最近的修改时间 最近的状态改变时间
[root@NB ~]# stat /media/6FE5-D831/git-data/IT-DOC/web收藏.txt File: `/media/6FE5-D831/git-data/IT-DOC ...
- 与你相遇好幸运,mbview的mbtiles文件分析
mbview是一个查看.mbtiles文件的本地程序. https://github.com/mapbox/mbview .mbtiles文件就是一个Sqlite文件,用Navicat Premium ...
- XAML语言介绍
<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winf ...
- vim: vs sp 调整窗口高度和宽度
转自:http://www.cnblogs.com/xuechao/archive/2011/03/29/1999292.html vim多窗口有时候需要调整默认的窗口宽度和高度,可以用如下命令配合使 ...
- 【Javascript】IE8兼容 背景图片与a标签的onclick事件
先说几句牢骚话. 虽然IE8比之IE6.7有很大的进步,但是在执行效率.兼容性上仍然有很多问题.被广大开发者喜爱的平台才是好平台. 可惜多亏当年盗版XP打开中国的计算机市场,IE作为一款捆绑软件仍然在 ...
- Ultra-QuickSort【归并排序典型题目】
Ultra-QuickSort Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 34470 Accepted: 12382 ...
- java compiler level does not match the version of the installed java project
修改:工程/.settings/”目录下找到名为 org.eclipse.wst.common.project.facet.core.xml
- Java Hour 66 Spring 相关
这章简单的来了解下Spring 和 Hibernate 是如何勾搭在一起的. <bean id="sessionFactory" class="org.spring ...
- [Monitor] 监控规则定义
系统监控规则:
- java调用shell获取返回值
转自:http://blog.csdn.net/tengdazhang770960436/article/details/12014839 1.shell文件return.sh echo 1 echo ...