第6章 Android数据存储 理论

上传人:我*** 文档编号:137676706 上传时间:2020-07-11 格式:PPT 页数:25 大小:1.32MB
返回 下载 相关 举报
第6章 Android数据存储 理论_第1页
第1页 / 共25页
第6章 Android数据存储 理论_第2页
第2页 / 共25页
第6章 Android数据存储 理论_第3页
第3页 / 共25页
第6章 Android数据存储 理论_第4页
第4页 / 共25页
第6章 Android数据存储 理论_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《第6章 Android数据存储 理论》由会员分享,可在线阅读,更多相关《第6章 Android数据存储 理论(25页珍藏版)》请在金锄头文库上搜索。

1、第6章 Android数据存储,本章内容,Android的SharedPreferences Android的文件读写 Android的SQLite数据库,本章目标,了解Android数据存储方式 掌握SharedPreferences的使用 掌握文件读写的使用 掌握SQLite数据库的使用,1. Android数据存储,Android为应用软件提供了一种向其他应用软件开放私有数据的标准方式。,Android数据存储描述了应用软件存储和获取数据、向其他应用软件开放数据、从其他应用软件请求数据并将其开放的方式,1. Android数据存储,Android数据存储分为以下4种方式: 1. Shar

2、edPreferences存储 2. 文件(Files)存储 3. 数据库(SQLite Databases)存储 4. 网络存储,2. SharedPreferences数据储存,SharedPreferences是Android提供的一种用于存储部分简单配置信息(如默认的欢迎语、登录用户名和密码等)的机制,以键值对方式存储,便于读取和存入。,2. SharedPreferences数据储存, ,使用SharedPreferences存储登录的用户名和密码:,用户登录的布局文件,public class SharedPreferencesActivity extends Activity i

3、mplements OnClickListener private SharedPreferences mySharedPreferences;/定义SharedPreferences对象 private EditText userName; private EditText password; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btnSave = (Button) f

4、indViewById(R.id.btnSave); userName = (EditText) findViewById(R.id.userName); password = (EditText) findViewById(R.id.password); /获得一个SharedPreferences对象 mySharedPreferences = getSharedPreferences(SETTING_INFOS, 0); String userNameStr = mySharedPreferences.getString(userName, ); String passwordStr =

5、 mySharedPreferences.getString(password, ); userName.setText(userNameStr); password.setText(passwordStr); btnSave.setOnClickListener(this); Override public void onClick(View v) mySharedPreferences = getSharedPreferences(SETTING_INFOS, 0); SharedPreferences.Editor editor = mySharedPreferences.edit();

6、 editor.putString(userName, userName.getText().toString() .putString(password, password.getText().toString(); mit(); new AlertDialog.Builder(this).setTitle(登录成功.) .setPositiveButton(确定, null).show(); ,2. SharedPreferences数据储存,在Eclipse中切换到DDMS视图的File Explorer标签,找到/data/data目录中对应项目下的shared_prefs文件夹,Sh

7、aredPreferences存储的数据即存放在此文件夹中。,3. 文件数据存储,SharedPreferences存储方式简单易行,只适合存储较简单的数据,需要存储更多的数据时可以选择文件存储方式。 文件存储是一种较常用的方法,Android中读取/写入文件的方法与Java中实现I/O的程序相同,使用openFileInput()方法和openFileOutput()方法读取设备中的文件。,3. 文件数据存储, ,使用SharedPreferences存储登录的用户名和密码:,搜索产品的布局文件,public class FileActivity extends Activity imple

8、ments OnClickListener private EditText productName; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btnSave = (Button) findViewById(R.id.btnSave); productName = (EditText) findViewById(R.id.productName); try InputStre

9、am is = openFileInput(file.txt); byte buffer = new byte100; int byteCount = is.read(buffer); String productNameStr = new String(buffer, 0, byteCount, utf-8); productName.setText(productNameStr); is.close(); catch (Exception e) e.printStackTrace(); btnSave.setOnClickListener(this); Override public vo

10、id onClick(View arg0) try OutputStream os = openFileOutput(file.txt, Activity.MODE_PRIVATE); String productNameStr = productName.getText().toString(); os.write(productNameStr.getBytes(utf-8); os.close(); catch(Exception e) e.printStackTrace(); new AlertDialog.Builder(this).setTitle(搜索成功.).setPositiv

11、eButton(确定, null).show(); ,重新启动模拟器,3. 文件数据存储,使用openFileOutput方法打开文件的模式,3. 文件数据存储,通过SharedPreferences操作的数据存储在shared_prefs文件夹中,而文件操作的数据存储在与shared_prefs同级的files文件夹中。,4. SQLite数据存储,Android平台中集成了嵌入式的关系型数据库SQLite,它是一款开源的嵌入式数据库引擎,支持多数SQL92标准。 与其他数据库相比,SQLite非常适合作为移动存储设备的数据存储,其具有以下4个特点: 1)处理速度快 2)占用资源少 3)SQ

