请求网络数据过程中弹出框



NO. 1  异步请求网络:
private class GetActionDataTask extends
        AsyncTask<Void, Void, List<ActionList>> {

    @Override
    protected List<ActionList> doInBackground(Void... sessionid) {
        List<ActionList> actionLists = null;
        try {
            if (!"".equals(mSportsApp.getSessionId()) && mSportsApp.getSessionId() != null) {
                //对网络数据的请求。下一篇 请求网络数据。
                actionLists = ApiJsonParser
                        .getNewActionList(
                                mSportsApp.getSessionId(),
                                "z"
                                        + getResources().getString(
                                        R.string.config_game_id), 0);
            }
        } catch (ApiNetException e) {
            e.printStackTrace();
        } catch (ApiSessionOutException e) {
            e.printStackTrace();
        }
        return actionLists;
    }
    @Override
   protected void onPreExecute() {
       super.onPreExecute();
       showDialog(getResources().getString(R.string.bestgirl_wait));
    }

@Override
protected void onPostExecute(List<ActionList> result) {
super.onPostExecute(result);
mLoadProgressDialog.dismiss();
if (result == null)
return;
if (result.size() > 0 && actionLists != null) {
for (ActionList actionList : result) {
actionLists.add(actionList);
}
}
}

}
调用上述的请求数据代码:new GetActionDataTask().execute();

NO. 1  新线程请求网络handler传回主线程:
if (mSportsApp!=null&&mSportsApp.isOpenNetwork()) {
    showDialog(getResources().getString(R.string.bestgirl_wait_upload));
    new Thread(new Runnable() {

        @Override
        public void run() {
            try {
                 AddFindItem back = ApiJsonParser.addFind(
                            mSportsApp.getSessionId(),
                            method_str, city_name,
                            list_bitmap_path_upload,
                            topiccat.toString(), "", "", "");
                    Message msg = new Message();
                    msg.what = 20141112;
                    msg.obj = back;
                    mHandler.sendMessage(msg);    
            } catch (ApiNetException e) {
                Message msg = new Message();
                msg.what = 20141113;
                msg.obj = e.exceMsg();
                mHandler.sendMessage(msg);
            }
        }
    }).start();
} else {
    right_btn.setEnabled(true);
    Toast.makeText(
            FindFriendsSendMsg.this,
            getResources().getString(
                    R.string.error_cannot_access_net),
            Toast.LENGTH_SHORT).show();
}
private Handler mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case 20141112:
                isUpLoad = false;
                back = (AddFindItem) msg.obj;
                if (mLoadProgressDialog != null) {
                    mLoadProgressDialog.dismiss();
                }
......
起新线程这种方式直接在哪需要数据在哪new Thread就可以。
加载中弹出框:
 
 
private void showDialog(String messages) {
    if (mLoadProgressDialog == null) {
        mLoadProgressDialog = new Dialog(getActivity(),
                R.style.sports_dialog);
        View v1 = LayoutInflater.from(getActivity()).inflate(R.layout.bestgirl_progressdialog, null);
        message = (TextView) v1.findViewById(R.id.message);
        message.setText(messages);
        v1.setMinimumWidth((int) (SportsApp.ScreenWidth * 0.8));
        mLoadProgressDialog.setContentView(v1);
        mLoadProgressDialog.setCanceledOnTouchOutside(false);
    }
    message.setText(messages);
    mLoadProgressDialog.show();
}

NO. 1  异步请求网络:
private class GetActionDataTask extends
        AsyncTask<Void, Void, List<ActionList>> {

    @Override
    protected List<ActionList> doInBackground(Void... sessionid) {
        List<ActionList> actionLists = null;
        try {
            if (!"".equals(mSportsApp.getSessionId()) && mSportsApp.getSessionId() != null) {
                //对网络数据的请求。下一篇 请求网络数据。
                actionLists = ApiJsonParser
                        .getNewActionList(
                                mSportsApp.getSessionId(),
                                "z"
                                        + getResources().getString(
                                        R.string.config_game_id), 0);
            }
        } catch (ApiNetException e) {
            e.printStackTrace();
        } catch (ApiSessionOutException e) {
            e.printStackTrace();
        }
        return actionLists;
    }
    @Override
   protected void onPreExecute() {
       super.onPreExecute();
       showDialog(getResources().getString(R.string.bestgirl_wait));
    }

@Override
protected void onPostExecute(List<ActionList> result) {
super.onPostExecute(result);
mLoadProgressDialog.dismiss();
if (result == null)
return;
if (result.size() > 0 && actionLists != null) {
for (ActionList actionList : result) {
actionLists.add(actionList);
}
}
}

}
调用上述的请求数据代码:new GetActionDataTask().execute();

NO. 1  新线程请求网络handler传回主线程:
if (mSportsApp!=null&&mSportsApp.isOpenNetwork()) {
    showDialog(getResources().getString(R.string.bestgirl_wait_upload));
    new Thread(new Runnable() {

        @Override
        public void run() {
            try {
                 AddFindItem back = ApiJsonParser.addFind(
                            mSportsApp.getSessionId(),
                            method_str, city_name,
                            list_bitmap_path_upload,
                            topiccat.toString(), "", "", "");
                    Message msg = new Message();
                    msg.what = 20141112;
                    msg.obj = back;
                    mHandler.sendMessage(msg);    
            } catch (ApiNetException e) {
                Message msg = new Message();
                msg.what = 20141113;
                msg.obj = e.exceMsg();
                mHandler.sendMessage(msg);
            }
        }
    }).start();
} else {
    right_btn.setEnabled(true);
    Toast.makeText(
            FindFriendsSendMsg.this,
            getResources().getString(
                    R.string.error_cannot_access_net),
            Toast.LENGTH_SHORT).show();
}
private Handler mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case 20141112:
                isUpLoad = false;
                back = (AddFindItem) msg.obj;
                if (mLoadProgressDialog != null) {
                    mLoadProgressDialog.dismiss();
                }
......
起新线程这种方式直接在哪需要数据在哪new Thread就可以。
加载中弹出框:
  
  
private void showDialog(String messages) {
    if (mLoadProgressDialog == null) {
        mLoadProgressDialog = new Dialog(getActivity(),
                R.style.sports_dialog);
        View v1 = LayoutInflater.from(getActivity()).inflate(R.layout.bestgirl_progressdialog, null);
        message = (TextView) v1.findViewById(R.id.message);
        message.setText(messages);
        v1.setMinimumWidth((int) (SportsApp.ScreenWidth * 0.8));
        mLoadProgressDialog.setContentView(v1);
        mLoadProgressDialog.setCanceledOnTouchOutside(false);
    }
    message.setText(messages);
    mLoadProgressDialog.show();
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值