您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > Android开发教程之本地数据存储API(一)
中国移动互联网研发培训专家好友列表(FacebookGraphAPIJSON格式)清单2.Friend类清单3.Friend数据库表存储应用程序首选项清单4.Preferences屏幕的XML声明中国移动互联网研发培训专家为了突出Android应用程序开发的本地存储方面,我这里介绍一个样例应用程序,它允许您测试各种类型API的执行。有源代码可供下载。该应用程序支持图1中的操作。中国移动互联网研发培训专家图1.用例中国移动互联网研发培训专家图1列出了以下用例:管理和存储首选项从应用程序资产加载信息将信息导出到内部内存、外部内存和本地数据库从内部内存和本地数据库读取数据清除已存储的信息在屏幕上查看信息中国移动互联网研发培训专家通篇文章中,详细介绍了在应用程序中使用本地存储,如下:从用户捕获首选项,本地存储起来,并在整个应用程序中加以使用。从内部应用程序资产检索一个用户图片,存储在本地内部内存和外部内存中,并呈现在屏幕上。从应用程序的资产检索一个JSON格式的好友列表。解析并存储在本地内部内存、外部内存和关系数据库中,再呈现在屏幕上。样例应用程序定义了表1中的类。类MainActivityFriendAppPreferenceActivityDBHelper说明MainActivity;大多数样例代码都驻留在这里描绘一个FriendPreferencesActivity和屏幕一个用于SQLite数据库管理的帮助器类中国移动互联网研发培训专家示例应用程序使用了两种类型的数据。第一种是应用程序首选项,存储为名-值对。对于首选项,定义了以下信息:一个filename,用于加载和存储好友姓名列表一个filename,用于加载和存储用户的一幅图片一个flag,如果设置了,那么表示在应用程序启动时自动删除所有已存储的数据第二种类型的数据是好友列表。好友列表最初表示为FacebookGraphAPIJSON格式,包含一组姓名和好友对象(参见清单1)。中国移动互联网研发培训专家{data:[{name:EdmundTroche,id:500067699}]}上面的简单格式使得Friend对象和数据库模式也简单。清单2展示了Friend类。中国移动互联网研发培训专家packagecom.cenriqueortiz.tutorials.datastore;importandroid.graphics.Bitmap;/***RepresentsaFriend*/publicclassFriend{publicStringid;publicStringname;publicbyte[]picture;publicBitmappictureBitmap;;}中国移动互联网研发培训专家除了ID和姓名之外,样例应用程序也保留了对好友图片的引用。尽管样例应用程序没有使用这些引用,但是您很容易扩展样例应用程序,以从Facebook检索图片并显示在主屏幕中。数据库模式包含单个表,用于存储Friend的信息。表有三列:惟一的ID或键FacebookIDFriend的姓名清单3展示了相应关系表声明的SQL语句。中国移动互联网研发培训专家db.execSQL(createtable+TABLE_NAME+(_idintegerprimarykeyautoincrement,+fidtextnotnull,nametextnotnull));根据此信息,您可以在主屏幕上显示姓名;使用ID,您可以检索所选用户的额外详细信息。在样例应用程序中,只显示了姓名。检索额外信息留给您去试验。注意,您很容易更改代码,以直接转向Facebook.中国移动互联网研发培训专家本节介绍PreferencesAPI和屏幕。AndroidAPI提供很多方式处理首选项。其中一种方式是直接使用SharedPreferences,并使用您自己的屏幕设计和首选项管理。第二种方法是使用PreferenceActivity。PreferenceActivity自动负责首选项如何呈现在屏幕上(默认情况下,看起来跟系统首选项一样),并通过使用SharedPreferences在用户与每个首选项交互时自动存储或保存首选项。中国移动互联网研发培训专家为了简化样例应用程序,使用一个PreferenceActivity来管理首选项和首选项屏幕(参见图2)。首选项屏幕显示两个部分:Assets和AutoSettings。在Assets下,您可以为FriendsList和Picture选项输入文件名。在AutoSettings下,您可以选中一个复选框,以便在启动时删除信息。中国移动互联网研发培训专家图2.实现的Preferences屏幕中国移动互联网研发培训专家在图2中,布局是用XML以声明式方法定义的(不是以编程方式);声明式XML是首选方法,因为它保持了源代码的清晰可读。清单4展示了PreferencesUI的XML声明。中国移动互联网研发培训专家?xmlversion=1.0encoding=utf-8?PreferenceScreenxmlns:android=android:id=@+id/prefs_screenandroid:key=preferencescreenPreferenceCategoryandroid:title=Assets中国移动互联网研发培训专家EditTextPreferenceandroid:key=@string/prefs_assetname_friendslist_keyandroid:title=FriendsListandroid:summary=Pleaseenterfilenameandroid:defaultValue=friends.txt/EditTextPreferenceandroid:key=@string/prefs_assetname_picture_keyandroid:title=Pictureandroid:summary=Pleaseenterfilenameandroid:defaultValue=pict2.jpg//PreferenceCategory中国移动互联网研发培训专家PreferenceCategoryandroid:title=AutoSettingsCheckBoxPreferenceandroid:key=@string/prefs_autodelete_keyandroid:title=DeleteatStartupandroid:summary=Checktoclearatstartupandroid:defaultValue=false//PreferenceCategory/PreferenceScreen中国移动互联网研发培训专家PreferenceScreen包含EditTextPreference的两个实例、一个CheckBoxPreference和两个由PreferenceCategory定义的类别组(一个用于Asset,另一个用于AutoSettings)。在样例应用程序中,设计要求Preference屏幕使用菜单项进行调用。为此,使用一条Intent消息来调用叫做AppPreferenceActivity的PreferenceScreenActivity(参见清单5)。注意,我没有详细介绍Intent如何工作。关于Intent的更多信息,请参见参考资料。
本文标题:Android开发教程之本地数据存储API(一)
链接地址:https://www.777doc.com/doc-2902526 .html