android保存数据方法

4种常见数据保存
1. 方法 writeEwcRvramFile(int x) throws android.os.RemoteException(格式化也没用,数据依然在)

2. 创建数据库保存

3. SharedPreferences (只能在同一包使用,格式化后没了)
          Context mContext = SpeedDialActivity.this;      导包---import android.content.SharedPreferences;import android.preference.PreferenceManager;
   保存: SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
          editor.putBoolean(REGISTER_INFO, isRegistered);
          editor.commit();
   获取: boolean isRegistered = PreferenceManager.getDefaultSharedPreferences(context).getBoolean(REGISTER_INFO, false);

4. Settings.System. (能在不同包使用,格式化后没了)
   保存: Settings.Global.putInt(mContext.getContentResolver(), "com.android.launched",1);   导包---import android.provider.Settings;
   获取: Settings.Global.getInt(mContext.getContentResolver(), "com.android.launched",0);
          Settings.Global.getString(context.getContentResolver(), Settings.Global.CAR_DOCK_SOUND);



          SystemProperties.getBoolean("ro.bdfun.shade_wifi_direct", false)是获取系统属性,没有就为false,与上面不同。
          在宏中可设置属性,也可在代码中修改---SystemProperties.set();   导包---import com.android.os.SystemProperties;




第4种在databaseHelper.java的应用
frameworks\base\core\java\android\provider\settings.java---定义变量:     
如:  public static final String CAR_DOCK_SOUND = "car_dock_sound";  
      MOVED_TO_GLOBAL.add(Settings.Global.CAR_DOCK_SOUND);  

frameworks\base\packages\settingsprovider\res\values\defaults.xml-----定义初始值(变量名和初始值名是不相同的)
如:  <string name="def_car_dock_sound" translatable="false">/system/media/audio/ui/Dock.ogg</string>  

frameworks\base\packages\settingsprovider\src\com\android\providers\settings\databaseHelper.java------给变量赋值并保存
如:  loadStringSetting(stmt, Settings.Global.CAR_DOCK_SOUND,R.string.def_car_dock_sound); 
阅读更多
博主设置当前文章不允许评论。

没有更多推荐了,返回首页