在android应用程序中存储webservice URL的位置
我是android开发新手。我正在开发一个应用程序,它调用web服务进行注册、登录等。。。现在,我将url和其他常量存储为类中的静态最终对象。这是最好的方法吗?还是我应该使用preferences或string.xml保存url,以确保在反编译apk时安全 这是最好的方法还是我应该使用首选项或 用于保存url的string.xml,确保反编译时的安全性 apk 根手机可以被修改以提供对私人偏好等的访问。即使您的代码被混淆,字符串被加密,您的URL仍然可以公开在android应用程序中存储webservice URL的位置,android,android-webservice,Android,Android Webservice,我是android开发新手。我正在开发一个应用程序,它调用web服务进行注册、登录等。。。现在,我将url和其他常量存储为类中的静态最终对象。这是最好的方法吗?还是我应该使用preferences或string.xml保存url,以确保在反编译apk时安全 这是最好的方法还是我应该使用首选项或 用于保存url的string.xml,确保反编译时的安全性 apk 根手机可以被修改以提供对私人偏好等的访问。即使您的代码被混淆,字符串被加密,您的URL仍然可以公开 答案不是对URL保密,而是以可靠的方
答案不是对URL保密,而是以可靠的方式保护web服务调用。您的帖子没有足够的信息来详细说明什么样的安全性最适合您的应用程序/服务。看看OAuth;AmazonAWS如何保护其web服务调用。这是一个很好的开始。您应该像下面这样使用登录凭据的首选项,并希望您能从中获得更理想的效果:
SharedPreferences sh_Pref;
Editor toEdit;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.yourlayout);
sh_Pref = getSharedPreferences("Login Credentials", MODE_PRIVATE);
EditText et_username=(EditText) findViewById(R.id.et_username);
EditText et_password=(EditText)this.findViewById(R.id.et_password);
Button btn_login=(Button)this.findViewById(R.id.btn_login);
btn_login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
username = et_username.getText().toString();
password = et_password.getText().toString();
sharedPrefernces();
Toast.makeText(MyPoints.this, "Details are saved", 20).show();
}
});
}
外部oncreate:
public void sharedPrefernces() {
// sh_Pref = getSharedPreferences("Login Credentials", MODE_PRIVATE);
toEdit = sh_Pref.edit();
toEdit.putString("Username", username);
toEdit.putString("Password", password);
toEdit.putBoolean("isLogedIn", true);
Log.d("TripleVMusic", "username in pref= " + username);
Log.d("TripleVMusic", "password in pref = " + password);
toEdit.commit();
}
您应该使用登录凭据的首选项: