如何解析在android中扩展Application的类中的json

时间:2013-09-12 20:37:19

标签: android

我有一个AsyncTask类,它解析json数据并插入到一个对象中,当我在普通活动类中调用它时,它表明已经解析了数据,但是当我在扩展Application的类上执行它时,它会得到零结果。这是我的班级

public class AppGlobalData extends Application {
    public ArrayList<YoutubeItem> gotItem= new ArrayList<YoutubeItem>();
    private YouTubeParser parser;

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();


        new ParserLoader().execute();
    }

    public class ParserLoader extends AsyncTask<Void, Void, Void> {

        @Override
        protected Void doInBackground(Void... params) {
            Log.i("Succeed?", "Yes");
            parser = new YouTubeParser(
                    "http://powergroupbd.com/youtube/getyoutubejson.php");
            try {
                gotItem = parser.parseInitiator();
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


            return null;
        }

    }

    public ArrayList<YoutubeItem> getGotItem() {
        return gotItem;
    }

    public void setGotItem(ArrayList<YoutubeItem> gotItem) {
        this.gotItem = gotItem;
    }

}

我无法弄清楚问题,有人可以帮忙吗? 请注意,此类运行并记录我的String但不解析数据。

1 个答案:

答案 0 :(得分:2)

我认为当新的ParserLoader()。execute();它以异步方式完成工作。当您的Activity加载并调用getGotItem()时,Asynctask可能尚未完成