Эй, вы можете получить ваши данные, используя ваши методы, которые зависят от вас.Например, я никогда не использовал стороннюю библиотеку для извлечения данных с сервера.
Подумайте об этом: класс, который я могу назвать FileContentReader
методом getContentFromUrl
, будет извлекать ваши данные JSON какСтрока, которую можно затем проанализировать, используя JSONObject
или JSONArray
в соответствии с вашей файловой структурой.
public class FileContentReader {
private Context appContext;
public FileContentReader(Context context){
this.appContext=context;
}
public String getContentFromUrl(String url)
{
StringBuilder content = new StringBuilder();
try {
URL u = new URL(url);
HttpURLConnection uc = (HttpURLConnection) u.openConnection();
if (uc.getResponseCode()==HttpURLConnection.HTTP_OK) {
InputStream is = uc.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String line;
while ((line = br.readLine()) != null) {
content.append(line).append("\n");
}
}else{
throw new IOException(uc.getResponseMessage());
}
} catch(StackOverflowError | Exception s){
s.printStackTrace();
} catch(Error e){
e.printStackTrace();
}
return content.toString();
}
}
Вы можете использовать этот код внутри асинхронной или любой фоновой задачи:
FileContentReader fcr= new FileContentReader(getApplicationContext());
String data= fcr.getContentFromUrl("myurl");
if(!data.isEmpty())
{
try{
JSONArray ja = new JSONArray(data);
//... ou can then access and manupilate your data the way you want
}catch(JSONException e)
{
e.printStackTrace();}
}