私が行っているサンプルアプリケーション用の簡単なログインと登録ページを作成しようとしました。私はVolleyライブラリを使ってデータベースに対する要求と応答を処理し、私はファイルとDBをホストするために000webhost.comを使いました。データベースに接続中にPHPからのJSONレスポンスがありません
マイLoginActivityは、
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText uname =(EditText)findViewById(R.id.ed1);
final EditText pword =(EditText)findViewById(R.id.ed2);
Button Login=(Button)findViewById(R.id.b1);
TextView register=(TextView)findViewById(R.id.regv);
register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i= new Intent(MainActivity.this,RegisterActivity.class);
startActivity(i);
}
});
Login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String username = uname.getText().toString();
final String password = pword.getText().toString();
// Response received from the server
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) {
String name = jsonResponse.getString("username");
Intent intent = new Intent(MainActivity.this, Maps.class);
//intent.putExtra("username", username);
MainActivity.this.startActivity(intent);
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.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(MainActivity.this);
queue.add(loginRequest);
}
});
}
}
とLoginRequest活性は、
public class LoginRequest extends StringRequest {
private static final String LOGIN_REQUEST_URL = "my_host/loginfile";
private Map<String, String> params;
public LoginRequest(String username, String password, Response.Listener<String> listener) {
super(Method.POST, LOGIN_REQUEST_URL, listener, null);
params = new HashMap<>();
params.put("username", username);
params.put("password", password);
}
@Override
public Map<String, String> getParams() {
return params;
}
}
とlogin.phpファイル、
であります?>
私はアプリケーションを実行しようとし、ログイン要求を試みるときに、反対側からの応答もエラーもありません。データベーステーブルにレコードを追加しようとしましたが、ログインして検証しようとしましたが、まだ応答はありません。私はPHPに堪能ではないとアドバイスしてください。
アドバイスをいただきありがとうございます。私は、パスワードと重要なものを保管する前に塩をかけることを学びます。また、問題を分類し、正しくバインド変数を変更し、接続URLを 'http'に変更して動作させる必要がありました、まだ 'https'がうまくいかなかった理由はまだわかりません。 –