Php 数据列表未列出
我正在尝试将我的android项目连接到PHP页面,但它不起作用是什么错误我不知道为什么它对我不起作用我把互联网权限 这是检查http连接的站点代码:Php 数据列表未列出,php,android,json,Php,Android,Json,我正在尝试将我的android项目连接到PHP页面,但它不起作用是什么错误我不知道为什么它对我不起作用我把互联网权限 这是检查http连接的站点代码: public class site { static String response = null; public final static int getrequest =1; public final static int postrequest=2; public site(
public class site {
static String response = null;
public final static int getrequest =1;
public final static int postrequest=2;
public site(){}
public String histosite (String url, int requestmothod){
return this.histosite(url,requestmothod);
}
public String histosite(String urlsddress, int requestmothod,HashMap<String,String> params){
URL url;
String response= "";
try {
url= new URL(urlsddress);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(15001);
conn.setConnectTimeout(15001);
conn.setDoInput(true);
conn.setDoOutput(true);
if (requestmothod == postrequest){
conn.setRequestMethod("POST");
} else if(requestmothod == getrequest){
conn.setRequestMethod("GETRequest");
}
if(params != null){
OutputStream ostream = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(ostream,"UTF-8"));
StringBuilder requestresult = new StringBuilder();
boolean first = true;
for (Map.Entry<String, String> entry: params.entrySet()){
if (first)
first=false;
else
requestresult.append("&");
requestresult.append(URLEncoder.encode(entry.getKey(),"UTF-8"));
requestresult.append("=");
requestresult.append(URLEncoder.encode(entry.getValue(),"UTF-8"));
}
writer.write(requestresult.toString());
writer.flush();
writer.close();
ostream.close();
}
int reqresponsecode= conn.getResponseCode();
if(reqresponsecode == HttpURLConnection.HTTP_OK){
String line;
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line = br.readLine())!= null){
response += line;
}
} else {
response = "";
}
} catch (Exception e) {
e.printStackTrace();
}
return response;
}
}
使用此代码
String getWebServiceTask(String requestURL,JSONObject postDataParams,String PostType)
{
URL url;
String response = "";
int responseCode = 0;
JSONObject responseObject = null;
try {
url = new URL(requestURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(1500000);
conn.setConnectTimeout(1500000);
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty("Content-Language", "en-US,en;q=0.8");
conn.setRequestMethod(PostType);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.connect();
if(postDataParams != null){
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(postDataParams.toString());
writer.flush();
writer.close();
os.close();
}
responseCode=conn.getResponseCode();
if (responseCode == HttpsURLConnection.HTTP_OK) {
String line;
BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line=br.readLine()) != null) {
response+=line;
}
}
else {
response="";
}
} catch (Exception e) {
e.printStackTrace();
}
try {
responseObject=new JSONObject();
responseObject.put(AppConstants.API_RESPONSE_CODE, responseCode);
responseObject.put(AppConstants.API_RESPONSE, response);
} catch (Exception e) {
// TODO: handle exception
}
return responseObject.toString();
}
看看这个例子,这个例子没有使用HttpURLConnection,而是使用android studio nowconn.connect不支持的方法;在ur代码中缺失,也不起作用AppConstants.API_RESPONSE_代码的含义AppConstants.API_RESPONSE_代码替换为ResponseCode,AppConstants.API_RESPONSE替换为RESPONSE
{"success":1,"message":"Post Available!","posts":[{"Site_Name":"Bahrain National Museum"},{"Site_Name":"Qalat al Bahrain site and museum"},{"Site_Name":"Boats Trips to Bu Maher Fort"},{"Site_Name":"Old Houses of Muharraq"},{"Site_Name":"Bait al Quran"},{"Site_Name":"Al Khamis Mosque"},{"Site_Name":"Arad Fort"},{"Site_Name":"Sheikh Salman Bin Ahmed Al Fateh Fort"},{"Site_Name":"Siyadi House"},{"Site_Name":"Siyadi Mosque"},{"Site_Name":"Al Jasra House"},{"Site_Name":"Al Jasra Handicrafts Centre"},{"Site_Name":"Al Fateh Mosque"},{"Site_Name":"Saar Settlement"},{"Site_Name":"Barbar Temples"}]}
String getWebServiceTask(String requestURL,JSONObject postDataParams,String PostType)
{
URL url;
String response = "";
int responseCode = 0;
JSONObject responseObject = null;
try {
url = new URL(requestURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(1500000);
conn.setConnectTimeout(1500000);
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty("Content-Language", "en-US,en;q=0.8");
conn.setRequestMethod(PostType);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.connect();
if(postDataParams != null){
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(postDataParams.toString());
writer.flush();
writer.close();
os.close();
}
responseCode=conn.getResponseCode();
if (responseCode == HttpsURLConnection.HTTP_OK) {
String line;
BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line=br.readLine()) != null) {
response+=line;
}
}
else {
response="";
}
} catch (Exception e) {
e.printStackTrace();
}
try {
responseObject=new JSONObject();
responseObject.put(AppConstants.API_RESPONSE_CODE, responseCode);
responseObject.put(AppConstants.API_RESPONSE, response);
} catch (Exception e) {
// TODO: handle exception
}
return responseObject.toString();
}