ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:128.54KB ,
资源ID:18716248      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18716248.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Andriod数据存储的基本知识Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Andriod数据存储的基本知识Word文档格式.docx

1、话,你可以使用这个方法,无需要提供识别的名称。 使用SharedPreferences对象来获取数据非常简单,直接使用相应的getter方法即可 使用SharedPreferences对象来存储数据,大致有如下几步调用edit()方法来得到SharedPreferences.Editor调用相应的put方法值添加进去调用commit来提交保存这些数据使用Shared Preferences-2 向SharedPreferences对象写入数据SharedPreferences sp =getSharedPreferences(SP,Activity.MODE_PRIVATE);SharedPr

2、eferences.Editor editor = sp.edit();editor.putString(param1, sp1);editor.putInt(param2, 222);mit();注意:所有的写入操作应该在一个Editor里面,也就是不要调用多次sp.edit()方法,每调用一次就会创建一个Editor 在获得SharedPreferences对象的时候,需要指定文件创建的模式:MODE_PRIVATE:默认模式,文件只可以被调用该方法的应用程序访问MODE_WORLD_READABLE:赋予所有的应用程序都可以读取该文件MODE_WORLD_WRITEABLE:赋予所有的应

3、用程序都可以写该文件MODE_MULTI_PROCESS:SharedPreference的装载标记,设置它,文件将会在SharedPreference实例被装载到进程的时候检查是否被修改,主要用在一个应用有多个进程的情况。使用Shared Preferences-3 从SharedPreferences对象读取数据SharedPreferences sp =T2.this.getSharedPreferences(String p1 = sp.getString(,int p2 = sp.getInt(,0); SharedPreferences的数据以xml存储在data/data/包名/

4、shared_prefs下面Internal Storage-1 当应用程序被安装到系统中后,其所在的包会有一个文件夹用于存放自己的数据,只有这个应用程序才有对这个文件夹的写入权限,这个私有的文件夹位于Android系统的/data/data/目录下,其他的应用程序都无法向这个文件夹中写入数据。 要读取应用自己的私有文件,就不能直接使用Java I/O的API了,需要使用Activity提供的方法:openFileInput或openFileOutput。 在使用openFileOutput方法的时候,需要指定打开的模式:MODE_APPEND:如果文件已存在就向该文件的末尾继续写入数据,而不

5、是覆盖原来的数据。赋予所有的应用程序对该文件读的权限。赋予所有的应用程序对该文件写的权限。Internal Storage-2 向应用对应的Internal Storage里面写入数据,这里以写对象来示例,如下:FileOutputStream fout = null;ObjectOutputStream os = null;tryfout =HelloWorldActivity.this.openFileOutput(MyData.txt,Activity.MODE_PRIVATE);os = new ObjectOutputStream(fout);os.writeObject(list)

6、;catch(Exception err)err.printStackTrace();finallytry fout.close();catch(IOException e1)e1.printStackTrace();try os.close(); catch(IOException e)e.printStackTrace(); 不支持BufferedOutputStreamInternal Storage-3 读取应用对应的Internal Storage里面的数据,这里以读取对象来示例,如下:FileInputStream fin = null;ObjectInputStream os =

7、 null;fin = HelloWorldActivity.this.openFileInput(os = new ObjectInputStream(fin);Toast.makeText(HelloWorldActivity.this, read file=+os.readObject(),Toast.LENGTH_LONG).show();catch(Exception err)err.printStackTrace();finallytryfin.close();tryos.close();catch(IOException e)e.printStackTrace(); 同样不支持B

8、ufferedInputStreamInternal Storage-保存Cache文件 如果你希望保存一些Cache数据,你可以使用getCacheDir() 来打开文件,将会把数据存储到一个临时的Cache文件里面。 当设备的内部存储空间低的时候,Android系统可能会清除这些Cache文件,以回收存储空间,这也意味着,你不能在Cache文件里面存储需要持久化的数据。Internal Storage-其它常用方法 在Context中其他常用的方法:getFilesDir()得到内部存储的文件系统的绝对路径getDir()在内部存储中创建目录,如果存在的话就打开这个目录deleteFile

9、()删除文件fileList()返回当前应用存储的文件列表External Storage(操作SD卡)-1 Android的I/O基本上和Java的I/O是一样的,只有一点点不同的地方,比如:需要加入sdcard的操作权限需要判断sd卡是否存在,存在才能操作放在sdcard的文件是公共的,而放到自己应用目录里面的文件才是私有的 常用的功能在AndroidManifest.xml添加sdcard读写操作权限/uses-permission在AndroidManifest.xml添加能创建和删除sdcard文件的操作权限android.permission.MOUNT_UNMOUNT_FILES

10、YSTEMS /判断SD卡是否插入Environment.getExternalStorageState().equals(android.os.Enviroment.MEDIA_MOUNTED)获得SD卡根目录Android7及以下版本,使用:Environment.getExternalStorageDirectory()可以获得如下路径“/Android/data/files/”Android8及以上版本,建议使用:Context的getExternalFilesDir(type)方法,type表示你想要访问什么样的子目录,比如Environment.DIRECTORY_MUSIC,如果

11、访问根目录,就传入null。External Storage(操作SD卡)-2 从SD卡上读文件,基本就是Java里面I/O的操作,这里以读对象为例:public Object readFile(String filePathName) Object ret = null;FileInputStream fins = null;try File file = new File(Environment.getExternalStorageDirectory() + filePathName);fins = new FileInputStream(file);os = new ObjectInpu

12、tStream(fins);ret = os.readObject(); catch(Exception err)err.printStackTrace();try fins.close();return ret; 比较遗憾的是,目前加上BufferedInputStream就出错External Storage(操作SD卡)-3 向SD卡上写文件,基本就是Java里面I/O的操作,这里以写对象为例:public void writefile(String filePathName,Object obj)FileOutputStream fouts = null;File file = new

13、 File(Environment.getExternalStorageDirectory() +filePathName);if(file.getParentFile().isDirectory() & !file.getParentFile().exists()file.getParentFile().mkdirs();if(!file.exists()file.createNewFile(); fouts = new FileOutputStream(file);os = new ObjectOutputStream(fouts);os.writeObject(obj); catch (

14、Exception err) err.printStackTrace();try fouts.close(); 如果要保存成Cache文件,可以使用Context的getExternalCacheDir方法二、数据存取方式 Preference “键-值”方式存储,以 xml 文件的形式保存 File 采用 java.io.* 库所提供 I/O 接口读写文件 SQLite SQLite 是轻量级的嵌入式数据库引擎 Content Provider 用于实现不同应用程序之间的数据共享1、 Preference 主要用于存储数据较少的场合,比如配置信息 文件位置:/data/data/shared

15、_prefs/*.xml 需要用到接口:SharedPreferences 及其内部接口:SharedPreferences.Editor 取得接口: Context.SharedPreferences(filename,mode) SharedPreferences.edit() 数据类型、数据操作: int、flaot、string、boolean等 putString(key,value) getString(key,defValue)实例:Test_of_Preference 定义 main.xml: 一个 EditText 用于键入数据 三个 Button 分别用于将数据写入 xml

16、 文件、从文件获取数据并显示、清除文件中的数据 定义 sharedpreferences.xml: 一个 TextView 用于显示从文件中获取的数据textView1=(TextView)findViewById(R.id.textView1); 创建接口 sp1、spEditor1private SharedPreferences sp1;sp1 = this.getSharedPreferences(test, MODE_PRIVATE);SharedPreferences.Editor spEditor1 = sp1.edit(); 以键值 方式加入数据spEditor1.putStr

17、ing(TEXT,et1.getText().toString();spEmit(); 以 String Key 为索引来获取数据String string1 = sp1.getString( textView1.setText(string1); 清除数据spEditor1.clear().commit();运行结果:可在File Explorer 中查找、导出文件:data/data/shared prefs/test.xml2、 File 文件可用来存放大量数据,如文本、图片、音频等 默认位置:/files/*.* java.io.* 库提供 I/O 接口实现本地文件读写 文件输入流的获

18、取 Context.openFileInput(String name) 文件输出流的获取 Context.openFileOutput(String name, int mode) 包内资源(res/raw/)文件的读取 Resources.openRawResource(R.raw.file)Test_of_File 两个 EditText、两个 Button 写文件 writeFile(str):private void writeFile(String str) try FileOutputStream output= openFileOutput(FILE_NAME,MODE_APP

19、END); output.write(str.getBytes(); output.close(); catch(Exception e) Log.e(File_IO, e.toString(); this.finish(); 读文件 readFile():private String readFile() FileInputStream input = openFileInput(FILE_NAME); byte buffer = new byteinput.available(); input.read(buffer); input.close(); String str = new St

20、ring(buffer); return str; return null;editText2.setText(readFile(); 运行结果: 注意:写文件时用的 MODE_APPEND 模式3、 SQLite 轻量级嵌入式数据库引擎,面向资源有限的设备 没有服务器进程 所有数据存放在同一文件中 跨平台,可自由复制 SQLiteOpenHelper 帮助类,用于管理数据库创建和版本更新 onCreate(SQLiteDatabase db) onUpgrade(db,int old_ver,int new_ver) sqlite3 :位于 /toolsTest_of_SQLite Data

21、baseHelper 继承自 SQLiteOpenHelper 重写了onCreate()、onUpgrade() 方法 实现 insert、del、query、close 等方法 ListView 显示记录,字段对应成 TextView ListView 的 onItemClick() 实现删除记录 数据库文件路径: /data/data/database/*.dbDatabaseHelper.javaprivate SQLiteDatabase db;public void insert(ContentValues values) SQLiteDatabase db = getWritab

22、leDatabase(); db.insert(TABLE_NAME, null, values); db.close();public void del(int id) if(db = null) db = getWritableDatabase(); db.delete(TABLE_NAME, _id=?, new StringString.valueOf(id);public void onCreate(SQLiteDatabase db) this.db = db; db.execSQL(CREATE_TABLE);Query_Test.javaDatabaseHelper dbHel

23、per = new DatabaseHelper(this);Cursor cursor = dbHelper.query();String from = _idnameurlnotes;int to = R.id.textView1,R.id.textView2,R.id.textView3, R.id.textView4;SimpleCursorAdapter scadapter = new SimpleCursorAdapter (this,R.layout.favoritelist,cursor,from,to);ListView listView = getListView();li

24、stView.setAdapter(scadapter);AlertDialog.Builder adBuilder = new AlertDialog.Builder(this);listView.onItemClick adBuilder.setMessage(确认删除?) .setPositiveButton(Y, new OnClickListener() .setNegativeButton(N, new OnClickListener(); AlertDialog aleraDialog = adBuilder.create(); aleraDialog.show();4、 Con

25、tent Provider 与 Activity、Service、Broadcast Receiver 同属 Android 应用程序基本组件之一 用于保存和检索数据,实现了数据的跨应用共享 Android 中各应用均运行在自己的进程中,互相访问的 Content Provider 接口统一定义在 android.provider 包内,涵盖了常见的数据类型如音视频、图片、联系人等 实现的方法包括:insert、delete、qurey、update 等 URI Content Provider 用以实现数据共享的对象 Content Resolver Content Provider 的客户端接口 客户端通过 getContentResolver() 获得接口 提供与 Content Pro

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1