Android大数据的存储和大数据的访问_第1页
Android大数据的存储和大数据的访问_第2页
Android大数据的存储和大数据的访问_第3页
Android大数据的存储和大数据的访问_第4页
Android大数据的存储和大数据的访问_第5页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用标准文案南昌航空大学实验报告二0一 4 年 11月14 日课程名称:Android 实验名称: Android 数据存储和数据访问 班级:姓名:_同组人:指导教师评定:签名:一:实验目的掌握SharedPreferences的使用方法;掌握各种文件存储的区别与适用情况;了解SQLite数据库的特点和体系结构;掌握SQLite数据库的建立和操作方法;理解ContentProvider的用途和原理;掌握ContentProvider的创建与使用方法二:实验工具Eclipse ( MyEclipse ) + ADT + Android2.2 SDK ;三:实验题目1 .应用程序一般允许用户自己定

2、义配置信息,如界面背景颜色、字体大小和字体颜色等,尝试使用SharedPreferences保存用户的自定义配置信息,并在程序启动时自动加载这些自定义的配置信息。2 .尝试把第1题的用户自己定义配置信息,以 INI文件的形式保存在内部存储器上。3 .使用代码建库的方式,创建名为test.db的数据库,并建立 staff数据表,表内的属性值如下表所示:属性数据类型说明_idinteger主键nametext姓名sextext性别departmenttext所在部门salaryfloat工资实验目的掌握 SharedPreferences 的使用 方法;掌握各种文件存储的区别与适 用情况;了解SQ

3、Lite数据库的特点和 体系结构;掌握SQLite数据库的建立和 操作方法;理解ContentProvider的用途和 原理;掌握ContentProvider的创建与 使用方法实验工具Eclipse (MyEclipse ) + ADT + Android2.2 SDK ;实验题目1 .应用程序一般允许用户自己 定义配置信息,如界面背景颜色、 字体大小和字体颜色等,尝试使用 SharedPreferences保存用户的自定 义配置信息,并在程序启动时自动 加载这些自定义的配置信息。2 .尝试把第1题的用户自己定 义配置信息,以INI文件的形式保 存在内郃存何命上。3 .使用代码建库的方式,创

4、建 名为test.db的数据库,并建立staff 数据表,表内的属性值如卜表所示:数据类型说明_idinteger主键nametext姓名sextext性别departmenttext所在部门salaryfloat工资4.建 立 一 个ContentProvider ,用来共学第 3题所建立的数据库;4 .建立一个ContentProvider ,用来共享第3题所建立的数据库;四:实验代码extends Activity InternalFileDemopublic class InternalFileDemoprivatefinal StringFILE_NAME ="fileDe

5、mo.txt"privateTextViewlabelView ;privateTextViewdisplayView ;privateCheckBoxappendBox ;privateEditTextentryText ;Overridepublic void onCreate(Bundle savedInstanceState) super .onCreate(savedInstanceState);setContentView(R.layout.main );labelView= (TextView)findViewById(R.id.label );displayView

6、= (TextView)findViewById(R.id.display );appendBox= (CheckBox)findViewById(R.id.append );entryText= (EditText)findViewById(R.id.entry );Button writeButton = (Button)findViewById(R.id.write );Button readButton = (Button)findViewById(R.id.read );writeButton.setOnClickListener(writeButtonListener);readB

