我正在尝试访问远程服务器上的数据库。数据库很好,因为它与PHP代码工作正常,但当我尝试使用Android应用程序在该数据库中添加数据时,数据不会插入数据库中。 我基本上都遵循了以下教程
https://www.youtube.com/watch?v=WgOSIEWOXbQ
app中有以下两项活动
公共类AddInfo扩展了Activity {
2016-02-06,21:30:00
2016-02-06,21:30:00
2016-02-06,00:00:00,ujjawal,36072-2,MT,37,0,1
2016-02-06,21:30:00
2016-02-06,21:30:00
2016-02-06,00:10:00,ujjawal,36072-2,MT,37,0,1
2016-02-06,21:30:00
2016-02-06,21:30:00
2016-02-06,00:20:00,ujjawal,36072-2,MT,37,0,1
2016-02-06,21:30:00
2016-02-06,21:30:00
2016-02-06,00:40:00,ujjawal,36072-2,MT,37,0,1
2016-02-06,21:30:00
2016-02-06,21:30:00
2016-02-06,00:50:00,ujjawal,36072-2,MT,42,0,2
2016-02-06,21:30:00
}
答案 0 :(得分:0)
可能存在POST问题。 你可以使用Volley Library。
加入gradle
dependencies {
compile 'com.mcxiaoke.volley:library:1.0.19'
}
为帖子添加JAVA代码。
RequestQueue queue = Volley.newRequestQueue(this);
StringRequest request = new StringRequest(Request.Method.POST, "Your URL",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Do something
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
onLoginFailed();
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
// Add your Params Here.
//params.put("email", email);
//params.put("password",password);
return params;
}
};
queue.add(request);
答案 1 :(得分:0)
我已经看过你提到过的视频,并且考虑到这个假设它可以在服务器端使用PHP代码,我最好的猜测是客户端应用程序无法进行必要的通信。因此,要么根本没有发生通信,要么没有正确发送参数。如果存在任何类型的请求以确保至少成功地进行通信,则应该更容易在数据库中转储虚拟数据。但更坚实的方法是检查客户端的网络流量。
现在,为此,有几种解决方案可以调试您的应用程序并检查http流量。最新的一个是Stetho,这是一个由Facebook开发的开源调试平台,为Android开发人员提供丰富且高度交互的调试体验。但它需要您在客户端进行一些必要的更改,如果您感兴趣,tutorial可以帮助您。
否则,如果您想节省时间和精力,我建议您使用CharlesProxy工具和此tutorial,这些基本config steps应该非常有用。 Charles基本上是一个Web代理(HTTP代理/ HTTP监视器),您将在计算机上安装它,它将能够记录并显示所有发送和接收的数据。它基本上使您可以轻松地在Web浏览器/客户端和服务器之间查看请求,响应和HTTP标头(包含Cookie和缓存信息)。它最终可以帮助您跟踪问题并修复它。
希望它有所帮助!