(3)Android之路====APK基础入门3(Android数据存储)

这篇博客详细介绍了Android中五种常用的数据存储方式:SharedPreferences用于简单配置存储;文件存储分为内部和外部,涉及读写操作;SQLite数据库适用于结构化数据,包括创建、查询、更新和删除操作;Content Provider用于不同应用间的数据交换;最后,网络存储讲解了基本的网络数据交互原理。
摘要由CSDN通过智能技术生成

本次说一下数据存储方面知识,常用的有5种,如下:

1.SharedPreferences存储数据
2.文件存储数据
3.SQLite数据库存储数据
4.Content Provider存储数据
5.网络存储数据

1.SharedPreferences存储数据

a)一种轻型的Android数据存储方式,它的本质是基于XML文件存储
b)以key-value键值对的形式存储数据,通常用来存储一些简单的配置信息
示例一:

实现“存数据”、“取数据”和“清除数据”功能
存数据:SharedPreferences.Editor
取数据:SharedPreferneces
清除数据:editor.clear()--->commit()

示例二:

2.文件存储数据

内部存储
外部存储

内部存储的读写操作 
a. openFileOutput(String name,int mode)方法:写操作
b. openFileInput(String name)方法:读操作

外部存储的读写操作 
判断SD卡是否存在
a. 获取SD卡的根目录  Environment.getExternalStorageDirectory().getAbsolutePath();
b. FileOutStream 
c. 对SD卡的读写操作需要设置权限 android.permission.WRITE_EXTERNAL_STORAGE

3.SQLite数据库存储数据

a,SQLite数据库介绍   属于内部存储  2TB
b,SQLiteDatabase的相关方法   数据库的操作类(执行sql语句)
c,实现数据库增删改查操作
d,SQLite数据库与ListView控件的应用
    (adapter.notifyDataSetChange())    SimpleCursorAdapter(adapter.changeCursor(cursor))
e,SQLiteOpenHelper类的使用  数据库的辅助类

1.创建或者打开数据库  -----得到SQLiteDatabase对象 openOrCreateDatabase
2.创建数据库表
1.表结构  构造sql语句,create table(_id integer primary key autoincrement,)  id name age
2.执行sql语句 execSQL();
3.插入数据  insert(,,,,);
Insert into table(name,age) values(“”,10);
4.更新数据 
a)update();
Update table set name=”” where _id =1
5.删除数据 
a)delete();
Delete from
查询数据   query();
遍历

cursor.moveToFirst();
while(!cursor.isAfterLast()){
	String name = cursor.getString(1);
	int age = cursor.getInt(cursor.getColumnIndex("age"));
	Log.e("Main", "name:"+name+",age:"+age);
	cursor.moveToNext();
}

或者

while(cursor.moveToNext()){
	String name = cursor.getString(1);
	int age = cursor.getInt(cursor.getColumnIndex("age"));
		Log.e("Main", "name:"+name+",age:"+age);
}

4.Content Provider存储数据

Android中的两个程序之间进行数据交换就是通过ContentProvider实现的。ContentProvider类实现了一组标准的方法接口,从而能够让其他的应用保存或读取此Content Provider的各种数据类型。在程序内可以通过实现Content Provider的抽象接口将自己的数据显示出来。外界可以通过这套标准、统一的接口和程序中的数据实现交互,既可以读取程序中的数据,也可以删除程序中的数据。
比较常见的接口是ContentResolver,外部程序可以通过ContentResolver接口访问ContentProvider提供的数据。在Activity中可以通过getContentResolver()得到当前应用的ContentResolver实例。ContentResolver提供的接口需要和ContentProvider中需要实现的接口相对应,常用的接口主要有以下几个:
 

// 通过Uri进行查询,返回一个Cursor
query(Uri uri, String[] projection, String selection, String[] selectionArgs,StringsortOrder);
// 将一组数据插入到Uri指定的地方
insert(Uri url, ContentValues values);
// 更新Uri指定位置的数据
updata(Uri uri, ContentValues values, String where, String[] selectionArgs);
// 删除指定Uri且符合一定条件的数据
delete(Uri url, String where, String[] selectionArgs);

5.网络存储数据

可以通过调用WebS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值