我正在尝试使用凌空连接到我的phpmyadmin服务器,我设法访问我的sql数据库并使用模拟器从服务器发送/接收数据:但这在某种程度上似乎不适用于Android设备(试过多个)< / p>
关于如何解决这个问题的任何想法? *下面的代码
package com.example.databasehelper452;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
public class Main22Activity extends AppCompatActivity {
TextView textViewdisplaydata;
com.android.volley.RequestQueue requestQueue;
// String insertUrl = "http://192.168.16.4:80/DevicesServer/insertEntry.php"; //in order to contain the url for our php files
// String showUrl = "http://192.168.16.4:80/DevicesServer/displayEntry.php";
String insertUrl = "http://10.168.46.13:80/DevicesServer/insertEntry.php";
String showUrl = "http://10.168.46.13:80/DevicesServer/displayEntry.php";
EditText plaintxtmacmaster,plaintxtmacconnected;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main22);
plaintxtmacconnected = (EditText) findViewById(R.id.plaintxtmacconnected);
plaintxtmacmaster = (EditText) findViewById(R.id.plaintxtmacmaster);
textViewdisplaydata =(TextView)findViewById(R.id.textViewdisplaydata);
requestQueue = Volley.newRequestQueue(getApplicationContext());
}
String Result = "";
public void onbtnclickshowall(View view) {
Result = "";
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, showUrl, new Response.Listener<JSONObject>()
{
public void onResponse(JSONObject response)
{
try {
JSONArray posts = response.getJSONArray("devices");
for (int i = 0; i < posts.length();i++) {
JSONObject post = posts.getJSONObject(i);
String MACConnected = post.getString("MACConnected");
String MACMasterDevice = post.getString("MACMasterDevice");
String DeviceName = post.getString("DeviceName");
String DateLastDetection = post.getString("DateLastDetection");
String FrequencyDetection = post.getString("FrequencyDetection");
String CumulativeDetection = post.getString("CumulativeDetection");
String MasterName = post.getString("MasterName");
Result = Result + "\n"+ MACConnected+ " " + DeviceName + " " + DateLastDetection+" "+FrequencyDetection+" "+ CumulativeDetection+" " + MACMasterDevice+" "+MasterName+" ";
String result2 = Result;
textViewdisplaydata.setText(Result);
}
}
catch (JSONException e)
{
e.printStackTrace();
}
}
}, new Response.ErrorListener()
{
public void onErrorResponse(VolleyError error)
{
}
});
requestQueue.add(jsonObjectRequest);
}
public void onbtnclickinsertall(View view) {
StringRequest request = new StringRequest(Request.Method.POST, insertUrl, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println(response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> parameters = new HashMap<String, String>();
parameters.put("MACConnected",plaintxtmacconnected.getText().toString());
parameters.put("MACMasterDevice",plaintxtmacmaster.getText().toString());
parameters.put("DeviceName","JAD");
parameters.put("DateLastDetection","1234567");
parameters.put("FrequencyDetection","12");
parameters.put("CumulativeDetection","12345");
parameters.put("MasterName","Master Test");
return parameters;
}
};
requestQueue.add(request);
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.databasehelper452">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Main22Activity"></activity>
</application>
</manifest>