【问题标题】:Android Studio trouble getting Json from an APIAndroid Studio 无法从 API 获取 Json
【发布时间】:2018-08-17 08:59:32
【问题描述】:

我是 android studio 和 java 的新手。我正在尝试从 API 中获取一些 Json。每次我尝试构建 URL 并将 URL 传递给我的方法 getResponseFromHttpURL 时,它都会崩溃。任何指导将不胜感激!

public class NetworkUtils {

   private static final String movieApiUrl = "http://api.themoviedb.org/3/discover/movie?sort_by=popularity.desc&api_key=XXXXXXXXXXXXXXXXXX";

   public static URL buildURL(){
        Uri builtUri = Uri.parse(movieApiUrl).buildUpon()
                .build();

       URL url = null;

       try{
            url = new URL(movieApiUrl);
        }catch(MalformedURLException e){
            e.printStackTrace();
        }

         return url;
    }



    public static String getResponseFromHttpUrl(URL url) throws IOException{

        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        try{
            InputStream in = urlConnection.getInputStream();

            Scanner scanner = new Scanner(in);
            scanner.useDelimiter("\\A");

            boolean hasInput = scanner.hasNext();
            if(hasInput){
                return scanner.next();
            }else{
                return null;
            }
        }finally{
            urlConnection.disconnect();
        }
    }
}

【问题讨论】:

  • 请提供您收到的错误消息:)。此外,您可以查看Retrofit
  • 我收到“错误膨胀类片段”

标签: java android json http


【解决方案1】:

如果请求不在后台线程/任务中,它很可能会停止发出请求的常规活动,并且一旦完成,就无法继续它所在的位置。尝试将连接放在AsyncTask 中,这样它的常规活动才能保持正常运行。

https://developer.android.com/reference/android/os/AsyncTask.html

https://developer.android.com/training/volley/simple.html

编辑:显然错误是fragments-error-inflating-class,所以它与这个答案无关。会留下这个,因为它可以帮助有需要的人

【讨论】:

  • 要么我使用 AsyncTask 错误,要么它仍然崩溃并出现相同的错误“错误膨胀类片段” public class FetchMovieTask extends AsyncTask{ @Override protected String doInBackground(URL. ..url){ try{ String jsonMovieData1 = NetworkUtils.getResponseFromHttpUrl(url[0]);返回 jsonMovieData1; }catch (Exception e){ e.printStackTrace();返回空值; } }
  • 该错误与HTTP请求无关,请更新您的帖子并检查此链接是否对您有帮助stackoverflow.com/questions/39031669/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多