Android:どのように交換やコミュニケーションオブジェクト地域でのサービス?

StackOverflow https://stackoverflow.com/questions/1542499

質問

ここまでのクラスのための簡単な現地サービスです。いきたいと思いる 送信要求 この地域でのサービス 異なるヌ 私の願います。のパラメーターによりこれらのご要望のサービスで接続すHttpClientるウェブサーバを受けるものとするJSONObjectのです。すべてのHTTP通信を行っている間に活動してしまいましたが、まず私がで 走行には別のスレッドは私の地元のサービス ます。

ソースコードの非常に単純なローカルサービスのようになりますか

// BackgroundService.java
package com.test.localservice;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class BackgroundService extends Service
{
    @Override
    public void onCreate() {
        super.onCreate();
        Log.i("BackgroundService", "onCreate()");
        Thread thr = new Thread(null, new RunThread(), "BackgroundService");
        thr.start();
    }
    class RunThread implements Runnable
    {
        public void run() {
            Log.i("BackgroundService", "run()");

            /* Here the HTTP JSON communication is going to happen */

            //BackgroundService.this.stopSelf();
        }
    }
    @Override
    public void onDestroy()
    {
        Log.i("BackgroundService", "onDestroy()");
        super.onDestroy();
    }

    @Override
    public void onStart(Intent intent, int startId) {
        Log.i("BackgroundService", "onStart()");
        super.onStart(intent, startId);
    }
    @Override
    public IBinder onBind(Intent intent) {
        Log.i("BackgroundService", "onBind()");
        return null;
    }

}

問題は私に直面は今より知識が全くない)、コミュニケーション 活動 <-->地域でのサービス.この通信およびオブジェクトの交換の例は、 リモートサービス を使用 AIDL (AndroidタDefinitonとができる。しかし、いかにこのパスです。私はそのような交換は自分で定義オブジェクトやできない場合には、それかJSONObjectはこのままいくだけでも、単純な文字列の配列う)のものです。

できいてください点の方向、可能であれば簡単に例のオブジェクト交換(両方)に現地サービスです。

よろしくお願いします。

役に立ちましたか?

解決

思いを AsyncTask 代わりにご自身のスレッドがこのシナリオ。

贈活動への参照をお BackgroundService オブジェクトは、オプションがあります。

  1. 利用シングルトン、お BackgroundService オブジェクトからの静脈などの公共データの委員は、nullingる静参照 onDestroy()).

  2. に従って LocalServiceBinding APIサンプルを返します IBinder るだけのアクセスを提供しますの BackgroundService オブジェクトです。

からのものと同じJVMに、パスオブジェです。注意するものはなにも過去の成分の生涯(例えば、 Activity べきではないのキャッシュのシングルトン).

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top