Android数据存储访问机制


  本文标签:Android数据存储

  大家在开发Android操作系统的时候,可能会经常碰到关于数据存储方面的一些操作  。在这里我们会为大家详细介绍一下有关Android数据存储的一些基本概念以及应用技巧  。在Android 系统中,所有应用程序数据都是私有的,任何其他应用程序都是无法访问的  。

  • Android电话功能各部分深入探讨
  • Android分享功能源码解读
  • Android核心模块内容概述
  • Android浏览器优异点评比
  • Android数字证书具体应用机制

  1. 如何使得应用程序的数据可以被外部访问呢?

  答案是使用android 的content provider 接口,content provider 可以使应用程序的私有数据暴露给其它application.

  有两种选择来暴露application data,一种是建立自己的content provider,另外一种是使用已有的content provider前提是数据类型一致  。

  2. Android数据存储的数据类型

  Android 提供了一系列的 content type. 包括image, audio, and video files and personal contact information 等等.

  3. Android数据存储机制

  Android 提供了存储和获取数据的以下几种机制

  3.1. Preference

  Preference 提供了一种轻量级的存取机制,主要是可以通过关键字读取和存储某个Preference value.

  比如载系统启动的时候得到上次系统退出时候保存的值  。

  

  1. view plaincopy to clipboardprint?  
  2. . . .   
  3. public static final String PREFS_NAME = "MyPrefsFile";   
  4. . . .   
  5. @Override   
  6. protected void onCreate(Bundle state){   
  7. super.onCreate(state);   
  8. . . .   
  9. // Restore preferences   
  10. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);   
  11. boolean silent = settings.getBoolean("silentMode", false);   
  12. setSilent(silent);   
  13. }   
  14. @Override   
  15. protected void onStop(){   
  16. super.onStop();   
  17. // Save user preferences. We need an Editor object to   
  18. // make changes. All objects are from android.context.Context   
  19. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);   
  20. SharedPreferences.Editor editor = settings.edit();   
  21. editor.putBoolean("silentMode", mSilentMode);   
  22. // Dont forget to commit your edits!!!   
  23. editor.commit();   
  24. }   
  25. . . .   
  26. public static final String PREFS_NAME = "MyPrefsFile";  
  27. . . .   
  28. @Override  
  29. protected void onCreate(Bundle state){   
  30. super.onCreate(state);  
  31. . . .  
  32. // Restore preferences  
  33. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);  
  34. boolean silent = settings.getBoolean("silentMode", false);  
  35. setSilent(silent);  
  36. }  
  37. @Override  
  38. protected void onStop(){  
  39. super.onStop();  
  40. // Save user preferences. We need an Editor object to  
  41. // make changes. All objects are from android.context.Context  
  42. SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);  
  43. SharedPreferences.Editor editor = settings.edit();  
  44. editor.putBoolean("silentMode", mSilentMode);  
  45. // Dont forget to commit your edits!!!  
  46. editor.commit();  
  47. } 

  

  

  

  3.2. Files

  通过Android数据存储中的File机制你可以直接存储一个文件到你手机文件系统路径比如SD卡中  。

  需要注意的是 , 默认情况下存储的文件是不可以被其他application是访问的 !!

  Context.openFileInput() 返回java的标准文件输入对象  。

  Context.openFileOutput() 返回java的标准文件输出对象  。

  

  3.3. Databases.

  Android 使用 SQLite 数据库  。

  可以通过调用SQLiteDatabase.create() and 以及子类 SQLiteOpenHelper.

  Android 还提供了sqlite3 database tool, 你可以通过这个工具像MySQL tool那样来直接访问,修改数据库

  

  3.4. Network.

  最后你也可以通过网络来存储数据,使用下面两个包的java class.

  

  1. java.net.*   
  2. android.net.* 

  Android数据存储的相关应用就为大家介绍到这里  。

【责任编辑:曹凯 TEL:(010)68476606】