1.加internet权限
2.代码:
public class MainActivity extends AppCompatActivity {
private TextView xianshi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xianshi = (TextView) findViewById(R.id.xianshi);
}
public void xiazai(View view) throws MalformedURLException {
DownTask task = new DownTask(this);
task.execute(new URL("http://jwc.jsu.edu.cn/")); //传一个参数给doinBackground
}
class DownTask extends AsyncTask<URL, Integer, String> {
ProgressDialog dialog;
int hasread = 0;
Context mcontext;
public DownTask(Context con) {
mcontext = con;
}
@Override
protected String doInBackground(URL... params) {
StringBuilder sb = new StringBuilder();
try {
URLConnection conn = params[0].openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream() , "utf-8"));
String line = "123";
while((line = br.readLine()) != null){
Log.i("mydate" , "line");
sb.append(line + "\n");
hasread++;
publishProgress(hasread); //返回进度给onprogressupdate
}
return sb.toString(); //返回结果给onPosExcute
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(Integer... values) {
if (values[0] > 202){
values[0] = 202;
}
xianshi.setText("已经读取了[" + values[0] + "]行!");
dialog.setProgress(values[0]);
}
@Override
protected void onPreExecute() { //
//doinBackground之前的准备工作
dialog = new ProgressDialog(mcontext);
dialog.setTitle("任务正在执行中");
dialog.setMessage("执行中,请稍等");
dialog.setCancelable(false);
dialog.setMax(202);
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setIndeterminate(false);
dialog.show();
}
@Override
protected void onPostExecute(String s) {
Log.i("mydate" , "s");
xianshi.setText("jd:\n" + s);
//dialog.dismiss(); //asyncTask完成,隐藏dialog
}
}
}