从服务器获取数据时导航抽屉挂起

时间:2014-10-30 06:30:41

标签: android json

在Android应用程序中,我使用导航抽屉,侧抽屉上有6个片段,每个片段需要从服务器获取一些数据,这使得它挂起或延迟打开/关闭抽屉并使我的应用程序性能非常慢。请建议我从服务器获取数据并在片段中设置为文本框的最佳方式。

从服务器类获取数据的代码

public String getName() {
        JSONObject ob = getBalnce();
        String name = null;
        try {
            name = ob.getString("UserName");
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return name;
    }

    public String getBalance() {
        JSONObject ob = getBalnce();
        String bal = null;
        try {
            bal = ob.getString("UserBalance");
            if (bal == null) {
                bal = "₹ " + "0";
            } else {

                bal = "₹  " + bal;
            }

        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return bal;
    }

    public static JSONObject getBalnce() {
        final JSONObject toSend = new JSONObject();
        JSONObject ob = null;
        {
            try {


                toSend.put("Id", classname.Id);

                String jsonStr = toSend.toString();
                DataPost transmitter = new DataPost();

                data = transmitter.execute(jsonStr,
                        url).get();
                data = data.replaceAll("\n", "");

                JSONArray obj = new JSONArray(data);
                ob = obj.getJSONObject(0);
                java.lang.System.gc();



            } catch (JSONException e) {


                e.printStackTrace();
            } catch (InterruptedException e) {

                e.printStackTrace();
            } catch (ExecutionException e) {

                e.printStackTrace();
            }
        }
        return ob;

    }

用于获取和设置片段

中的数据的代码
Balance cm = new Balance();

        name = cm.getName();




        if (uname.length() > 10) {
            name.setText("Hi," + " " + name.substring(0, 10));
    } 
当我们从一个抽屉切换到另一个抽屉时,所有片段中的问题都相同。

0 个答案:

没有答案