android 代码片段,Android 中常用代码片段
一:AsyncTask 的使用
(1)activity_main.xml
(2)MainActivity.java
public class MainActivity extends Activity {
private ProgressBar asyncPb = null;
private TextView tvInfo = null;
@Override
protected 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{
@Override
protected void onPreExecute() {
//做一些預(yù)處理
asyncPb = (ProgressBar)findViewById(R.id.asyncPb);
asyncPb.setVisibility(View.VISIBLE);
}
@Override
protected String doInBackground(String... params) {
//執(zhí)行耗時(shí)操作,網(wǎng)絡(luò)任務(wù)、文件操作、數(shù)據(jù)庫操作、復(fù)雜計(jì)算操作
int myProgress = 0;
int length = params[0].length();
for(int i=1; i<=length; i++){
myProgress = i;
//模擬耗時(shí)操作
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
publishProgress((int)((myProgress/(float)length)*100));
}
//它將傳遞給onPostExecute
return params[0];
}
@Override
protected void onProgressUpdate(Integer... values) {
//更新進(jìn)度條
asyncPb.setProgress(values[0]);
tvInfo.setText("已加載:"+(values[0])+"%");
}
@Override
protected void onPostExecute(String result) {
//更新UI
tvInfo.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) {
//連接超時(shí)
}
return result;
}
三:Volley POST
private RequestQueue rQueue = null;
rQueue=WzhVolley.getRequestQueue();
StringRequest postRequest= newStringRequest(
Request.Method.POST,
URL,
createDoSuccess(),
createDoError()){protected MapgetParams(){
Map params = new HashMap();
params.put(key,value);returnparams;
}
};
postRequest.setRetryPolicy(newDefaultRetryPolicy(WR.DEFAULT_TIMEOUT_MS, WR.DEFAULT_MAX_RETRIES, WR.DEFAULT_BACKOFF_MULT));
rQueue.add(postRequest);private Response.ListenercreateDoSuccess(){return new Response.Listener(){public voidonResponse(String arg0){//...
JSONObject jsonObj = newJSONObject(arg0);//or
JSONArray jsonArr = newJSONArray(arg0);
}
};
}privateResponse.ErrorListener createDoError(){return newResponse.ErrorListener(){public voidonErrorResponse(VolleyError arg0){//...
}
};
}
總結(jié)
以上是生活随笔為你收集整理的android 代码片段,Android 中常用代码片段的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何对android菜单,Android
- 下一篇: android webview 重定向