16.1文件存储
16.1.1内部存储

openFileInput(FileName); openFileOutput(FileName,mode)
//mode:
//MODE_PRIVATE:代表自己本程序可以使用
//MODE_APPEND:表示可追加
//MODE_WORLD_READABLE:可以被其他app程序读,不能写。4.2之后舍弃
//MODE_WORLD_WRITEABLE:可以被其他程序读写

16.1.2外部存储

1.Environment.getDataDirectory() = /data 这个方法是获取内部存储的根路径
2.getFilesDir().getAbsolutePath() = /data/user/0/packname/fifiles这个方法是获取某个应用在内部 存储中的fifiles路径
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().getAbsolutePath()=/storage/emulated/0 这个 方法是获取外部存储的根路径
6.Environment.getExternalStoragePublicDirectory(“”).getAbsolutePath()=/storage/emulated/0 这个方法是获取外部存储的根路径
7.getExternalFilesDir(“”).getAbsolutePath()=/storage/emulated/0/Android/data/packname/fifiles 这个方法是获取某个应用在外部存储中的fifiles路径
8.getExternalCacheDir().getAbsolutePath()=/storage/emulated/0/Android/data/packname/cache 这个方法是获取某个应用在外部存储中的> cache路径

<!--文件读写权限--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
//1.判断外部存储设备是否可用:设备是可以用装载
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
//2.获取外部存储的路径:不同Android版本 手机型号:华为 小米;外部存储一般sdCard
String sdPath= getApplicationContext().getExternalFilesDir(null).getAbsoluteFile().toString( );
//3.创建文件
File file=new File(sdPath+"a.txt");
try{if(!file.exists()){
file.createNewFile();
}
//4.IO流FileInputStream fi=new FileInputStream(file); byte buff[]=newbyte[fi.available()]; //5.写入数据 fi.read(buff); //6.关闭 System.out.println("red==="+new String(buff)); }catch (Exception e){ e.printStackTrace(); }System.out.println(sdPath);}

16.2XML序列化

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

16.3 SqlLite
16.3.1SqlLite数据库简介

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

16.3.2 SqlLite数据库的使用
1) SqlLite操作API
ndroid SDK提供了一系列对数据库进行操作的类和接口。常用的数据库操作类有:

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

2)数据库的常用操作
Android SDK提供了一系列对数据库进行操作SQLite数据库的API。SQLiteDatabase就是其中一个,它提供了一些列用于操作数据库的方法。

  • insert()
  • update()
  • delete()
  • query()

3)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表中的信息)

十六、Android数据库操作相关推荐

  1. java监听数据库操作_第十六篇——JDBC操作数据库之监听器

    JavaWeb应用中,很多的地方都和session有关.因此session相关的事件监听器,在日常工作中非常有用. 有时候我们需要统计当前在线的人数和访问人数总数,此时就可以使用监听器技术来很简单的实 ...

  2. Android数据库操作-1

    Android采用关系型数据库SQLite3,它是一个支持SQL轻量级的嵌入式数据库,在嵌入式操作系统上有很广泛的应用,WM采用的也是SQLite3<?xml:namespace prefix ...

  3. android数据库三个方法有哪些,如何将Android数据库操作通用化(二)

    概述 接着上回的说,虽然我们已经找出了阻挡我们通用化Android数据库操作的五个问题,但是现在我们还不能立即开始去解决这些问题. 试想一下,我们有一个News,那么,相应的就会有NewsDao和Ne ...

  4. 如何将Android数据库操作通用化(四)

    概述 明窗半掩小庭幽夜静灯残未待留 风冷结阴寒落叶别离长倚望高楼 迟迟月影斜依竹叠叠诗余赋旅愁 将欲断肠随断梦雁飞连阵几声秋 概述 上一篇文章,已经解决了前两个问题,那么现在我们继续. 首先,我们回顾 ...

  5. SQL2K数据库开发二十六之存储过程操作创建存储过程(一)

    1.可以使用Transact-SQL中的CREATE PROCEDURE语句创建存储过程,使用该语句的语法为: 2.在查询分析器中执行如下语句创建一个存储过程. 3.在企业管理器中创建存储过程的方法为 ...

  6. iOS学习笔记(十五)——数据库操作(SQLite)

    SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的 ...

  7. Android数据库操作

    Android内置了一个名为SQLite的关系型数据库,这是一款轻量型的数据库,操作十分简便.SQLite与别的数据库不同的是,它没有数据类型.可以保存任何类型的数据到你所想要保存的任何表的任何列中. ...

  8. 实验六JDBC数据库操作_JAVA

    实验目的: 1.熟悉数据库基本操作 2.掌握利用JDBC进行数据库的连接 3.利用语句对象Statement和PreparedStatement对表.记录.列进行增.删.改.查等操作 4.将数据库操作 ...

  9. Android系统10 RK3399 init进程启动(三十六) 属性property操作API

    配套系列教学视频链接: 安卓系列教程之ROM系统开发-百问100ask 说明 系统:Android10.0 设备: FireFly RK3399 (ROC-RK3399-PC-PLUS) 前言 前面几 ...

最新文章

  1. [SDOI2015]权值
  2. pandas DataFrame 写入excel是列表 读取变字符串的解决办法
  3. 【前端】:jQuery上
  4. c语言自定义函数程序设计,ch3自定义函数设计 C语言 《解析C程序设计》.ppt
  5. Android 三方库okhttp、gson、glide的使用
  6. 计算机主板用塑料做的好吗,电脑主板包装的塑料袋为什么是用透明胶封的,这样...-卓优商学问答...
  7. 洛谷P1429 平面最近点对(加强版)
  8. Mac如何修改文件默认打开方式?
  9. ubuntua安装chrome_Ubuntu 16.04下安装64位谷歌Chrome浏览器
  10. html5音频剪辑,访谈类音频剪辑的5个小贴士
  11. 初学者必看的JavaScript 七大点!
  12. <C++>类的对象内存空间分配一点就通,this指针一学就会
  13. java实现发送手机验证码功能
  14. 分享回顾|我们是神经搜索少年团!
  15. 汇编语言: txt文件操作
  16. 2016年2月西部数码.wang域名注册量及份额报告
  17. 点击遮罩层的背景关闭遮罩层(HTML)
  18. 如何在Win7安装U盘中加入USB3.0驱动的支持
  19. [RK3288][Android6.0] 调试笔记 --- 调试串口的更换
  20. 三国华容道网页版来了

热门文章

  1. 2021-02-06 SLF No SLF4J providers were found.
  2. Python爬虫逆向之加速乐
  3. 爱普生Epson SureColor T5280MFP 打印机驱动
  4. 每日IN语(2009-01-02)
  5. 酷播V4.0免费网页播放器如何更改自己的右键信息
  6. DHCP 原理与配置
  7. 从digg在新媒体中的角色谈如何定义新媒体
  8. windows 11文件夹共享踩坑记录
  9. BUUCTF——CRYPTO(记录不熟悉的题)(2)
  10. 慕学生鲜xadmin登录不成功解决办法