您可以擁有一個具有已定義XML資源的配置文件。我已經做到了這一點,並且工作得很好。這樣,如果您有多個配置,您可以備份這些配置文件以使用舊版本。據我所知,我不認爲你可以編程方式編輯這些資源。
下面是我如何使用它的一個簡單示例。 即:
清單:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="blah.blah"
android:versionCode="@integer/version_code"
android:versionName="@string/build_version">
我的資源文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="version_code">1</integer>
<string name="build_version">1.0</string>
<string name="param">Some other Param</string>
</resources>
現在你的程序將能夠在運行時的版本號和版本名稱來獲得資源。要獲得其他值編程,您可以使用下面的代碼:
public class Configuration {
Context thisContext;
private String Param = "";
public Configuration(Context cont){
thisContext = cont;
String param= thisContext.getResources().getString(R.string.param);
setParam(param);
}
/**
* @return the param
*/
public static String getParam() {
return Param;
}
/**
* set the Param
*/
public static void setParam(String param) {
Param= param;
}
}
然後,你可以創建一個配置對象在應用程序中的onCreate像這樣:
new Configuration(this);
然後事後你可以使用函數
Configuration.getParam();
您想要獲取的任何類中的值。
你將不得不在各種參數仍然寫的,但它是非常簡單的事情。如果
需要引用舊版本上是爲換出配置文件一樣簡單。
希望這可以幫助你! 乾杯
啊,這個安全的問題。每天至少出現一次!簡短的回答,你不能。最好你可以使用設備上的數據進行加密,然後隱藏你的私鑰/散列/鹽/算法的生命。如果我有根(而且我總是這樣做),那麼唯一的問題是「開裂它的代價是否值得獎勵」?關於如何做到這一點,在這裏進行了大量的討論。 PS。就安全性而言,SQLite和嵌入式靜態數據之間沒有區別。兩者一樣容易,或者很難得到,取決於你讓我跳過多少圈。 – Simon
我的意思很多關於如何obsfucate,而不是如何破解的討論;) – Simon
我雖然如此關於問題的「安全」部分。它似乎歸結爲自己加密它。但正如你所說的,可能不值得付出努力,如果你修改了數據庫,至少在我的應用程序的情況下,它會停止正常工作。儘管我對優雅和優雅的部分更感興趣。也許在api中有一些東西可以正確地實現這種預加載。 –