【读书笔记】安卓异步任务
来源:互联网 发布:stc12c5a32s2数据手册 编辑:程序博客网 时间:2024/05/19 12:13
首先是页面中的内容,大致如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.terry.code0333.AsyncTaskTest"><TextViewandroid:id="@+id/show" android:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content" /><Buttonandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_below="@+id/show" android:layout_toRightOf="@+id/show" android:layout_toEndOf="@+id/show" android:layout_marginTop="149dp" /></RelativeLayout>
后台Activity内容如下:
import android.app.Activity;import android.app.ProgressDialog;import android.content.Context;import android.os.AsyncTask;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;public class AsyncTaskTest extends Activity { private TextView show; private Button loadData; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_async_task_test); show = (TextView) findViewById(R.id.show); loadData = (Button) findViewById(R.id.button); loadData.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { DownTask task = new DownTask(AsyncTaskTest.this); try { task.execute(new URL("https://github.com/onecoders/AndroidBook")); } catch (MalformedURLException e) { e.printStackTrace(); } } }); } class DownTask extends AsyncTask<URL, Integer, String> { ProgressDialog pDialog; int hasRead = 0; Context mContext; public DownTask(Context context) { mContext = context; } @Override protected String doInBackground(URL... params) { StringBuilder sb = new StringBuilder(); try { URLConnection conn = params[0].openConnection(); //打开conn连接对应的输入流,并将它包装成BufferedReader; BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8")); String line = null; while ((line = br.readLine()) != null) { sb.append(line).append("\n"); hasRead++; publishProgress(hasRead); } return sb.toString(); } catch (IOException ex) { ex.printStackTrace(); } return null; } @Override protected void onPostExecute(String result) { show.setText(result); pDialog.dismiss(); } @Override protected void onPreExecute() { pDialog = new ProgressDialog(mContext); pDialog.setTitle("任务正在执行中..."); pDialog.setMessage("任务正在执行中,请稍等..."); pDialog.setCancelable(false); pDialog.setMax(202); pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); pDialog.setIndeterminate(false); pDialog.show(); } @Override protected void onProgressUpdate(Integer... values) { show.setText("已经读取了" + values[0] + "行!"); pDialog.setProgress(values[0]); } }}
0 0
- 【读书笔记】安卓异步任务
- 安卓异步任务
- 安卓异步任务AsyncTask
- 安卓异步—AsysncTask
- 安卓异步任务类AsyncTask——突出一个简单、好用
- 在腾讯地图jar包升级后,安卓异步任务失效解决。
- 安卓异步处理的使用AsyncTask
- 安卓异步代理服务器客户端理解
- 安卓异步代理服务器客户端理解
- 安卓异步代理服务器客户端理解
- 安卓异步处理 打开html代码
- 安卓异步图片加载器
- 安卓异步消息处理机制
- 安卓异步消息处理机制ALooperRoster
- 安卓异步消息处理机制ALooper
- 安卓开发之安卓异步加载AsyncTask
- ImageLoader 安卓异步加载图片开源工具类
- 安卓异步加载图片(缩略图显示)的实现
- 什么是匿名内部类什么时侯用?
- UVA - 10951 Polynomial GCD (最大公共多项式)
- 精彩BUG人生[4] -- bug free or not
- 网络监控工具弥补云监控短板
- Search in Rotated Sorted Array
- 【读书笔记】安卓异步任务
- 自定义的一些button样式
- 9--Linux学习----信号
- Remove Duplicates from Sorted Array
- 线索二叉树_legend
- lm8333添加键盘背光代码
- 如何在PC上查看一个web页面在移动端的展示效果
- C# 序列化和反序列化
- ListView/Adapter IllegalStateException