【发布时间】:2015-05-30 08:40:33
【问题描述】:
我想从客户端向服务器发送一条简单的消息(服务器不是本地主机)。我使用 Volley 库和 POST 方法。 当我运行代码没有建立连接时,LogCat 打印:
05-30 12:19:05.930: D/memalloc(12085): /dev/pmem: Mapped buffer base:0x51dec000 size:3727360 offset:3112960 fd:48
05-30 12:19:06.340: D/memalloc(12085): /dev/pmem: Mapped buffer base:0x5227a000 size:4382720 offset:3768320 fd:47
05-30 12:19:06.370: E/Volley(12085): [1] 2.onErrorResponse: Error:
客户端代码:
String url = "http://myWebServer.eu";
RequestQueue queue;
JsonObjectRequest request;
Map<String, String> map = new HashMap<String, String>();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
queue = Volley.newRequestQueue(this);
map.put("param1", "example");
request = new JsonObjectRequest(Request.Method.POST,
url,
new JSONObject(map),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
VolleyLog.v("Response:%n %s", response.toString(7));
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.e("Error: ", error.getMessage());
}
});
queue.add(request);
}
PHP 服务器代码
$jsondata = $_POST['param1'];
$json = json_decode($jsondata,true);
echo $json ;
【问题讨论】:
-
您是否在 Manifest 文件中设置了 Internet 权限?
标签: android json client server android-volley