您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > Android数据存储和数据访问
南昌航空大学实验报告二0一4年11月14日课程名称:Android实验名称:Android数据存储和数据访问班级:姓名:同组人:指导教师评定:签名:一:实验目的掌握SharedPreferences的使用方法;掌握各种文件存储的区别与适用情况;了解SQLite数据库的特点和体系结构;掌握SQLite数据库的建立和操作方法;理解ContentProvider的用途和原理;掌握ContentProvider的创建与使用方法二:实验工具Eclipse(MyEclipse)+ADT+Android2.2SDK;三:实验题目1.应用程序一般允许用户自己定义配置信息,如界面背景颜色、字体大小和字体颜色等,尝试使用SharedPreferences保存用户的自定义配置信息,并在程序启动时自动加载这些自定义的配置信息。2.尝试把第1题的用户自己定义配置信息,以INI文件的形式保存在内部存储器上。3.使用代码建库的方式,创建名为test.db的数据库,并建立staff数据表,表内的属性值如下表所示:属性数据类型说明_idinteger主键nametext姓名sextext性别departmenttext所在部门salaryfloat工资实验目的掌握SharedPreferences的使用方法;掌握各种文件存储的区别与适用情况;了解SQLite数据库的特点和体系结构;掌握SQLite数据库的建立和操作方法;理解ContentProvider的用途和原理;掌握ContentProvider的创建与使用方法实验工具Eclipse(MyEclipse)+ADT+Android2.2SDK;实验题目1.应用程序一般允许用户自己定义配置信息,如界面背景颜色、字体大小和字体颜色等,尝试使用SharedPreferences保存用户的自定义配置信息,并在程序启动时自动加载这些自定义的配置信息。2.尝试把第1题的用户自己定义配置信息,以INI文件的形式保存在内部存储器上。3.使用代码建库的方式,创建名为test.db的数据库,并建立staff数据表,表内的属性值如下表所示:属性数据类型说明_idinteger主键nametext姓名sextext性别departmenttext所在部门salaryfloat工资4.建立一个ContentProvider,用来共享第3题所建立的数据库;4.建立一个ContentProvider,用来共享第3题所建立的数据库;四:实验代码InternalFileDemopublicclassInternalFileDemoextendsActivity{privatefinalStringFILE_NAME=fileDemo.txt;privateTextViewlabelView;privateTextViewdisplayView;privateCheckBoxappendBox;privateEditTextentryText;@OverridepublicvoidonCreate(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(){@OverridepublicvoidonClick(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){e.printStackTrace();}finally{if(fos!=null){try{fos.flush();fos.close();}catch(IOExceptione){e.printStackTrace();}}}}};OnClickListenerreadButtonListener=newOnClickListener(){@OverridepublicvoidonClick(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(文件读取成功,文件长度:+text.length());}catch(FileNotFoundExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}}};}SimplePreferenceDemopublicclassSimplePreferenceDemoextendsActivity{privateEditTextnameText;privateEditTextageText;privateEditTextheightText;publicstaticfinalStringPREFERENCE_NAME=SaveSetting;publicstaticintMODE=Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);nameText=(EditText)findViewById(R.id.name);ageText=(EditText)findViewById(R.id.age);heightText=(EditText)findViewById(R.id.height);}@OverridepublicvoidonStart(){super.onStart();loadSharedPreferences();}@OverridepublicvoidonStop(){super.onStop();saveSharedPreferences();}privatevoidloadSharedPreferences(){SharedPreferencessharedPreferences=getSharedPreferences(PREFERENCE_NAME,MODE);Stringname=sharedPreferences.getString(Name,Tom);intage=sharedPreferences.getInt(Age,20);floatheight=sharedPreferences.getFloat(Height,1.81f);nameText.setText(name);ageText.setText(String.valueOf(age));heightText.setText(String.valueOf(height));}privatevoidsaveSharedPreferences(){SharedPreferencessharedPreferences=getSharedPreferences(PREFERENCE_NAME,MODE);SharedPreferences.Editoreditor=sharedPreferences.edit();editor.putString(Name,nameText.getText().toString());editor.putInt(Age,Integer.parseInt(ageText.getText().toString()));editor.putFloat(Height,Float.parseFloat(heightText.getText().toString()));editor.commit();}}SQLiteDemoDBAdapter.javapublicclassDBAdapter{privatestaticfinalStringDB_NAME=people.db;privatestaticfinalStringDB_TABLE=peopleinfo;privatestaticfinalintDB_VERSION=1;publicstaticfinalStringKEY_ID=_id;publicstaticfinalStringKEY_NAME=name;publicstaticfinalStringKEY_AGE=age;publicstaticfinalStringKEY_HEIGHT=height;privateSQLiteDatabasedb;privatefinalContextcontext;privateDBOpenHelperdbOpenHelper;publicDBAdapter(Context_context){context=_context;}/**Closethedatabase*/publicvoidclose(){if(db!=null){db.close();db=null;}}/**Openthedatabase*/publicvoidopen()throwsSQLiteException{dbOpenHelper=newDBOpenHelper(context,DB_NAME,null,DB_VERSION);try{db=dbOpenHelper.getWritableDatabase();}catch(SQLiteExceptionex){db=dbOpenHelper.getReadableDatabase();}}publiclonginsert(Pe
本文标题:Android数据存储和数据访问
链接地址:https://www.777doc.com/doc-4327644 .html