Я пытаюсь получить данные с сервера, используя этот адрес www.example.com/directory/, но это не работает ... он придумал это, что JSON не посылают никаких действий на сервер ... так что все, что я хочу, чтобы сделать URL это way-- www.example.com/directory/index.php?action=searchFood & денег = 50как сделать параметр URL в андроиде JSON
Это мой JsonFetcher.java
public class JsonFetcher extends AsyncTask<Pair<String, String>, Integer, JSONObject> {
private JSONObject jsonObject;
public AsyncResponse delegate = null;
public interface AsyncResponse {
void processFinish(JSONObject output);
}
public JsonFetcher(AsyncResponse delegate) {
this.delegate = delegate;
}
@Override
protected void onPostExecute(JSONObject jsonObject) {
super.onPostExecute(jsonObject);
delegate.processFinish(jsonObject);
}
@Override
protected JSONObject doInBackground(final Pair<String, String>... params) {
int count = params.length;
URL url = null;
int responseCode = 0;
jsonObject = null;
try {
url = new URL("http://www.example.com/directory/");
} catch (MalformedURLException e) {
e.printStackTrace();
}
HttpURLConnection conn = null;
try {
conn = (HttpURLConnection) url.openConnection();
//conn.connect();
} catch (IOException e) {
e.printStackTrace();
}
try {
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
Uri.Builder builder = new Uri.Builder();
Date date = new Date();
String md5 = date.toString();
//Log.e("json lock",lock);
//Log.e("json key",md5);
for (int i = 0; i < count; i++) {
builder.appendQueryParameter(String.valueOf(params[i].first),String.valueOf(params[i].second));
}
String query = builder.build().getEncodedQuery();
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
writer.write(query);
writer.flush();
writer.close();
os.close();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// read the response
try {
responseCode = conn.getResponseCode();
} catch (IOException e) {
e.printStackTrace();
}
if (responseCode == HttpsURLConnection.HTTP_OK) {
InputStream in = null;
try {
in = new BufferedInputStream(conn.getInputStream());
} catch (IOException e) {
e.printStackTrace();
} finally {
//conn.disconnect();
}
BufferedReader r = new BufferedReader(new InputStreamReader(in));
StringBuilder total = new StringBuilder();
String line;
try {
while ((line = r.readLine()) != null) {
total.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
Log.e("json", total.toString());
try {
jsonObject = new JSONObject(total.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
return jsonObject;
}
}
Есть ли возможность писать таким образом
url = new URL("http://www.example/directory/index.php?action= PairActionName & PairMoney");
здесь PairActionName и PairMoney будут получать от MainActivity
попробовали это на любом клиенте REST? что вы получаете на клиенте REST? –
сэр, когда я пытаюсь использовать на xampp, получая результат и отображая в listview только с этим url («http://192.168.1.110/directory/») –
после загрузки на сервер, я получаю проблему –