1
私はなぜApp 1がApp 2の間に私のデータベースにデータを保存するのかを理解しようとしています。2つのアプリはほとんど同じですが、私のデータベースには1つの情報しか登録されていません。どうして?
のAndroidアプリの1とApp 2は、この活動に1つのラインから離れて、まったく同じです:
のApp 1:
package com.example.chris.loginregister;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;
import java.util.HashMap;
import java.util.Map;
/**
* Created by Chris on 24/07/2016.
*/
public class RegisterRequest extends StringRequest {
private static final String REGISTER_REQUEST_URL = "http://tom.comxa.com/Register.php";
private Map<String, String> params;
public RegisterRequest(String username, Response.Listener<String> listener){
super(Method.POST, REGISTER_REQUEST_URL, listener, null);
params = new HashMap<>();
params.put("username", username);
}
@Override
public Map<String, String> getParams() {
return params;
}
}
代わりの
private static final String REGISTER_REQUEST_URL = "http://tom.comxa.com/Register.php";
私が持っていますアプリ2で:
private static final String REGISTER_REQUEST_URL = "http://12.345.67.89/Register.php";
両方のアプリは、私が別のアクティビティにSystem.out.println
運動を持っているとまったく同じテスト合格:両方のアプリケーションのための私のlogcatは、私が「登録ボタンをクリックしたときに、まったく同じです
//when the Register button is clicked :
public void onClick(View v) {
final String username = etUsername.getText().toString();
System.out.println("first step of the test, at least my button is recognised");
Response.Listener<String> responseListener = new Response.Listener<String>(){
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
// boolean success = jsonResponse.getBoolean("second step, recognises my JSON");
boolean success = jsonResponse.getBoolean("success");
// System.out.println("yes, succeeded, it works, it recognises my PHP file");
if (success) {
System.out.println("yes, succeeded, it works, it recognises my PHP file");
Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
RegisterActivity.this.startActivity(intent);
} else {
System.out.println("no, failed, but at least it recognises my JSON");
AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
builder.setMessage("Register failed")
.setNegativeButton("Retry", null)
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
System.out.println("no, failed utterly");
}
System.out.println("json response: " + response);
}
};
を:
08-20 00:19:16.770 30244-30244/com.example.chris.loginregister I/System.out: first step of the test, at least my button is recognised
08-20 00:19:16.770 30244-30244/com.example.chris.loginregister I/dalvikvm: DexOpt: illegal method access (call Lcom/android/volley/Request;.finish (Ljava/lang/String;)V from Lcom/example/chris/loginregister/RegisterRequest;)
08-20 00:19:16.770 30244-30244/com.example.chris.loginregister I/dalvikvm: Could not find method com.android.volley.Request.finish, referenced from method com.example.chris.loginregister.RegisterRequest.access$super
08-20 00:19:16.770 30244-30244/com.example.chris.loginregister W/dalvikvm: VFY: unable to resolve virtual method 17084: Lcom/android/volley/Request;.finish (Ljava/lang/String;)V
08-20 00:19:16.770 30244-30244/com.example.chris.loginregister D/dalvikvm: VFY: replacing opcode 0x6f at 0x00c8
08-20 00:19:17.290 30244-30244/com.example.chris.loginregister I/System.out: yes, succeeded, it works, it recognises my PHP file
08-20 00:19:17.510 30244-30244/com.example.chris.loginregister I/System.out: json response: {"success":true}
しかし、App 1だけが実際にmys.comデータベースに詳細をtom.comxa.comで保存します。
理由は何ですか?
のApp 1:
$con = mysqli_connect("webhost", "user", "password", "a7720716_data");
のApp 2:
$con = mysqli_connect("webhost2", "root", "password", "mydatabasename");
誰もが見るためにインターネットに資格情報を投稿しないでください。 – tadman
これら2つのファイルは、接続先が大きく異なります。それは大きな問題であるようです。 – tadman
@tadman資格情報は現実的ではありません。これらの2つのファイルは、接続先がかなり異なります...はい、2つの異なるIPアドレスです。 – CHarris