- Android
- 2011-11-11 - 更新:2011-12-14
2,782 views
IntentServiceでバックグラウンドにて処理を実行し、
完了の通知を受け取るにはブロードキャストレシーバーを使用して実現できます。
IntentFilterとBroadcastReceiverを使って、アクティビティとサービス間で通信します。
IntentServiceを利用するためのマニフェストへの記述
<application ...> <service android:name="MyIntentService"></service> </application>
まずは、アクティビティ
[HelloActivity.java]
import android.app.Activity; import android.os.Bundle; import android.content.Intent; import android.content.IntentFilter; import android.content.BroadcastReceiver; public class HelloActivity extends Activity { IntentFilter intentFilter; MyBroadcastReceiver receiver; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); startService(new Intent(getBaseContext(), MyIntentService.class)); receiver = new MyBroadcastReceiver(); intentFilter = new IntentFilter(); intentFilter.addAction("MY_ACTION"); registerReceiver(receiver, intentFilter); } }
次に、IntentServiceクラス
続きを読む…»
HTTP接続で簡単なテキストファイルのダウンロード
【必要なインポート宣言】
import java.io.*; import java.net.HttpURLConnection; import java.net.URL;
Androidでは、アプリケーション毎に専用のディレクトリが設けられています。
アプリケーション毎に「/data/data/パッケージ名」となっていて、
更にそれ以下に以下のように領域が分かれています。
databases | データベースの保存 |
---|---|
shared_prefs | 設定ファイルの保存 |
files | ファイルの保存 |
今回はファイルの入出力なので、「files」ディレクトリを利用します。
アクセスする際はファイルまでのパスは不要です。