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调用系统的录音器功能,然后在录制 ...
随机推荐
- DBCC常用命令小汇
DBCC是SQL Server提供的一组控制台命令,功能很强大,掌握一些必要的语句,对操作数据库有不少帮助,所以决定整理一下,发现已有不少类似的整理,减少了不少工作,归类如下: 一.DBCC 帮助类命 ...
- SVN 搭建
http://www.blogjava.net/jasmine214--love/archive/2010/09/26/332989.html http://hunan.iteye.com/blog/ ...
- Delphi中DLL的创建和使用
参考:http://blog.csdn.net/ninetowns2008/article/details/6311663 结合这篇博客:http://www.cnblogs.com/xumenger ...
- macosx安装MySQLdb
折腾了半天,记录一下. 先按照这个步骤安装mysql-python 如果python setup.py install 时候出现clang 错误,运行 python -E setup.py insta ...
- 《Spring 3.x 企业应用开发实战》目录
图书信息:陈雄华 林开雄 编著 ISBN 978-7-121-15213-9 概述: 第1章:对Spring框架进行宏观性的概述,力图使读者建立起对Spring整体性的认识. 第2章:通过一个简单的例 ...
- 几个国内速度最快的centos yum(更新源)
转自:http://blog.itpub.net/15711267/viewspace-1068862/ 中国科技大学源 cd /etc/yum.repos.d mv CentOS-Base.repo ...
- 调整vbox虚拟机下的linux全屏模式及分辨率
>>Step1 在VirtualBox菜单栏中选择[设备]->[安装增强功能] >>Step2 点击右上角的[齿轮]图标,然后选择[Log Out],重新登录即可 lin ...
- Linux文本比较-diff&awk
最近为了完成工作,需要将两个文件A.old和A进行比较,然后将A中新增加的部分保存到A中,其他部分删除.经过查找相关资料,发现有两种比较好的方法. 1. 使用diff命令 diff old.file ...
- 人性的弱点&&影响力
How wo win friends and influence people 人性的弱点 by 卡耐基 人际关系基本技巧 不要批评.谴责.抱怨 真诚的欣赏他人 激发他人的渴望 获得别人好感的方式 微 ...
- App界面交互设计规范(转)
在上篇<APP界面设计风格>确定下来后,产品经理(兼交互设计)还不用着急将所有的交互稿扔给设计师进行细致的界面设计.在细节设计启动前,拉上设计师和安卓前端开发.ios前端开发一起商议确定设 ...