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() {

//做一些预处理

asyncPb = (ProgressBar)findViewById(R.id.asyncPb);

asyncPb.setVisibility(View.VISIBLE);

}

@Override

protected 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));

}

//它将传递给onPostExecute

return params[0];

}

@Override

protected void onProgressUpdate(Integer... values) {

//更新进度条

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) {

//连接超时

}

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){//...

}

};

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值