0

我是android开发的新手。我正在开发一个调用 Web 服务以进行注册、登录等的应用程序......现在我将 url 和其他常量存储为类中的静态最终对象。这是最好的方法还是我应该使用首选项或 string.xml 来保存在反编译 apk 时确保安全的 url?

4

2 回答 2

-1

这是最好的方法还是我应该使用首选项或 string.xml 来保存在反编译 apk 时确保安全的 url?

可以修改有根电话以提供对私人偏好等的访问。即使您的代码被混淆并且字符串加密,您的 URL 仍然可以公开。

答案不是对 URL 保密,而是以可靠的方式保护 Web 服务调用。您的帖子没有足够的信息来详细说明最适合您的应用/服务的安全性。看看 OAuth ;亚马逊 AWS 如何保护其 Web 服务调用。这是一个好的开始。

于 2014-03-20T11:45:54.327 回答
-2

您应该使用如下所示的登录凭据首选项,并希望您能从中获得灵感:

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();

}
于 2014-03-20T11:56:19.593 回答