- Android
-
2011-11-11 - 更新:2011-12-14
3,033 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」ディレクトリを利用します。
アクセスする際はファイルまでのパスは不要です。