我在Android Studio上很新,我必须制作一个proyect,其中一个要求是注册应该包含一个电子邮件地址,我的问题是,是否可以在提供商中加入限制?只有以@ utem.edu.mx结尾的电子邮件才能注册,所以他们可以进一步登录吗?它应该与App和数据库的PHP连接?或者在Android Studio Activity中?
这是我的注册活动
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
final EditText etEmail = (EditText) findViewById(R.id.etEmail);
final EditText etName = (EditText) findViewById(R.id.etName);
final EditText etUsername = (EditText) findViewById(R.id.etUsername);
final EditText etPassword = (EditText) findViewById(R.id.etPassword);
final Button btnRegister = (Button) findViewById(R.id.btnRegister);
btnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String name = etName.getText().toString();
final String username = etUsername.getText().toString();
final String password = etPassword.getText().toString();
final String email = etEmail.getText().toString();
Response.Listener<String> responseListener = new Response.Listener<String>(){
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success){
Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
RegisterActivity.this.startActivity(intent);
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
builder.setMessage("Register Failed")
.setNegativeButton("Retry",null)
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
RegisterRequest registerRequest = new RegisterRequest(name, username, email, password,responseListener);
RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this);
queue.add(registerRequest);
}
});
这是我的登记请求活动
private static final String REGISTER_REQUEST_URL = "http://ubisutem.site88.net/Register.php";
private Map<String, String> params;
public RegisterRequest(String name, String username, String email, String password, Response.Listener<String> listener){
super(Method.POST,REGISTER_REQUEST_URL,listener, null);
params = new HashMap<>();
params.put("name", name);
params.put("username", username);
params.put("password", password);
params.put("email", email + "");
}
@Override
public Map<String, String> getParams(){
return params;
}
}
谢谢:D
答案 0 :(得分:1)
始终检查服务器端的这些东西。如果您在客户端执行此操作,则被黑客入侵的客户端或Web浏览器仍然可以将错误数据发送到您的服务器,您将盲目地将其写入数据库。例如,如果客户发送的东西之一是价格,他们可以覆盖它以说它是免费的。因此,请务必检查服务器上的所有输入。
您实际上可以选择检查客户端和服务器 - 这是提高客户端应用程序响应能力的好选择。但是,不要只做客户端。