andloid
Android アプリ開発
導入
Httpクライアント
権限追加
AndroidManifestに
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
を追加。
HTTP通信処理
HttpURLConnectionを用いてHTTP通信を行う処理。 HttpTaskというクラスに処理を記載していく。
class HttpTask : AsyncTask<URL, Void, Boolean>() { override fun doInBackground(vararg params: URL?): Boolean { var httpURLConnection: HttpURLConnection? = null val outputPath = "/storage/emulated/0/Download/output.mp4" try { val url = params[0] as URL httpURLConnection = url.openConnection() as HttpURLConnection httpURLConnection.connect() val status = httpURLConnection.responseCode if (status == HttpURLConnection.HTTP_OK) { val dataInputStream = DataInputStream(httpURLConnection.inputStream) val dataOutputStream = DataOutputStream(FileOutputStream(outputPath)) val buffer = ByteArray(4096) var readByte = dataInputStream.read(buffer) while (readByte != -1) { dataOutputStream.write(buffer, 0, readByte) readByte = dataInputStream.read(buffer) } dataInputStream.close() dataOutputStream.close() return true } } catch (e: IOException) { e.printStackTrace() } finally { if (httpURLConnection != null) { httpURLConnection.disconnect() } } return false } }
andloid.txt · 最終更新: 2023/05/17 17:22 by mikoto