Я пытаюсь получить данные из URL в моем локальном хосте на андроид приложение, но я всегда получаю FileNotFoundException
с этим URL:как получить данные JSon из URL в Laravel для андроид
http://10.0.2.2/index.php/androidqname/PC396458
Однако, когда я использую другие тестовые данные json онлайн, он работает нормально. Например, с этим URL:
http://echo.jsontest.com/key/value/otherkey/othervalue
Это мой андроид код, который я называю внутри класса, который расширяет asyntask
public String newServerRequest(String uri)
{
HttpURLConnection connection = null;
BufferedReader reader = null;
int resCode=0;
try {
URL url = new URL(uri);
connection = (HttpURLConnection) url.openConnection();
connection.connect();
resCode=connection.getResponseCode();
InputStream stream = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(stream));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = reader.readLine()) != null) {
buffer.append(line);
Log.d("Response Laminjanneh: ", "> " + line +" "+resCode); //here u ll get whole response...... :-)
}
String finalObj=buffer.toString();
JSONObject parentObj= new JSONObject(finalObj);
//JSONArray jArray= parentObj.getJSONArray(0);
String name = parentObj.getString("otherkey");
String fname = parentObj.getString("key");
return name+" == "+fname;
} catch (MalformedURLException e) {
e.printStackTrace();
Log.d("Response janneh 1 : ", "> " + e.getMessage()+" "+resCode);
}
catch (IOException e) {
e.printStackTrace();
Log.d("Response janneh 2 : ", "> " + e.getMessage()+" "+resCode);
} catch (JSONException e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
}
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
Это мой Laravel контроллер, который дает мне данные в формате JSON:
public function questionairename($pcodenumber)
{
$questionaireName= Questionaire_name::where('project_code_number','=',$pcodenumber)->get();
return json_encode($questionaireName);
}
Спасибо за ответ, я использую свой эмулятор. –
Попробуйте URL http://10.0.2.2/index.php/androidqname/PC396458, доступный из браузера эмулятора или нет. –
нет! не работает!!! –