与json对象的Asyntask结构问题

时间:2018-05-26 12:49:52

标签: android json

解决:在主要活动中需要获得JSON对象的代码

jsonObject [0] = new AsyntaskGetWeekFood(970305).execute()。get(); IN TRY CATCH

我制作了一个Asynctask类

int date ;
private Context context;

public AsyntaskGetWeekFood(Integer week) {
    this.date = week ;

}

@Override
protected JSONObject doInBackground(Integer... params) {
    JSONObject jsonfood = new JSONObject();
    Document document = null;
    try {
        document = Jsoup.connect("http://self.shahroodut.ac.ir/Ghaza.aspx?date=" + date).get();
    } catch (IOException e) {
        e.printStackTrace();
    }
    for (int i = 0; i < 7; i++) {
        Element sob = document.select("#BulletedListC" + i).first();
        Element shab = document.select("#BulletedListS" + i).first();
        try {
            jsonfood.put("c"+i,sob.text());
            jsonfood.put("s"+i,shab.text());
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }
    return jsonfood;
}

@Override
protected void onPostExecute(JSONObject jsonObject) {
    super.onPostExecute(jsonObject);
}

如何将jsonfood返回到主活动类? 我已经发布了我的jsonfood,正确包含了如何在主要活动中给出json对象的数据?...请帮助我!

1 个答案:

答案 0 :(得分:0)

好的,这是你的postExecute代码

@Override
 protected void onPostExecute(JSONObject jsonObject) {
super.onPostExecute(jsonObject) };

现在您可以声明一个接口

interface GetData { void onGetData(JsonObject object);}

现在您可以引用它并在postExecute方法中设置值 喜欢:@Override protected void onPostExecute(JSONObject jsonObject) { mGetData.onGetData(jsonObeject)};

您必须在UI类中实现该接口。