12、Lite中所有数据库信息都存放在一个文件中,SQLite支持事务 4)SQLite支持Windows、Linux等操作系统,可以采用多种语言进行操作,4. SQLite数据存储,应用中需要操作数据库时,必须先获得SQLiteDatabase对象。 SQLiteDatabase提供了创建和打开数据库的方法,常用方法如下: 1)openDatabase(String path,CursorFactory factory, int flags) 2)openOrCreateDatabase(File file path,CursorFactory factory, int flags) 3)open

13、OrCreateDatabase(String path,CursorFactory factory, int flags),创建数据库对象,4. SQLite数据存储,文件的打开模式及说明,创建数据库对象,4. SQLite数据存储,操作数据,通常情况下,数据库操作包括增、删、改、查。SQLiteDatabase类提供了许多操作数据库的方法,包括直接使用SQL语句作为参数的方法和专用于增、删、改、查的方法。 在SQLiteDatabase中,execSQL()和rawQuery()是两个非常重要的方法。execSQL()方法可以执行insert、delete、update和CREATE TA

14、BLE等具有更改行为的SQL语句;rawQuery()方法可以执行select语句。,4. SQLite数据存储,查询数据,SQLiteDatabase中提供了直接解析SQL语句的查询方法和专用于查询的方法。,4. SQLite数据存储,SQLite进行数据储存示例,调用数据库操作方法时创建数据库的辅助类的onCreate(SQLiteDatabase db)方法: 辅助类的onUpgrade(SQLiteDatabase db,int oldVersion ,int newVersion)方法:,public void onCreate(SQLiteDatabase db) /创建数据库表

15、String sql = CREATE TABLE PRODUCT ( + _id AUTOINC, + PRODUCT_NAME VARCHAR(20) NOT NULL ON CONFLICT FAIL, + PRICE VARCHAR(20) NOT NULL ON CONFLICT FAIL, + ADDRESS VARCHAR(20) NOT NULL ON CONFLICT FAIL, + CONSTRAINT sqlite_autoindex_t_contacts_1 PRIMARY KEY (_id); db.execSQL(sql); ,public void onUpgra

16、de(SQLiteDatabase db, int oldVersion, int newVersion) String sql = drop table if exists PRODUCT; db.execSQL(sql); /新的SQL语句 sql = CREATE TABLE PRODUCT ( + _id AUTOINC, + PRODUCT_NAME VARCHAR(20) NOT NULL ON CONFLICT FAIL, + PRICE VARCHAR(20) NOT NULL ON CONFLICT FAIL, + ADDRESS VARCHAR(20) NOT NULL ON CONFLICT FAIL, + CONSTRAINT sqlite_autoindex_t_contacts_1 PRIMARY KEY (_id); db.execSQL(sql); ,4. SQLite数据存储,查询显示数据的布局文件 实现该查询的Activity

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号