Java 在android应用程序中从php文件读取JSON数据
我只是开发android应用程序的初学者,我想将我的应用程序连接到服务器,这样我就可以从MySQL获取数据。所以我试图让登录部分第一,但我有一些问题。我的代码不适用于读取JSON。 我的代码如下: 后勤活动(主要活动): 还有我的login.php脚本:Java 在android应用程序中从php文件读取JSON数据,java,php,android,mysql,json,Java,Php,Android,Mysql,Json,我只是开发android应用程序的初学者,我想将我的应用程序连接到服务器,这样我就可以从MySQL获取数据。所以我试图让登录部分第一,但我有一些问题。我的代码不适用于读取JSON。 我的代码如下: 后勤活动(主要活动): 还有我的login.php脚本: <?php define("HOST","localhost"); define("USERNAME","root"); define("PASSWORD",""); define("NAME","users"); $con = mys
<?php
define("HOST","localhost");
define("USERNAME","root");
define("PASSWORD","");
define("NAME","users");
$con = mysqli_connect(HOST,USERNAME,PASSWORD,NAME);
$username = $_GET["username"];
$password = $_GET["password"];
$sql = "SELECT * FROM userinfo WHERE username ='$username' AND password='$password'";
$check = mysqli_fetch_array(mysqli_query($con,$sql));
if(isset($check)){
echo '{"result":[{"response":"true"}]}';
}else{
echo '{"result":[{"response":"false"}]}';
}
mysqli_close($con);
?>
如果我发现这个问题,我会很高兴的。谢谢。请参阅教程:
这是关于使用登录过程的完整教程参见教程:
这是一个关于使用登录过程的完整教程。首先:在设备端,使用volley,它简单易用 第二:在服务器上,什么是
{“result”:[{“response”:“true”}
{“结果”:true}
有问题吗
最后但并非最不重要的一点:您以前是否使用过JSON,或者此代码是一些教程中的试错复制粘贴?首先:在设备端,使用volley,它简单易用 第二:在服务器上,什么是
{“result”:[{“response”:“true”}
{“结果”:true}
有问题吗
最后但并非最不重要的一点:您以前是否使用过JSON,或者此代码是一些教程中的试错复制粘贴?您的解决方案中到底有什么不起作用?你试过调试你的代码吗?@Egor你知道,正如我说的,我只是一个基本的。老实说,我没有,但我会在下一次询问之前做。在你的解决方案中,什么不起作用?你试过调试你的代码吗?@Egor你知道,正如我说的,我只是一个基本的。老实说,没有,但我会在下一次提问之前做。我尝试了第二个(结果:true),但没有得到答案,我尝试了一个json数组。最后一个:不需要json编码,所以我自己写。我做错了什么?首先,你不能使用jsonarray进行单一响应。然后,您的响应将决定您如何在设备上接收它。如果要将json作为字符串传递,则必须在设备上解析该字符串。如果您将对象作为json发送,那么您可以直接在设备上接收它。我尝试了第二种方法(结果:true),但没有得到答案,我尝试了使用json数组的方法。最后一个:不需要json编码,所以我自己写。我做错了什么?首先,你不能使用jsonarray进行单一响应。然后,您的响应将决定您如何在设备上接收它。如果要将json作为字符串传递,则必须在设备上解析该字符串。如果您将对象作为json发送,那么您可以直接在设备上接收它。不过,建议采用后者。
package ir.naserpour.sportclub;
import android.util.Log;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
/**
* Created by Mohammad Naserpour on 9/22/2016.
*/
public class JSONParser {
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
// constructor
public JSONParser() {
}
public JSONObject getJSONFromUrl(String url) {
// Making HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httppost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
// try parse the string to a JSON object
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
// return JSON String
return jObj;
}
}
<?php
define("HOST","localhost");
define("USERNAME","root");
define("PASSWORD","");
define("NAME","users");
$con = mysqli_connect(HOST,USERNAME,PASSWORD,NAME);
$username = $_GET["username"];
$password = $_GET["password"];
$sql = "SELECT * FROM userinfo WHERE username ='$username' AND password='$password'";
$check = mysqli_fetch_array(mysqli_query($con,$sql));
if(isset($check)){
echo '{"result":[{"response":"true"}]}';
}else{
echo '{"result":[{"response":"false"}]}';
}
mysqli_close($con);
?>