7、utton.setOnClickListener(readButtonListener );精彩文档entryText.selectAll();entryText.findFocus();OnClickListenerwriteButtonListener=new OnClickListener() Overridepublic void onClick(View v) FileOutputStream fos =null ;try if ( appendBox .isChecked()fos = openFileOutput( FILE_NAME ,Context. MODE_APPEND)

8、; else fos =openFileOutput( FILE_NAME ,Context. MODE_PRIVATE ); String text =entryText .getText().toString();fos.write(text.getBytes();labelView.setText("文件写入成功,写入长度:"+text.length();entryText.setText(""); catch (FileNotFoundException e) e.printStackTrace();catch (IOException e) e

9、.printStackTrace();finally if (fos != null ) try fos.flush();fos.close(); catch (IOException e) e.printStackTrace();OnClickListenerreadButtonListener=new OnClickListener() Overridepublicvoid onClick(View v) "");null ;FILE_NAME );displayView .setText(FileInputStream fis = try fis = openFile

10、Input( if (fis.available() = 0)returnbyte 口 readBytes = new byte fis.available();while (fis.read(readBytes) != -1) String text =new String(readBytes);displayView.setText(text);labelView .setText( "文件读取成功,文件长度:"+text.length(); catch (FileNotFoundException e) e.printStackTrace();catch (IOExc

11、eption e) e.printStackTrace();SimplePreferenceDemopublic class SimplePreferenceDemoextends Activity privateEditTextnameText ;privateEditTextageText ;privateEditTextheightText ;publicstaticfinal StringPREFERENCE_NAME = "SaveSetting"publicstaticintMODE = Context.MODE WORLD READABLE +Context.

12、MODE WORLD WRITEABLE;Overridepublic void onCreate(Bundle savedInstanceState) super .onCreate(savedInstanceState);setContentView(R.layout.main );nameText = (EditText)findViewById(R.);ageText = (EditText)findViewById(R.id.age );heightText = (EditText)findViewById(R.id.height );Overridepublic vo

13、id onStart()super .onStart();l oadSharedPreferences();Overridepublic void onStop() super .onStop();saveSharedPreferences(); private void loadSharedPreferences()SharedPreferences sharedPreferences =getSharedPreferences( PREFERENCE_NAME, MODE);String name = sharedPreferences.getString("Name"

14、 , "Tom");int age = sharedPreferences.getInt("Age" , 20);float height = sharedPreferences.getFloat("Height" ,1.81f);nameText .setText(name);ageText .setText(String.valueOf (age);heightText .setText(String.valueOf (height);private void saveSharedPreferences()SharedPrefer

15、ences sharedPreferences = getSharedPreferences( PREFERENCE_NAME, MODE);editor.putString(SharedPreferences.Editor editor = sharedPreferences.edit();"Name" , nameText .getText().toString();Integer.Float.editor.putInt(parseInt editor.putFloat( parseFloat mit();"Age",(ageText .getTex

16、t().toString();"Height" ,(heightText .getText().toString();SQLiteDemo43DBAdapter.javapublic class DBAdapter privatestaticfinalStringDB_NAME ="people.db"privatestaticfinalStringDB_TABLE ="peopleinfo"privatestaticfinalintDB_VERSION = 1;publicstaticfinalStringKEY_ID =:_id&

17、quot;publicstaticfinalStringKEY_NAME ="name"publicstaticfinalStringKEY_AGE ="age"publicstaticfinalStringKEY_HEIGHT="height"private SQLiteDatabase db;private final Context context ;private DBOpenHelper dbOpenHelper ;public DBAdapter(Context _context) context = _context;/

18、* Close the database */ public void close() if ( db != null ) db .close();db = null ; /* Open the database */public void open() throws SQLiteException dbOpenHelper = new DBOpenHelper( context , DB_NAME, nullDB_VERSION ); try db = dbOpenHelper .getWritableDatabase(); catch (SQLiteException ex) db = d

19、bOpenHelper .getReadableDatabase(); public long insert(People people) Contentvalues newValues =new ContentValues();newValues.put( KEY_NAME, people. Name);newValues.put( KEY_AGE, people. Age);newValues.put( KEY_HEIGHT , people. Height );return db .insert( DB_TABLE , null , newValues); publicPeople口 q

20、ueryAllData() Cursor results =db .query( DB_TABLE , new String KEY_IDKEY_NAME, KEY_AGE, KEY_HEIGHT , null , null , null , null , null );return ConvertToPeople(results); publicPeople口 queryOneData(long id) Cursor results =db .query( DB_TABLE , new String KEY_IDKEY_NAME, KEY_AGE, KEY_HEIGHT , KEY_ID +

21、 "=" + id, null , null , null , null );return ConvertToPeople(results); private People口 ConvertToPeople(Cursor cursor) int resultCounts = cursor.getCount();if (resultCounts = 0 | !cursor.moveToFirst() return null ;People peoples =new PeopleresultCounts;for ( int i = 0 ; i<resultCounts;

22、i+)peoplesi =new People();peoplesi. ID = cursor.getInt(0);peoplesi. Name = cursor.getString(cursor.getColumnIndex( peoplesi.Age =cursor.getInt(cursor.getColumnIndex(peoplesi.Height=cursor.getFloat(cursor.getColumnIndex(KEY_NAME);KEY_AGE);KEY_HEIGHT );cursor.moveToNext(); return peoples;publiclong de

23、leteAllData() return db .delete( DB_TABLE , null , null ); null );public long deleteOneData( long id) return db .delete( DB_TABLE , KEY_ID + "=" + id,public long updateOneData( long id , People people)Contentvalues updateValues =new ContentValues();updateValues.put( KEY_NAME, people. Name)

24、;updateValues.put( KEY_AGE, people. Age);updateValues.put( KEY_HEIGHT , people. Height );return db.update( DB_TABLE , updateValues,KEY_ID + "=" + id,null );/* 静态Helper类,用于建立、更新和打开数据库*/private static class DBOpenHelperextends SQLiteOpenHelper public DBOpenHelper(Context context, String name

25、, CursorFactory factory, int version) super (context, name, factory, version);private static final String DB_CREATE = "create table "+DB_TABLE + " (" + KEY_ID + " integer primary key autoincrement, "+KEY_NAME+ " text not null, " + KEY_AGE+ " integer,"

26、; + KEY_HEIGHT + " float);" ;Overridepublic void onCreate(SQLiteDatabase _db) _db.execSQL( DB_CREATE);Override public void_newVersion) onUpgrade(SQLiteDatabase_db, int _oldVersion,int_db.execSQL(onCreate(_db);"DROP TABLE IF EXISTS "+ DB_TABLE );People.javapublic class People publ

27、icintID = -1;publicStringNamepublicintAge ;publicfloatHeightOverridepublic String toString()String result =""result +="ID : " + this . ID + ”,"result +="姓名:"+ this . Name + ","result +="年龄:"+ this . Age + ","result +="身高:"+ t

28、his . Height + ","Jresult;returnSQLiteDemo.javapublic class SQLiteDemoextendsActivity /* Called when the activity is first created. */privateDBAdapterdbAdepterprivateEditTextnameTextprivateEditTextageText ;privateEditTextheightTextprivateEditTextidEntry ;privateTextViewlabelViewprivateText

29、ViewdisplayViewJJJOverridepublic void onCreate(Bundle savedInstanceState) super .onCreate(savedInstanceState);setContentView(R.layout.main );nameText = (EditText)findViewById(R.);ageText = (EditText)findViewById(R.id.age );heightText = (EditText)findViewById(R.id.idEntry = (EditText)findViewB

30、yId(R.id.height );id_entry );labelView = (TextView)findViewByld(R.id.label );displayView = (TextView)findViewByld(R.id.display );add );query_all );clear );delete_all );query );delete );update );Button addButton = (Button)findViewByld(R.id.Button queryAllButton = (Button)findViewByld(R.id.Button clea

31、rButton = (Button)findViewByld(R.id.Button deleteAllButton = (Button)findViewById(R.id.Button queryButton = (Button)findViewById(R.id.Button deleteButton = (Button)findViewById(R.id.Button updateButton = (Button)findViewById(R.id.new People();nameText .getText().toString();.getText().toString();.get

32、Text().toString();.insert(people);addButton.setOnClickListener( queryAllButton.setOnClickListener( clearButton.setOnClickListener( deleteAllButton.setOnClickListener(queryButton.setOnClickListener( deleteButton.setOnClickListener( updateButton.setOnClickListener(dbAdepter = new DBAdapter( dbAdepter

33、.open();OnClickListeneraddButtonListenerOverridepublic void onClick(View v) People people = people. Name = people. Age = Integer. parseInt (ageText people. HeightFloat. parseFloat (heightTextlong colunm = dbAdepter if (colunm = -1 )labelView .setText( else labelView .setText("+String. valueOf (

34、colunm);addButtonListener );queryAllButtonListener);clearButtonListener);deleteAllButtonListener)queryButtonListener);deleteButtonListener);updateButtonListener);this );=new OnClickListener() "添加过程错误!");"成功添加数据,ID : ;OnClickListenerqueryAllButtonListener= new OnClickListener() Overrid

35、e public void onClick(View v) People口 peoples =dbAdepter .queryAllData();if (peoples = null ) labelView .setText( "数据库中没有数据"); return ; labelView .setText( "数据库:"); String msg =""for ( int i = 0 ; i<peoples.length ; i+)msg += peoplesi.toString()+"n" display

36、View .setText(msg); ;OnClickListenerclearButtonListener= new OnClickListener() Overridepublic void onClick(View v) displayView .setText( ""); ;OnClickListenerdeleteAllButtonListener= new OnClickListener。Override public void onClick(View v) dbAdepter .deleteAllData(); String msg ="数据全部删除"labelView .setText(msg); ;OnClickListenerqueryButtonListener= new OnClickListener。Override public

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论