Android学习笔记之9数据存储

数据存储

典型的桌面OS的文件系统是公共文件系统——任何软件可以使用它来存储和读取文件,改文件也可以被其他应用程序所读取。

Android提供了不同的文件系统,所有应用程序数据为该应用程序私有。当然也可以通过统一的借口提供给其他应用程序访问。

 

10.1SharedPreferences

用于存储简单的配置信息,如欢迎语、用户名及密码,以键值对方式存储。

初始化对象:

SharedPreferences setting= getSharedPreferences(“SEETING_INFO”,0);

接受前端输入并保存:

Setting.edit().putString(“name”,X.getText().toString());

获取保存的值

Setting.getString(“name”,””);

 

界面生成时一般执行onCreate(),退出时一般执行onStop();

 

SharedPreferences一般以XML形式保存。SEETING_INFO.xml

 

10.2类似Java I/O形式的接口:openFileInputOpenFileOutput

示例:

FileOutputStream fos = openFileOutput(“文件名”,Context.MODE_PRIVATE—写入模式);

FileInputStream  fis = openFileInput(“文件名”,);

FileOutputStream创建的文件其他应用程序无法读取。如需共享,则需要使用ContentProvider

 

如果应用程序需要额外的资源文件,可将其放在res/raw目录下,使用getResources获取资源。

Resource res = getResources();

InputStream is = res.openRawResource(R.raw.fileId);

10.3SQlite

Android使用SQLite作为数据库。支持SQL语句,轻量级嵌入式数据库。

一个SQLiteDatabase示例代表一个SQLite数据表,数据库在Android中的私有的,名字也是唯一的。

 

SQLiteOpenHelper用于生成数据库,并对数据库版本管理。调用getWritableDatabase()getReadableDatabase()时,如无数据库,则生成一个。

是抽象类,需要继承并实现3个方法:onCreate()

onCreate():数据库第一次生成时使用,在该方法中生成数据库表。

onUpdate():数据库升级时,系统主动调用该方法。一般在该方法中删旧表,建新表。

OnOpen():打开数据库时的回调函数,一般不会用到。

 

Android日志打印级别:VerboseDebugInfoWarningError

 

Cursor是随机读写数据库查询结果的借口

ContentValues以键值对存储数据,键位Sring类型,值为基础类型。

 

SimpleCursorAdapter负责将Cursor中的数据放到ListView中。同理ArrayAdapter

10.4ContentProvider

一个应用程序可以通过ContentProvider的接口将自己的数据暴露出去,外界通过其他接口读写数据。

常用的接口是query(),insert(),update(),delete()

 

外界通过ContentResolver访问ContentProvider中的数据。在Android中,通过getContentResolver()获取现有应用中的ContentResolver实例。

 

ContentResolverContentProvider通过URL读写数据。URL可以是指定全部数据,可以是某个ID的数据。

URL由三部分组成:

Content://+要获取数据的字符串片段+ID

 

startManagingCursor(Corsor):系统管理生成的Corsor

 

ListView中的id 必须声明为@+id/Android:才能被ListView引用。

 

Android数据库中,每个表都有一个_id字段。

 

10.5网路存储

WebService

若需访问外部网络,需要在AndroidManinfest.xml中加入代码申请许可权限:

<use-permission Android:name=”Android.permission.INTERNET”

HttpPost访问:request=new HttpPost(url网址)

Request.setEntry();

Try{

    HttpResponse response=new DefaultHttpClient().execute(request);

If(response.getStatueLine().getStatueCode()!=404)

   String result=EntityUtil.toString(response.getEntity());

}catch(Exception e){

 

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值