package com.cheng.networkframestudy.xutils; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ProgressBar; import android.widget.TextView; import com.cheng.networkframestudy.C; import com.cheng.networkframestudy.R; import com.cheng.networkframestudy.xutils.frame.XUtil3HttpUtil; import com.cheng.networkframestudy.xutils.frame.callback.HttpCallBack; import com.cheng.utils.Logger; import com.cheng.utils.file.SDUtil; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserFactory; import org.xutils.common.Callback; import org.xutils.http.RequestParams; import org.xutils.x; import java.io.File; import java.io.StringReader; import java.util.HashMap; public class XUtils3DemoActivity extends AppCompatActivity { private TextView mShowResultTV; private ProgressBar mLoadingPB; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_xutils3demo); initView(); } private void initView() { this.mShowResultTV = (TextView) this.findViewById(R.id.tv_showresult); this.mLoadingPB = (ProgressBar) this.findViewById(R.id.pb_loading); } public void onClick(View v) { switch (v.getId()) { case R.id.btn_ipsearch: ipSearch(); break; case R.id.btn_telsearch: telSearch(); break; case R.id.btn_gettest: getTest(); break; case R.id.btn_posttest: postTest(); break; case R.id.btn_uploadfile: uploadfile(); break; case R.id.btn_download: download(); break; } } private void showLoading() { mLoadingPB.setVisibility(View.VISIBLE); } private void hideLoading() { mLoadingPB.setVisibility(View.GONE); } private void ipSearch() { // 请求参数 RequestParams params = new RequestParams(C.baseurl.TAOBAO_IP_SEARCH_BASE_URL); params.addParameter("ip", "63.223.108.42"); showLoading(); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onCancelled(CancelledException arg0) { hideLoading(); } @Override public void onError(Throwable arg0, boolean arg1) { hideLoading(); mShowResultTV.setText(arg0.toString()); } @Override public void onFinished() { hideLoading(); } @Override public void onSuccess(String arg0) { hideLoading(); // 成功下载,显示到txtv上面 mShowResultTV.setText(arg0); } }); } private void telSearch() { // 请求参数 RequestParams params = new RequestParams(C.baseurl.BAIDU_API_STORE + C.apiurl.MOBILE_PHONE_SERVICE); params.addHeader("apikey", C.apikey.BAIDU_API_STORE_KEY); params.addParameter("tel", "15111111111"); showLoading(); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onCancelled(CancelledException arg0) { hideLoading(); } @Override public void onError(Throwable arg0, boolean arg1) { hideLoading(); mShowResultTV.setText(arg0.toString()); } @Override public void onFinished() { hideLoading(); } @Override public void onSuccess(String arg0) { hideLoading(); // 成功下载,显示到txtv上面 mShowResultTV.setText(arg0); } }); } public void getTest() { String url="http://flash.weather.com.cn/wmaps/xml/china.xml"; XUtil3HttpUtil.Get(url, null, new HttpCallBack<String>() { @Override public void onSuccess(String xmlString) { super.onSuccess(xmlString); try { XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); XmlPullParser xmlPullParser = factory.newPullParser(); xmlPullParser.setInput(new StringReader(xmlString)); int eventType = xmlPullParser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { switch (eventType) { case XmlPullParser.START_TAG: String nodeName = xmlPullParser.getName(); if ("city".equals(nodeName)) { String pName = xmlPullParser.getAttributeValue(0); Logger.e("TAG", "city is " + pName); } break; } eventType = xmlPullParser.next(); } } catch (Exception e) { Logger.e(e); } } @Override public void onError(Throwable ex, boolean isOnCallback) { super.onError(ex, isOnCallback); } }); } private void postTest() { String url="http://api.k780.com:88/?app=idcard.get"; HashMap<String,Object> map = new HashMap<String,Object>(); map.put("appkey", "10003"); map.put("sign", "b59bc3ef6191eb9f747dd4e83c99f2a4"); map.put("format", "json"); map.put("idcard", "110101199001011114"); XUtil3HttpUtil.Post(url, map, new HttpCallBack<String>(){ @Override public void onSuccess(String result) { super.onSuccess(result); mShowResultTV.setText(result); } @Override public void onError(Throwable ex, boolean isOnCallback) { super.onError(ex, isOnCallback); } }); } private void uploadfile() { } private void download() { //文件下载地址 String url = "http://imgsrc.baidu.com/forum/w%3D580/sign=b935b9f78701a18bf0eb1247ae2d0761/1e20d01373f08202684eaee44bfbfbeda9641bf3.jpg"; //文件保存在本地的路径 String filepath = SDUtil.getSDCardPath(C.APP_NAME) + File.separator + "mm" + System.currentTimeMillis() + ".jpg"; XUtil3HttpUtil.DownLoadFile(url, filepath,new HttpCallBack<File>(){ @Override public void onSuccess(File result) { super.onSuccess(result); if (result == null) return; mShowResultTV.setText(result.getAbsolutePath()); } @Override public void onError(Throwable ex, boolean isOnCallback) { super.onError(ex, isOnCallback); } }); } }