一:AsyncTask 的使用

(1)activity_main.xml

<TextView        android:id="@+id/tvInfo"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" />    <ProgressBar            android:layout_below="@id/tvInfo"         android:id="@+id/asyncPb"             style="?android:attr/progressBarStyleHorizontal"          android:layout_width="fill_parent"            android:layout_height="wrap_content"           android:visibility="gone" />

(2)MainActivity.java

public class MainActivity extends Activity {private ProgressBar asyncPb = null;private TextView tvInfo = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tvInfo = (TextView)findViewById(R.id.tvInfo);String params = "Welcome to here";new MyAsyncTask().execute(params);}private class MyAsyncTask extends AsyncTask<String, Integer, String>{@Override          protected void onPreExecute() {          //做一些预处理asyncPb = (ProgressBar)findViewById(R.id.asyncPb);asyncPb.setVisibility(View.VISIBLE);        }@Overrideprotected String doInBackground(String... params) {//执行耗时操作,网络任务、文件操作、数据库操作、复杂计算操作int myProgress = 0;int length = params[0].length();for(int i=1; i<=length; i++){myProgress = i;//模拟耗时操作try {Thread.sleep(300);} catch (InterruptedException e) {e.printStackTrace();}publishProgress((int)((myProgress/(float)length)*100));}//它将传递给onPostExecutereturn params[0];}@Overrideprotected void onProgressUpdate(Integer... values) {//更新进度条asyncPb.setProgress(values[0]);tvInfo.setText("已加载:"+(values[0])+"%");}@Overrideprotected void onPostExecute(String result) {//更新UItvInfo.setText("加载完成:"+result);}}}

 二:HttpGet

public static String getRequest(String url){        String result = "";        HttpClient client = new DefaultHttpClient();                HttpGet get = new HttpGet(url);                try {            HttpParams httpParams = client.getParams();                        HttpConnectionParams.setConnectionTimeout(httpParams, 3000);            HttpConnectionParams.setSoTimeout(httpParams, 5000);                        HttpResponse response = client.execute(get);                        if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK){                result = EntityUtils.toString(response.getEntity()).trim();            }        } catch (Exception e) {            //连接超时        }                 return result;    }

三:Volley POST

private RequestQueue rQueue = null;rQueue = WzhVolley.getRequestQueue();StringRequest postRequest = new StringRequest(    Request.Method.POST,    URL,    createDoSuccess(),    createDoError()){        protected Map<String,String> getParams(){            Map<String,String> params = new HashMap<String,String>();            params.put(key,value);            return params;        }    };    postRequest.setRetryPolicy(new     DefaultRetryPolicy(WR.DEFAULT_TIMEOUT_MS, WR.DEFAULT_MAX_RETRIES, WR.DEFAULT_BACKOFF_MULT));rQueue.add(postRequest);private Response.Listener<String> createDoSuccess(){    return new Response.Listener<String>(){        public void onResponse(String arg0){            //...            JSONObject jsonObj = new JSONObject(arg0);            //or            JSONArray jsonArr = new JSONArray(arg0);        }    };}private Response.ErrorListener createDoError(){    return new Response.ErrorListener(){        public void onErrorResponse(VolleyError arg0){            //...        }    };}

更多相关文章

  1. Android文件操作
  2. Android(安卓)Handler简单例子
  3. Android(安卓)Studio-解决Fetching android sdk component infor
  4. android中的数据库操作
  5. Service与Android系统设计(7)--- Binder驱动
  6. android > EditText 控件操作
  7. Service与Android系统设计(7)--- Binder驱动
  8. ReactNative android离线加载
  9. Android(安卓)Bitmap最全基本操作:与Drawable 、File、btye[]互转

随机推荐

  1. ListView一些相关知识
  2. Android入门笔记 - 多媒体 - MediaPlayer
  3. 动画 -- View动画 -- 透明度动画
  4. React-Native Android(安卓)打包(window环
  5. Android之googleMap(其二)
  6. Android(安卓)5.0动画(一)
  7. Android(安卓)应用获取通知栏权限是否开
  8. Android发送邮件的方法实例详解
  9. android adb shell am一些命令的用法
  10. Android(安卓)service启动流程分析.