当前位置:首页 > 开发 > 行业应用 > 正文

Android学习笔记之9数据存储

发表于: 2013-11-11   作者:aoyouzi   来源:转载   浏览次数:
摘要: 数据存储 典型的桌面OS的文件系统是公共文件系统——任何软件可以使用它来存储和读取文件,改文件也可以被其他应用程序所读取。 Android提供了不同的文件系统,所有应用程序数据为该应用程序私有。当然也可以通过统一的借口提供给其他应用程序访问。   10.1SharedPreferences 用于存储简单的配置信息,如欢迎语、用户名及密码,以键值对方式存储。 初始化对象: Sh

数据存储

典型的桌面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){

 

}

Android学习笔记之9数据存储

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交
  在Android中一共提供了5种数据存储方式,分别为:   (1)Files:通过FileInputStream和FileO
  在Android中一共提供了5种数据存储方式,分别为:   (1)Files:通过FileInputStream和FileO
  在Android中一共提供了5种数据存储方式,分别为:   (1)Files:通过FileInputStream和FileO
文件 SharedPreferences SQLite数据库 内容提供者(Content provider)(对外共享数据使用) 网络 本
转载注明出处:袁方的技术博客 http://blog.csdn.net/yf210yf android为数据存储提供了多种方式: 1
转载注明出处:袁方的技术博客 http://blog.csdn.net/yf210yf 承接 android学习笔记6----------数据
  很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允
声明:学习的书籍《Android应用开发揭秘》,这里记录学习该书籍的日志,引用的相关代码与总结描述,
Android内置了一个名为SQLite的关系型数据库,这是一款轻量型的数据库,操作十分简便。SQLite与别的
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号