-
Notifications
You must be signed in to change notification settings - Fork 1
Androidで画像をダウンロードするServiceクラス。DownloadManagerがつかえないAndroidのバージョン2.1で確認しています。
sharakova/ImageDownloadService
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
AndroidでWebにある画像をダウンロードするサービスクラス ImageDownloadService です。 MIT Lisenceで、ご自由におつかいください。 説明 ・DownloadManagerが利用できない、Android 2.1などで画像をダウンロードするプログラムです。 ・大きな画像をバックグランドでダウンロードします。 ・ダウンロードした画像は、ギャラリーやコンテンツマネージャーでも表示されるようになります。 ・ダウンロードを開始すると、Notificationでダウンロードの状態を確認できます。 ・ダウンロードは、URLと保存したいタイトルをIntentで渡すだけです。 ・保存する画像は、他のアプリからも閲覧できる場所に保存されます。 ・SDカードに画像を保存するため、SDカードが挿入されていない場合を想定してません。 ・Notificationには、デフォルトのiconを設定していますが、他のICONも設定可能です。 利用方法 # Android マニフェストに必要となる設定 * Serviceクラスを設定する jp.sharakova.android.service.ImageDownloadService <service android:name="jp.sharakova.android.service.ImageDownloadService" /> * android.permission.INTERNET ネットを利用するためのパーミッション * android.permission.WRITE_EXTERNAL_STORAGE SDカードを利用するためのパーミッション <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> # Activityから呼び出し * Actionに、ImageDownloadService.IMAGE_DOWNLOAD_SERVICE を設定する。 * image_urlに、画像のURLを渡す * image_titleには、画像のタイトルを設定する Intent intent = new Intent(ImageDownloadService.IMAGE_DOWNLOAD_SERVICE); intent.setClass(getApplicationContext(), ImageDownloadService.class); intent.putExtra("image_url", "画像URL"); intent.putExtra("image_title", "画像の名前"); startService(intent); (サンプル) # AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="jp.sharakova.android.imagedownload" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name="jp.sharakova.android.service.ImageDownloadSampleActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <service android:name="jp.sharakova.android.service.ImageDownloadService" /> </application> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> </manifest> # ImageDownloadSampleActivity package jp.sharakova.android.service; import jp.sharakova.android.imagedownload.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Toast; public class ImageDownloadSampleActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // ダウンロードのOnClickで、画像のダウンロードを開始する findViewById(R.id.download_btn).setOnClickListener(downloadBtnListener); } OnClickListener downloadBtnListener = new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(ImageDownloadService.IMAGE_DOWNLOAD_SERVICE); intent.setClass(getApplicationContext(), ImageDownloadService.class); intent.putExtra("image_url", "http://lh5.googleusercontent.com/-U_ZrYg86EMc/S9uxmpuT6hI/AAAAAAAACUs/-zOKvjJKH8E/s640/golf.png"); intent.putExtra("image_title", "golf"); startService(intent); // Toastの表示 Toast.makeText(getApplicationContext(), "download start", Toast.LENGTH_SHORT).show(); } }; }
About
Androidで画像をダウンロードするServiceクラス。DownloadManagerがつかえないAndroidのバージョン2.1で確認しています。
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published