Android数据存储和数据访问Word文档下载推荐.doc
《Android数据存储和数据访问Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《Android数据存储和数据访问Word文档下载推荐.doc(14页珍藏版)》请在冰豆网上搜索。
掌握各种文件存储的区别与适用情况;
了解SQLite数据库的特点和体系结构;
掌握SQLite数据库的建立和操作方法;
理解ContentProvider的用途和原理;
掌握ContentProvider的创建与使用方法
二:
实验工具
Eclipse(MyEclipse)+ADT+Android2.2SDK;
三:
实验题目
1.应用程序一般允许用户自己定义配置信息,如界面背景颜色、字体大小和字体颜色等,尝试使用SharedPreferences保存用户的自定义配置信息,并在程序启动时自动加载这些自定义的配置信息。
2.尝试把第1题的用户自己定义配置信息,以INI文件的形式保存在内部存储器上。
3.使用代码建库的方式,创建名为test.db的数据库,并建立staff数据表,表内的属性值如下表所示:
属性
数据类型
说明
_id
integer
主键
name
text
姓名
sex
性别
department
所在部门
salary
float
工资实验目的
工资
4.建立一个ContentProvider,用来共享第3题所建立的数据库;
四:
实验代码
InternalFileDemo
publicclassInternalFileDemoextendsActivity{
privatefinalStringFILE_NAME="
fileDemo.txt"
;
privateTextViewlabelView;
privateTextViewdisplayView;
privateCheckBoxappendBox;
privateEditTextentryText;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
labelView=(TextView)findViewById(R.id.label);
displayView=(TextView)findViewById(R.id.display);
appendBox=(CheckBox)findViewById(R.id.append);
entryText=(EditText)findViewById(R.id.entry);
ButtonwriteButton=(Button)findViewById(R.id.write);
ButtonreadButton=(Button)findViewById(R.id.read);
writeButton.setOnClickListener(writeButtonListener);
readButton.setOnClickListener(readButtonListener);
entryText.selectAll();
entryText.findFocus();
}
OnClickListenerwriteButtonListener=newOnClickListener(){
@Override
publicvoidonClick(Viewv){
FileOutputStreamfos=null;
try{
if(appendBox.isChecked()){
fos=openFileOutput(FILE_NAME,Context.MODE_APPEND);
}
else{
fos=openFileOutput(FILE_NAME,Context.MODE_PRIVATE);
Stringtext=entryText.getText().toString();
fos.write(text.getBytes());
labelView.setText("
文件写入成功,写入长度:
"
+text.length());
entryText.setText("
);
}catch(FileNotFoundExceptione){
e.printStackTrace();
}
catch(IOExceptione){
finally{
if(fos!
=null){
try{
fos.flush();
fos.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
};
OnClickListenerreadButtonListener=newOnClickListener(){
@Override
publicvoidonClick(Viewv){
displayView.setText("
FileInputStreamfis=null;
try{
fis=openFileInput(FILE_NAME);
if(fis.available()==0){
return;
byte[]readBytes=newbyte[fis.available()];
while(fis.read(readBytes)!
=-1){
Stringtext=newString(readBytes);
displayView.setText(text);
labelView.setText("
文件读取成功,文件长度:
}
};
}
SimplePreferenceDemo
publicclassSimplePreferenceDemoextendsActivity{
privateEditTextnameText;
privateEditTextageText;
privateEditTextheightText;
publicstaticfinalStringPREFERENCE_NAME="
SaveSetting"
publicstaticintMODE=Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE;
nameText=(EditText)findViewById(R.id.name);
ageText=(EditText)findViewById(R.id.age);
heightText=(EditText)findViewById(R.id.height);
publicvoidonStart(){
super.onStart();
loadSharedPreferences();
publicvoidonStop(){
super.onStop();
saveSharedPreferences();
privatevoidloadSharedPreferences(){
SharedPreferencessharedPreferences=getSharedPreferences(PREFERENCE_NAME,MODE);
Stringname=sharedPreferences.getString("
Name"
"
Tom"
intage=sharedPreferences.getInt("
Age"
20);
fl