关于Android中的数据存储

Android的数据存储(数据持久化)总共有五种。分别为:

Shared Preferences  参数共享

Internal Storage    内部存储

External Storage    外部存储    

SQLite Databases    数据库存储

Network Connection  网络存储

1、Shared Preferences  参数共享

应用场景:应用程序有少量的数据需要保存(设置参数的保存)

文件保存位置:/data/data/包名/shared_prefs/xxx.xml

文件格式:xml

保存数据:

SharedPreferences sp = getSharedPreferences("xinbo", 0);

Editor edit = sp.edit();

edit.putBoolean("isLogin", true);

edit.putString("name", "小丽");

edit.commit();

读取数据:

SharedPreferences sp = getSharedPreferences("xinbo", 0);

boolean boolean1 = sp.getBoolean("isLogin", false);

String string = sp.getString("name", "小花");

mTextView.setText(""+boolean1+string);

2、Internal Storage    内部存储

文件保存位置:/data/data/包名/files/xxx.xxx

文件格式:自定义

保存数据:

fos = openFileOutput("hehe.json", MODE_WORLD_READABLE);

String str = "你好";

fos.write(str.getBytes());

读取数据:

ByteArrayBuffer arrayBuffer = new ByteArrayBuffer(2000);

fis = openFileInput("hehe.json");

byte[] buffer = new byte[1024];

int len;

while(-1!=(len=fis.read(buffer ))){

arrayBuffer.append(buffer, 0, len);

}

String string = new String(arrayBuffer.toByteArray(), 0, arrayBuffer.length());

mTextView.setText(string);

MODE_WORLD_READABLE读写模式:

MODE_PRIVATE 私有的,只有当前应用才能去对这个文件

进行读写操作,不会进行追加

MODE_APPEND  只有当前应用才能去对这个文件

进行读写操作,数据会追加

MODE_WORLD_READABLE        其他应用可读

MODE_WORLD_WRITEABLE       其他应用可写

Sqlite DataBase  数据库存储

场景:大量结构相似的数据,频繁的增删改查的时候,用到数据库

通过数据库对象执行sql语句去实现

添加数据:

private void add_Data() {

String str = "INSERT INTO student (name,phone) VALUES ('小丽','657465464')";

mDB.execSQL(str);

}



删除数据:

private void del_Data() {

String str = "DELETE FROM student WHERE name = '小丽'";

mDB.execSQL(str);

}



修改数据:

private void update_Data() {

String str = "UPDATE student SET phone = '110' WHERE name = '小丽'";

mDB.execSQL(str);

}

查询数据:

private void find_Data() {

dataList.clear();

String str = "SELECT name,phone FROM student";

Cursor cursor = mDB.rawQuery(str, null);

// 将游标移到第一个位置

boolean toFirst = cursor.moveToFirst();

while (toFirst) {

// 。。。。。。

String name = cursor.getString(cursor.getColumnIndex("name"));

String phone = cursor.getString(cursor.getColumnIndex("phone"));

MyData myData = new MyData(name, phone);

dataList.add(myData);

// 把游标移动到下一个位置

toFirst = cursor.moveToNext();

}

mTextView.setText(dataList.toString());

}


你可能感兴趣的:(android,数据库,网络,NetWork,应用程序)