- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在开发一个 Android 应用程序,它从 xampp 服务器上的 MySQL 数据库检索数据。这是来自 android main 的代码,
Button scanButton = (Button) findViewById(R.id.scanButton);
String findUrl = "http://myIPaddress/webservice/findItem.php";
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
scanButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
JsonObjectRequest jsonObjectrequest = new JsonObjectRequest(Request.Method.POST,
findUrl, new Response.Listener<JSONObject>(){
@Override
public void onResponse(JSONObject response){
try{
//retrieve the items table from the database
JSONArray items = response.getJSONArray("items");
int i = 2;
//retrieve the 3rd row in the table
JSONObject item = items.getJSONObject(i);
String name = item.getString("name");
//send a LogCat message containing the name of the row
Log.d("name",name);
} catch(JSONException e){
e.printStackTrace();
}
}
}, new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error){
//in case of an error, send a logcat message containing the error
Log.d("error","" + error.getMessage());
}
});
requestQueue.add(jsonObjectrequest);
}
});
}
php 脚本位于 webservice 文件夹中,该文件夹位于 xampp 文件夹的 htdocs 文件夹中。这是 connection.php 的脚本(声明并设置数据库连接),
<?php
define('hostname', 'localhost');
define('user','root');
define('password','');
define('databaseName','webservice');
$connect = mysqli_connect(hostname, user, password, databaseName);
?>
以及 findItem.php 的脚本(从本地主机 phpmyadmin 中的“webservice”数据库返回“items”表),
<?php
if($_SERVER["REQUEST_METHOD"]=="POST"){
include 'connection.php';
showItem();
}
function showItem(){
global $connect;
$query = "Select * FROM ITEMS";
$result = mysqli_query($connect, $query);
$number_of_rows = mysqli_num_rows($result);
$temp_array = array();
if($number_of_rows > 0){
while($row = mysqli_fetch_assoc($result)){
$temp_array[] = $row;
}
}
header('Content-Type: application/json');
echo json_encode(array("items"=>$temp_array));
mysqli_close($connect);
}
?>
我遇到的错误发生在运行时。当我单击 Android 模拟器中的按钮时,logcat 消息不是“items”表第三行中的名称。有错误消息,但错误最终为空。我的问题基本上是可能是什么原因造成的?我已确保 php 脚本位于正确的位置(xampp/htdocs/webservice),IP 地址正确,apache 和 mysql 的 xampp 服务器已打开,在 android list 文件中写入了正确的权限,并且名为“webservice”的数据库中存在至少包含 3 行的“items”表。欢迎任何反馈,提前谢谢您。
最佳答案
因此,尽管我没有收到有关此问题的任何答案,但我能够找出问题所在。首先,我使用 postman 应用程序(google chrome 扩展)检查数据库是否存在,因为我在 php 脚本中使用了 post 方法。该数据库确实存在。因此,问题很可能是 IP 地址,尽管我在问题中的假设不正确。我原来在 findUrl 字符串中的 IP 地址是正确的,但仍然是错误的。这是一个有效的 IP 地址,但数据库位于本地托管服务器上;因此,该IP地址应该是本地IP地址。由于某种原因,我使用的 IP 地址不是本地 IP 地址,所以这就是修复方法。如果有人想知道我如何在 Windows 上找到本地 IP 地址,只需运行命令提示符并输入“ipconfig”即可。本地 IP 地址应为“ipv4 地址”。
关于php - jsonObjectRequest 错误消息为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33991414/
我在 Xamarin 中使用用户名和密码获取 JSON,一切正常,但现在我尝试学习 Android SDK,我想使用 JsonObjectRequest 获取 JSON。 在 Xamarin 中它可以
我是 Android 和 JAVA 的新手,我正在尝试解析 json 响应。我知道如何解析 jsonarray 但不知道如何解析 jsonobject。有人能告诉我怎么做吗?以下是我的回复。 {"11
所以我正在开发一个 Android 应用程序,它从 xampp 服务器上的 MySQL 数据库检索数据。这是来自 android main 的代码, Button scanButton = (Butt
The error is: "cannot resolve constructor jsonobjectrequest(int, java.lang.string, null, anonymous
这是我将数据发布到服务器的方法,但无法发布。我必须将数据发布到服务器,我正在使用 JsonObjectRequest 是否有其他方法来发布数据,请帮助我。 private void postNoti
我在实现 JsonObjectRequest 以从网络获取 JsonObject 时遇到问题。我正在尝试创建一个新的 JsonObjectRequest : JsonObjectRequest j
我一直在尝试使用 Google volley 在 Genymotion 模拟器中执行简单的 JsonObjectRequest。但下面代码的最后一行(JsonObjectRequest 的实例化)会导
我需要在 JsonObjectRequest 中使用 Mediaplayer。我的代码是这样的 obreq = new JsonObjectRequest(Request.Method.GET
我正在使用 Put 方法创建 JsonObjectRequest,但它不起作用并收到“{"detail":"Method\"GET\"not allowed."}"错误消息。 它在 Postman 上
我通过返回通用请求类型的函数创建请求: public final class SpecificRequestService extends RequestService { @Override
我需要按以下格式传递一个字符串作为参数:["default"] 我应该如何构建我的 JSONObject 以执行以下操作: final JsonObjectRequest request =
我正在尝试使用一些参数向我的服务器发送 JsonObjectRequest,但似乎参数没有到达服务器。在 SO 上发帖之前,我尝试了在 google 中找到的所有建议,但没有一个工作正常.. 这是我的
我正在尝试使用 volley 连接到 API,我正在设置所有参数和 header ,但似乎参数被忽略了,我在这里遗漏了什么?我上周开始学习 android volley,但我有点迷路了。 pa
错误: Error:(164, 40) error: no suitable constructor found for JsonObjectRequest(int,String,>,) constr
我在关注这个问题 http://www.androidhive.info/2014/08/android-building-free-wallpapers-app-part-2/ 已经到了我添加启动画
我正在使用 Volley JsonObjectRequest从服务器获取数据。 代码 fragment : JsonObjectRequest jsObjRequest = new JsonObjec
这几天我一直在摆弄这个。做错了。 Android Studio 不会让我用这个错误编译它。所以,我有这个应用程序,其中有两个选项卡和两个 fragment 。一个 fragment 称为 new,该
我正在使用 mcxiaoke/android-volley 库。我得到的编译错误是 Error:(77, 37) error: reference to JsonObjectRequest is am
public class CustomRequest extends JsonObjectRequest { public CustomRequest(String url, JSONObje
我需要将 5 个字符串和 3 个整数作为参数发送到我的服务器。我不断收到此错误:“缺少必需的参数(姓名、电子邮件、密码、性别或出生日期)!” [在我的 php 代码末尾找到]。如何将多个基本类型作为参
我是一名优秀的程序员,十分优秀!