日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

androidstuido_schooltest_8_Network

發布時間:2025/3/21 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 androidstuido_schooltest_8_Network 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • MainActivity.java
    • activity_main.xml
    • output:

MainActivity.java

package com.kanxue.school_test_2;import androidx.appcompat.app.AppCompatActivity;import android.app.ProgressDialog; import android.os.AsyncTask; import android.os.Bundle; import android.os.SystemClock; import android.view.View; import android.widget.Toast;import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL;public class MainActivity extends AppCompatActivity {//進度條private ProgressDialog dialog;//apk Fileprivate File apkFile;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void downloadApk(View view){//Toast.makeText(this, "下載apk", Toast.LENGTH_SHORT).show();//啟動異步任務處理new AsyncTask<Void,Integer,Void>(){//主線程中顯示進度條@Overrideprotected void onPreExecute() {dialog = new ProgressDialog(MainActivity.this);dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);dialog.show();//設置下載文件的保存路徑 /stroage/sdcard/Android/pageckage_name/files/xxx.apkapkFile = new File("/data/local/tmp/","update.apk");}@Overrideprotected Void doInBackground(Void... voids) {try {//1.下載地址String path = "http://192.168.31.65:8080/kgb-messenger.apk";URL url = new URL(path);HttpURLConnection connection = (HttpURLConnection) url.openConnection();//2.設置connection.setConnectTimeout(5000);connection.setReadTimeout(10000);//3.連接connection.connect();//4.請求并響應int responsecode = connection.getResponseCode();if(responsecode == 200){//設置dialog的最大進度dialog.setMax(connection.getContentLength());//apk文件大小 總字節數//5.得到apk文件流InputStream is = connection.getInputStream();//6.創建輸出流FileOutputStream fos = new FileOutputStream(apkFile);//7.邊讀邊寫byte[] buffer = new byte[1024];int len = -1;while((len = is.read(buffer))!=-1){fos.write(buffer,0,len);//8.更新進度publishProgress(len);//暫停50毫秒SystemClock.sleep(50);}//關閉流fos.close();is.close();}//9.下載完成后關閉網絡連接connection.disconnect();} catch (Exception e) {e.printStackTrace();}return null;}//下載完成后更新主界面@Overrideprotected void onPostExecute(Void aVoid) {dialog.dismiss();}//主線程中不斷去更新進度@Overrideprotected void onProgressUpdate(Integer... values) {dialog.incrementProgressBy(values[0]);}}.execute();} }

activity_main.xml

<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"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentRight="true"android:layout_alignParentTop="true"android:layout_marginTop="35dp"android:text="下載最新版本APK"android:onClick="downloadApk"/></RelativeLayout>

output:

總結

以上是生活随笔為你收集整理的androidstuido_schooltest_8_Network的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。