在Android应用程序中存储Web服务URL的位置

时间:2014-03-20 11:39:41

标签: android android-webservice

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

2 个答案:

答案 0 :(得分:-1)

  

这是最好的方式吗,或者我应该使用偏好或   string.xml用于保存在反编译时确保安全的url   apk?

可以修改root电话以提供对私人首选项等的访问。即使您的代码经过混淆并且字符串已加密,您的网址仍然可以曝光。

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

答案 1 :(得分:-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();

}