4

私はAndroidの新機能ですが、私はビデオストリーミングアプリを開発していますが、アプリでビデオをダウンロードしています。 vimeoアプリのようなvimeoアプリで、ビデオをダウンロードしたい場合は、別の画面(ダウンロード画面)でバックグラウンドでビデオをダウンロードし始めます。ダウンロード画面に入ると既にビデオダウンロードが開始されています。あなたはアプリを抜け出し、まだダウンロード画面の背景にビデオをダウンロードして、ダウンロード画面に来たら、更新されたダウンロードの進行状況を表示します。vimeoアプリのようにバックゴンド(Android)のURLからビデオをダウンロードするには

1)Vimeoの enter image description here

2)ダウンロード画面でビデオをdowloadするにenter image description here

ダウンロードマネージャ上で私に

+0

問題を解決したコードを投稿してください。誰かがあなたのためにコードを書くことを期待しないでください。 –

+1

http://stacktips.com/tutorials/android/creating-a-background-service-in-android ..リンクに移動してください。これがあなたの問題を解決するかもしれないと思います。 – Andolasoft

+0

返信ありがとうございますが、あなたのリンクはアクティブではありません – Sahadev

答えて

0

このコードはのためにある事前に

感謝を示唆を与えてください。 SDカードに保存する

package com.Video.ALLTestProject; 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.InputStream; 
import java.net.HttpURLConnection; 
import java.net.URL; 
import android.content.Intent; 
import android.os.AsyncTask; 
import android.os.Environment; 
import android.util.Log; 

public class VideoSaveSDCARD extends Activity { 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     ProgressBack PB = new ProgressBack(); 
     PB.execute(""); 
    } 

    class ProgressBack extends AsyncTask < String, String, String > { 
     ProgressDialog PD; 
     @Override 
     protected void onPreExecute() { 
      PD = ProgressDialog.show(LoginPage.this, null, "Please Wait ...", true); 
      PD.setCancelable(true); 
     } 
     @Override 
     protected void doInBackground(String...arg0) { 
      DownloadFile("http://beta-vidizmo.com/hilton.mp4", "Sample.mp4"); 
     } 
     protected void onPostExecute(Boolean result) { 
      PD.dismiss(); 
     } 
    } 
} 

このスレッドの詳細情報How can I download a video file to SD card?

1

Vimeoアプリのダウンロードシステムの基本アーキテクチャは、現在オープンソースプロセスの途中です。数週間待つことができれば、それにアクセスできます。ない場合は、他のオープンソースの「ダウンロード」システムアウトがたくさんありますが、このようなとして:

android-priority-jobqueue

tape

robospice

は、最終的には、これらのどれもがの正確なニーズを満たしていませんVimeoアプリ、私たちは自分自身を書くことに決めました。私はこの回答が利用可能になったときに更新しようとします。

+0

こんにちはKevin、Vimeoアプリがオープンソースプロセスの途中にあると言いましたので、今はオープンソースで利用できることを知りたいと思いますか? –

0

1)

Androidのダウンロードマネージャダウンロードマネージャは、長時間実行されるダウンロードの処理を最適化するために、サービスとしてのAndroid 2.3で導入されました。

ダウンロードマネージャはHTTP接続を処理し、接続の変更を監視します。ダウンロードを使用するのは良い習慣です。

ほとんどの場合、特にユーザーセッション間でバックグラウンドでダウンロードが続く可能性が高い場所では、マネージャがほとんどです。

このクラスのインスタンスは、DOWNLOAD_SERVICEを渡してgetSystemService(String)で取得する必要があります。

このAPIを介してダウンロードを要求するアプリケーションは、ユーザーが通知またはダウンロードUIから実行中のダウンロードをクリックしたときに適切に処理するために、ACTION_NOTIFICATION_CLICKED用のブロードキャスト受信者を登録する必要があります。

2)は、フォアグラウンドでサービスの実行

フォアグラウンドサービスは、ユーザーがメモリ上の低殺傷するシステムのための候補者の積極的な意識であり、したがってない何かであると考えられていたサービスです。フォアグラウンドサービスはステータスバーの通知を提供する必要があります。ステータスバーは「進行中」見出しの下に置かれます。つまり、サービスが停止またはフォアグラウンドから削除されない限り、通知を破棄できません。

たとえば、サービスからのビデオをダウンロードするには、ユーザーがその操作を明示的に認識しているため、フォアグラウンドで実行するように設定する必要があります。ステータスバーの通知は、現在のダウンロードを示し、ユーザーがダウンロードプロセスと対話するためにアクティビティを開始できるようにします。

サービスをフォアグラウンドで実行するように要求するには、startForeground()を呼び出します。このメソッドは、通知を一意に識別する整数とステータスバーの通知の2つのパラメータをとります。例えば

Notification notification = new Notification(R.drawable.icon,  getText(R.string.ticker_text), 
    System.currentTimeMillis()); 
Intent notificationIntent = new Intent(this, ExampleActivity.class); 
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,  notificationIntent, 0); 
notification.setLatestEventInfo(this, getText(R.string.notification_title), 
    getText(R.string.notification_message), pendingIntent); 
startForeground(ONGOING_NOTIFICATION_ID, notification); 

stopForeground()を呼び出して、フォアグラウンドからサービスを削除するには。このメソッドは、ステータスバー通知を削除するかどうかを示すブール値を取ります。このメソッドはサービスを停止しません。ただし、サービスを停止した場合

関連する問題