android的数据与访问(2)-delphi xe7如何存取我的app配置参数文件?
这种方法不推荐,因为该SharedPreference是android的方法。你想跨平台,在ios上就不能使用。建议还是用ini or xml。android因为读写该二种文件比较繁琐,所以推出自己简单的SharedPreference。
回到主题。上代码:
注意引用单元:
uses Androidapi.Helpers;
1 procedure TForm_GetParas.getParas; 2 var Prefs: JSharedPreferences; 3 Editor: JSharedPreferences_Editor; 4 I: Integer; 5 begin 6 Prefs := SharedActivity.getPreferences(TJActivity.JavaClass.MODE_PRIVATE); 7 Fv_usegname := JStringToString(Prefs.getString(StringToJString('Username'),StringToJString(''))); 8 Fv_pw := JStringToString(Prefs.getString(StringToJString('UserPW'),StringToJString(''))); 9 Fv_ServerIP := JStringToString(Prefs.getString(StringToJString('ServerIP'),StringToJString('127.0.0.1'))); 10 try 11 Fv_ServerPort := inttostr(Prefs.getInt(StringToJString('ServerPort'),8099)); 12 except 13 Fv_ServerPort := ''; 14 end; 15 end;
写入参数:
1 procedure TForm_GetParas.writerParas; 2 var Prefs: JSharedPreferences; 3 Editor: JSharedPreferences_Editor; 4 I: Integer; 5 begin 6 Prefs := SharedActivity.getPreferences(TJActivity.JavaClass.MODE_PRIVATE); 7 Editor := Prefs.edit; 8 Editor.putString(StringToJString('ServerIP'), StringToJString(Fv_ServerIP)); 9 Editor.putString(StringToJString('Username'), StringToJString(Fv_usegname)); 10 Editor.putString(StringToJString('UserPW'), StringToJString(Fv_pw)); 11 try 12 i := strtoint(Fv_ServerPort); 13 Editor.putInt(StringToJString('ServerPort'), i); 14 except 15 Editor.putString(StringToJString('ServerPort'), StringToJString('8099')); 16 end; 17 Editor.commit;// apply; 18 end;