私は現在、単純なゲームアプリケーション用のログインシステムを構築中です。私が達成しようとしていることは次のとおりです:ユーザがログインすると、ログイン後にユーザが来るアクティビティに上位5つのハイスコアを表示したい。データベースからの応答を処理し、新しいアクティビティに渡す
私がデータベースから取得したレスポンスは、このように見える文字列:
{"success":true,"toplist":
[{"username":"Tom","score":"4200"},
{"username":"John","score":"2303"},
{"username":"Benjamin","score":"700"},
{"username":"Michael","score":"648"},
{"username":"Daniel","score":"500"}]
}
ここから私は「ハンドル」とuserAreaActivityにトップ5の情報を渡し、その後、テーブルトップ5を表示したいと思います。
public class UserAreaActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_area);
final TableLayout tlHighscores = (TableLayout) findViewById(R.id.tlHighscores);
Intent intent = getIntent();
}
}
は次のようになります。それは任意の使用であれば
bSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String username = etUsername.getText().toString();
final String password = etPassword.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 userAreaIntent = new Intent(LoginActivity.this, UserAreaActivity.class);
LoginActivity.this.startActivity(userAreaIntent);
}
else
{
AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this);
builder.setMessage("Login failed!")
.setNegativeButton("Retry", null)
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
LoginRequest loginRequest = new LoginRequest(username, password, responseListener);
RequestQueue queue = Volley.newRequestQueue(LoginActivity.this);
queue.add(loginRequest);
}
});
これは私のUserAreaActivity.Javaは、次のようになります。ここでは
は、私は、応答を処理するために、これまで持っているものです最も便利な方法でこれをどうやってやるのか、誰かが私にいくつかの指導をしてくれることに感激しました。
@christianあなたは私の答えを試しましたか? – varunkr
答えをありがとう。私が就寝しようとしていたときに質問を投稿しましたが、それは魅力のように機能します。ありがとうございました! – christian24