ユーザー名とパスワードを持つphp get urlからファイルをダウンロードしようとしています。私のコードはエラーを表示せず、ファイルがダウンロードされていることをプログレスバーが表示しますが、ログ内のリストを印刷しようとするとファイルが表示されません。私は間違って何をしていますか?アプリケーションのメモリ内にファイルを保存する
これはの中で呼び出されたAsyncTask
のdoInBackground
セクションのコードで、URLをパラメータに入れました。
D/Files: Path: /data/data/my.app.package/files
D/Files: Size: 1
D/Files: File Name: instant-run
私が持っているファイルを見ることができない:私はこのコード
if (result.equals("")){
String path = context.getFilesDir().toString();
Log.d("Files", "Path: "+ path);
File directory = new File(path);
File[] files = directory.listFiles();
Log.d("Files", "Size: " + files.length);
for (int i = 0; i<files.length; i++){
Log.d("Files", "File Name: " + files[i].getName());
}
}
しかし、私が印刷され得る唯一のことを書かれているonPostExecute
セクションでは
protected String doInBackground(String... sUrl) {
InputStream input = null;
OutputStream output = null;
HttpURLConnection connection = null;
try{
URL url = new URL(sUrl[0]);
connection = (HttpURLConnection) url.openConnection();
connection.connect();
int fileLength = connection.getContentLength();
input = connection.getInputStream();
output = new FileOutputStream(context.getFilesDir()+"video.m3u");
byte data[] = new byte[4096];
long total = 0;
int count;
while ((count = input.read(data)) != -1){
total = total + count;
if (fileLength > 0){
publishProgress((int) (total * 100/fileLength));
}
output.write(data, 0, count);
}
}catch (Exception e){
return e.toString();
}finally {
try{
if (output != null){
output.close();
}
if (input != null){
input.close();
}
}catch (IOException ignored){
}
if (connection != null){
connection.disconnect();
}
}
return "";
}
はこれですダウンロードされました。
を行う必要があるFileオブジェクトです私はあなたに質問をすることができますか?このファイルをAndroidの外部プレーヤーで再生するにはどうすればよいですか?あなたは良いリンクを知っていますか? –
どういう意味ですか?あなたのアプリの外でvideo.m3uをプレイしますか?あなたのアプリから実行しますか? –
Android内蔵プレーヤーがm3uを再生できないと聞いたので、携帯電話の内蔵ストレージに保存して、外部プレーヤーで開く –