私は混乱しているのではないかと疑問を抱いています。私はandroid/nodejs/postgreSQL、 で作業していて、サーバーにHTTPリクエストを送信して情報を保存できました。ボレーでオブジェクトを送信
しかし、これは、ユーザーとモデルを関連付けることを前提とした優れたプラクティスなしで行っていました。
だから、basicyはレジスタフォームからデータを取得します。単純なparams.putをフォーム情報とともに実行し、キー/値情報を使ってデータを送信します。
しかし、私はユーザーモデルを持っていて、そのユーザーモデルにparams.putを渡して同じことをしたいと思っています。
これは良い習慣を考慮しているのですか?それとも、ユーザーモデルを忘れてこのようなことをするべきですか?ここ
は、私は現時点ではやっているものです:public void register(View view) {
//get form data
final String username = usernameTxt.getText().toString();
String password = passwordTxt.getText().toString();
String email = emailTxt.getText().toString();
Log.d("email",String.valueOf(isValidEmail(email)));
if (!isValidEmail(email)) {
emailTxt.setError("Invalid Email");
}
//inicialize a map with pair key value
final Map<String, String> params = new HashMap<String, String>();
// Add form fields to the map
params.put("username", username);
params.put("email", email);
params.put("password", password);
/**
* Efetua um pedido ao servidor
*
* @param URl url do servidor a aceder
* @param JSONObject objeto json a ser retornado através do access point
*
*/
JsonObjectRequest request = new JsonObjectRequest(URL, new JSONObject(params),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
//TODO verificar o status code da resposta apenas deverá registar login caso seja 200
//verifica
Log.d("response",response.toString());
Intent i = new Intent(Register.this,Login.class);
i.putExtra("username",username);
startActivity(i);
finish();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
String body;
//get response body and parse with appropriate encoding
if(error.networkResponse.data!=null) {
String statusCode = String.valueOf(error.networkResponse.statusCode);
try {
body = new String(error.networkResponse.data,"UTF-8");
JSONObject jsonObj = new JSONObject(body);
Log.d("body",String.valueOf(jsonObj.get("message")));
showToast(String.valueOf(jsonObj.get("message")));
} catch (UnsupportedEncodingException e) {
showToast("You need to connect to the internet!");
} catch (JSONException e) {
Log.d("json:","problems decoding jsonObj");
}
}
//do stuff with the body...
}
});
request.setRetryPolicy(new DefaultRetryPolicy(60000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
queue.add(request);
}
はい、大量のデータを扱う場合は、問題を扱う際に正しいモデルを使用しているため、処理が簡単になります。 –
はい、どのように私はそれを渡すことができますバレーの要求 –
私は投稿 –