可以不使用AsyncTask从URL获取Json吗?

时间:2019-02-02 16:44:29

标签: java android android-asynctask gson

我是android的新手,正在构建问题的游戏。 现在,我想使用API​​来解决我的问题,API返回一个JSON字符串,但是当我要使用API​​ Url进行意图时,我的应用程序崩溃了。

从OnCreate中我打电话叫功能:get_questions_from_api() 该功能需要使用“new_questions”从类ArrayList中是相同的API,并且它死机。

private void get_questions_from_api() {
    String json_str;
    try {
        json_str = new Scanner(new URL("https://opentdb.com/api.php?amount=10").openStream(), "UTF-8").useDelimiter("\\A").next();
        Gson gson = new Gson();
        TypeToken<ArrayList<OpenTDB>> token = new TypeToken<ArrayList<OpenTDB>>(){};
        new_questions  = gson.fromJson(json_str, token.getType());
    }
    catch (Exception e){
        pop_up("error !");
    }
}

我要找的所有10个问题将在我的ArrayList中,但是当我开始“的onCreate”所有的应用程序崩溃。我认为应该在“ asynctask”中

0 个答案:

没有答案