第一种方法:通过异步任务类实现
1.布局文件
布局很简单,写个点击下载的按钮就行
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context="com.example.ygd.jreduch09.DownloadActivity">
<Button
android:id="@+id/download"
android:layout_alignParentBottom="true"
android:text="下载"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
2.主函数
public class DownloadActivity extends AppCompatActivity {
public Button download;
private NotificationManager nm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_download);
nm= (NotificationManager) getSystemService(Activity.NOTIFICATION_SERVICE);
download= (Button) findViewById(R.id.download);
download.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String url= UrlManager.APK_LOCAL;
new MyDownloadAnsy().execute(url);
}
});
}
public class MyDownloadAnsy extends AsyncTask<String,Integer,Integer>{
@Override
protected Integer doInBackground(String... params) {
HttpURLConnection con=null;
InputStream is=null;
OutputStream os=null;
try {
URL url=new URL(params[0]);
con= (HttpURLConnection) url.openConnection();
con.setConnectTimeout(5*1000); /