16.Android 数据库操作

文件存储

内部存储
获取IO流
openFileInput (FileName);
openFileoutput(FileName ,mode)
//mode:
//MODE PRIVATE:代表自己本程序可以使用
//MODE_ APPEND: 表示可追加
//MODE WORLD. READABLE:可以被其他app程序读,不能写。
//MODE
WORLD_ WRITEABLE:可以被其他程序读写

外部存储
1、Environment.getDataDirectory() = /data
这个方法是获取内部存储的根路径
2. getFilespir).getAbsolutePath() = /data/user/0/packname/files
这个方法是获取某个应用在内部存储中的files路径
3. getCacheDir).getAbsolutePath()= /data/user/0/packname/cache
这个方法是获取某个应用在内部存储中的cache路径
4.getDir(“myFile”,MODE.PRIVATE).getAbsolutePath(=/data/user/0/packname/app_ myFile
这个方法是获取某个应用在内部存储中的自定义路径
方法2,3,4的路径中都带有包名,说明他们是属于某个应用
5.Environment.getExternalStorageDirectory(.getAbsolutePath0=/storage/emulated/0
这个方法是获取外部存储的根路径
6.Environment.getExternalStoragePublicirectory")getAbsolutePath0=/storage/emulated/0
这个方法是获取外部存储的根路径
7.getExternalFilesDir(").getAbsolutePath()=/storage/emulated/0/Android/data/packname/files
这个方法是获取某个应用在外部存储中的files路径
8.getExternalCacheDir)-.getAbsolutePath0=/storage/emulated/0/Android/data/packname/cache
这个方法是获取某个应用在外部存储中的cache路径

<!--文件读写权限-->
<uses -permission android:name="android . permiss ion .WRITE_ EXTERNAL_ STORAGE" />
<uses -permission android: name=" android. permiss ion . READ_ EXTERNAL_ STORAGE" />

//1.判断外部存储设备是否可用:设备是可以用装载
if (Environment . getExternalstor agestate() . equals (Environment .MEDIA MOUNTED))
//2.获取外部存储的路径:不同Android版本手机型号:华为 小米;外部存储敗sdCard
string sdPath=
getApplicationContext( . getExternalFilesDir (nu11) . getAbsoluteFile() .tostringO;
//3.创建文件
File file=new File(sdPath+"a.txt");
try{
if(!file.exists O){
file. createNewFile(;
}
//4.I0流
FileInputstream fi=new FileInputstream(fi1e);
byte buff[]=new byte[fi. available()];
//5.写入数据
fi.read(buff);
//6.关闭
System. out. print1n("red==="+new Str ing(buff);
}catch (Exception e){
e .printstackTrace ();
}
System. out . print1n(sdPath) ;
}

XML序列化
●序列化是将对象状态转换为可保持或传输的过程。在序列化对象时,需要使用XmlSerialize序列化器,它可以将I0流中传输的对象变得像基本类型数据一样,实现数据传递的功能。
●序列化后的对象以XML形式保存

SQLite数据库简介
SQLite是一个轻量级数据库,第一-个版本诞生于2000年5月。它最初是为嵌入式设计的,占用资源非常低,在内存中只需要占用几百KB的存储的空间。
●SQLite 是遵守ACID关联式的数据库管理系统。ACID是指数据库事务正确执行的基本要素,即原子性(Atomicity) 、一致性(Consistency) 、 隔离性(Isolation)、持久性(Durability) 。
●SQLite没有 服务器进程,它通过文件保存数据,该文件是跨平台的,可以放在其他平台中使用。并且支持NULL、INTEGER、 REAL (浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)五种数据类型。

SQLite操作API
●Android SDK提供了一系列对数据库进行操作的类和接口。常用的数据库操作类有:

SQLiteOpenHelper类
●该类是一个抽象类,用于创建数据库和数据库版本更新。
SQLiteDatabase类
●该类是一个数据库访问类,封装了一系列数据库操作的API,可以对数据进行增删改查操作。
Cursor接口
●是一个游标接口,在数据库操作中作为返回值,相当于结果集ResultSet。

sqlite3工具
●在使用该工具时,首先需要打开DOS命令行,依次输入如下命令:
adb shell (挂 载到linux的空间)
cd data/data (进 入data/data目录)
cd cn.itcast.db (应 用程序包名)
Is (Linxus命令列出当前文件夹下的文件)
cd databases (进 入databases文件夹)
ls-I (列出当前文件夹所有文件的详细格式)
sqlite3 person.db (使用sqlite3操作应用程序下的数据库)
select * from person; (利用sq|语句查询person表中的信息)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值