Android移动开发第8章---数据存储与共享课件

上传人:txadgkn****dgknqu... 文档编号:157175157 上传时间:2022-09-29 格式:PPT 页数:45 大小:1.06MB
返回 下载 相关 举报
Android移动开发第8章---数据存储与共享课件_第1页
第1页 / 共45页
Android移动开发第8章---数据存储与共享课件_第2页
第2页 / 共45页
Android移动开发第8章---数据存储与共享课件_第3页
第3页 / 共45页
点击查看更多>>
资源描述
主要内容主要内容SharedPreferences使用SharedPreferences保存输入的用户名和密码SharedPreferencesSharedPreferences接口位于android.content包中,用于使用键值(key-value)对的方式来存储数据。通常情况下,可以通过以下两种方式获得SharedPreferences对象。使用getSharedPreferences()方法获取 getSharedPreferences(String name,int mode)使用getPreferences()方法获取它的参数值可以是MODE_PRIVATE、MODE_MULTI_PROCESS、MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE使用使用getPreferences()方法获取方法获取(1)调用SharedPreferences类的edit()方法获得SharedPreferences.Editor对象。例如,可以使用下面的代码获取获得私有类型的SharedPreferences.Editor对象。SharedPreferences.Editor editor=getSharedPreferences(mr,MODE_PRIVATE).edit();使用使用getPreferences()方法获取方法获取(2)向SharedPreferences.Editor对象中添加数据。例如,调用putBoolean()方法添加布尔型数据、调用putString()方法添加字符串数据、调用putInt()方法添加整型数据,可以使用下面的代码。editor.putString(username,username);editor.putBoolean(status,false);editor.putInt(age,20);使用使用getPreferences()方法获取方法获取(3)使用commit()方法提交数据,从而完成数据存储操作。SharedPreferences sp=getSharedPreferences(mr,MODE_PRIVATE);String username=sp.getString(username,mr);/获得用户名Boolean status=sp.getBoolean(status,false);int age=sp.getInt(age,18);使用使用SharedPreferences保存输入的用户名和密码保存输入的用户名和密码在Eclipse中创建Android项目,实现使用SharedPreferences保存输入的用户名和密码,并在第二个Activity中显示。主要内容主要内容内部存储外部存储资源文件内部存储内部存储FileOutputStream openFileOutput(String name,int mode)throws FileNotFoundExceptiontry FileOutputStream fos=openFileOutput(mr.txt,MODE_PRIVATE);/获得文件输出流 fos.write(“”.getBytes();/保存网址 fos.flush();/清除缓存 fos.close();/关闭文件输出流 catch(FileNotFoundException e)e.printStackTrace();可以使用MODE_PRIVATE、MODE_APPEND、MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE内部存储内部存储FileInputStream openFileInput(String name)throws FileNotFoundExceptionFileInputStream fis=openFileInput(mr.txt);/获得文件输入流byte buffer=new bytefis.available();/定义保存数据的数组fis.read(buffer);/从输入流中读取数据内部存储内部存储实现使用内部存储保存用户输入的用户名和密码,并在第二个Activity中显示。外部存储外部存储 使用Environment类的getExternalStorageDirectory方法,该方法用来获取外部存储器(SD卡)的目录。外部存储外部存储在Eclipse中创建Android项目,实现在SD卡上创建文件的功能。资源文件资源文件主要内容主要内容手动建库代码建库数据操作手动建库手动建库手动建库手动建库 在在/data/data/com.mingrisoft/data/data/com.mingrisoft目录下创建子目录目录下创建子目录databasesdatabases,可,可以使用下面的命令。以使用下面的命令。mkdir/data/data/com.mingrisoft/databases手动建库手动建库 要在已经创建的要在已经创建的/data/data/com.mingrisoft/databases/data/data/com.mingrisoft/databases目录下创目录下创建一个名称为建一个名称为mrmr的数据库,需要使用下面的两行命令。的数据库,需要使用下面的两行命令。cd/data/data/com.mingrisoft/databasessqlite3 mr手动建库手动建库 创建一个名称为创建一个名称为useruser的数据表,包含的数据表,包含3 3个字段,分别为个字段,分别为idid(整型的(整型的主键)、主键)、namename(字符串类型,表示用户名,不允许为空)、(字符串类型,表示用户名,不允许为空)、pwdpwd(字符(字符串类型,表示密码)。代码如下:串类型,表示密码)。代码如下:create table user(id integer primary key autoincrement,name text not null,pwd text);手动建库手动建库通过下面的代码可以显示当前数据库通过下面的代码可以显示当前数据库mrmr中的全部数据表。中的全部数据表。.tables通过下面的代码可以查看建立表通过下面的代码可以查看建立表useruser时使用的时使用的SQLSQL命令。命令。.schema手动建库手动建库手动建库手动建库updateupdate命令的基本语法格式如下:命令的基本语法格式如下:update 表名 set 字段名=新值 where 条件手动建库手动建库deletedelete命令的基本语法格式如下:命令的基本语法格式如下:delete from 表名 where 条件例如,将例如,将useruser数据库表中数据库表中idid为为1 1的用户删除,可以使用下面的代码。的用户删除,可以使用下面的代码。delete from user where id=1;代码建库代码建库在Eclipse中创建Android项目,实现通过代码创建个人理财通的数据库。数据操作数据操作public long insert(String table,String nullColumnHack,ContentValues values)update()update()方法的基本语法格式如下:方法的基本语法格式如下:update(String table,ContentValues values,String whereClause,String whereArgs)insert()insert()方法的基本语法格式如下:方法的基本语法格式如下:数据操作数据操作 query()query()方法的基本语法格式如下:方法的基本语法格式如下:query(String table,String columns,String selection,String selectionArgs,String groupBy,String having,String orderBy,String limit)CursorCursor类提供的常用方法类提供的常用方法方法说明moveToFirst用于将指针移动到第一条记录上moveToNext用于将指针移动到下一条记录上moveToPrevious用于将指针移动到上一条记录上getCount()用于获取集合的记录数量getColumnIndexOrThrow()用于返回指定字段名称的序号,如果字段不存在,则产生异常getColumnName()用于返回指定序号的字段名称getColumnNames()用于返回字段称的字符串数组getColumnIndex()用于根据字段名称返回序号moveToPosition()用于将指针移动到指定的记录上getPosition()用于返回当前指针的位置数据操作数据操作 delete()delete()方法的基本语法格式如下:方法的基本语法格式如下:delete(String table,String whereClause,String whereArgs)数据操作数据操作在Eclipse中创建Android项目,实现向个人理财通的数据库中添加、删除、更新和查询收入信息。主要内容主要内容Content Provider概述创建数据提供者使用数据提供者Content ProviderContent Provider概述概述 Content ProviderContent Provider使用基于数据库模型的简单表格来提供其中的数据,这使用基于数据库模型的简单表格来提供其中的数据,这里每行代表一条记录,每列代表特定类型和含义的数据。里每行代表一条记录,每列代表特定类型和含义的数据。_IDNAMENUMBEREMAIL001张XX123*123*002王XX132*132*003李XX312*312*004赵XX321*321*Content ProviderContent Provider概述概述每个每个Content ProviderContent Provider提供公共的提供公共的URIURI(使用(使用UriUri类包装)来唯一标识其数据集类包装)来唯一标识其数据集。管理多个数据集(多个表格)的。管理多个数据集(多个表格)的Content ProviderContent Provider为每个都提供了单独的为每个都提供了单独的URIURI。所有为。所有为providerprovider提供的提供的URIURI都以都以“content:/”content:/”作为前缀。作为前缀。创建数据提供者创建数据提供者开发人员定义开发人员定义ContentProviderContentProvider类的子类以便使用类的子类以便使用ContentResolverContentResolver和和CursorCursor类类带来的便捷来共享数据。原则上,这意味着需要实现带来的便捷来共享数据。原则上,这意味着需要实现ContentProviderContentProvider类定义类定义的以下的以下6 6个抽象方法:个抽象方法:public boolean onCreate()public Cursor query(Uri uri,String projection,String selection,String selectionArgs,String sortOrder)public Uri insert(Uri uri,ContentValues values)public int update(Uri uri,ContentValues values,String selection,String selectionArgs)public int delete(Uri uri,String selection,String selectionArgs)public String getType(Uri uri)创建数据提供者创建数据提供者使用数据提供者使用数据提供者AndroidAndroid系统提供的常见系统提供的常见Content ProviderContent Provider说明如下:说明如下:BrowserBrowser:读取或修改书签、浏览历史或网络搜索。:读取或修改书签、浏览历史或网络搜索。CallLogCallLog:查看或更新通话历史;:查看或更新通话历史;ContactsContacts:获取、修改或保存联系人信息;:获取、修改或保存联系人信息;LiveFoldersLiveFolders:由:由ContentProviderContentProvider提供内容的特定文件夹;提供内容的特定文件夹;MediaStoreMediaStore:访问声音、视频和图片;:访问声音、视频和图片;SettingSetting:查看和获取蓝牙设置、铃声和其他设备偏好;:查看和获取蓝牙设置、铃声和其他设备偏好;SearchRecentSuggestionsSearchRecentSuggestions:能被配置以使用查找意见:能被配置以使用查找意见providerprovider操作;操作;SyncStateContractSyncStateContract:用于使用数据数组账号关联数据的:用于使用数据数组账号关联数据的ContentProviderContentProvider约束。希望使用标准方约束。希望使用标准方式保存数据的式保存数据的providerprovider可以使用它。可以使用它。UserDictionaryUserDictionary:在可预测文本输入时,提供用户定义单词给输入法使用。应用程序和输入法能:在可预测文本输入时,提供用户定义单词给输入法使用。应用程序和输入法能增加数据到该字典。单词能关联频率信息和本地化信息。增加数据到该字典。单词能关联频率信息和本地化信息。使用数据提供者使用数据提供者开发人员需要下面开发人员需要下面3 3条信息才能查询条信息才能查询Content ProviderContent Provider中的数据:中的数据:标识该标识该Content ProviderContent Provider的的URIURI;需要查询的数据字段名称;需要查询的数据字段名称;字段中数据的类型。字段中数据的类型。使用数据提供者使用数据提供者使用数据提供者使用数据提供者实现查询通信录中全部联系人的姓名和手机号码。小结小结 在本章中首先介绍了在本章中首先介绍了AndroidAndroid系统中提供的最简单的永久性保存数据的方式系统中提供的最简单的永久性保存数据的方式SharedPreferencesSharedPreferences;然后介绍了直接使用文件系统保存数据的几种方法;接下;然后介绍了直接使用文件系统保存数据的几种方法;接下来又介绍了使用来又介绍了使用SQLiteSQLite进行数据库存储;最后介绍了如何使用进行数据库存储;最后介绍了如何使用Content ProviderContent Provider实现数据共享。本章的介绍的内容在实际项目开发中经常使用,希望大家认真学实现数据共享。本章的介绍的内容在实际项目开发中经常使用,希望大家认真学习,为以后进行实际项目开发打下良好的基础。习,为以后进行实际项目开发打下良好的基础。上机指导上机指导实现向SQLite数据库中批量添加数据,并通过ListView显示添加后的数据。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!