Пока у меня есть класс для простого местного обслуживания. Я хочу отправлять запросы на этот локальный сервис из разных активностей в моем приложении. В зависимости от параметров этих запросов служба подключится через 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;
}
}
Проблема, с которой я сейчас сталкиваюсь (из-за недостатка знаний) - это коммуникационная часть Деятельность <-> Местная служба . Я нашел несколько примеров обмена данными и обмена объектами для Remote Service с использованием AIDL (язык определения интерфейса Android). Тем не менее, я не уверен, если я пойду по этому пути. Я просто хотел бы обменяться либо моими собственными определенными объектами, либо, если это невозможно, тогда просто JSONObject или, если это намного упрощает работу, даже простые String Arrays будут работать (пока).
Может ли кто-нибудь указать мне правильное направление и, если возможно, привести простой пример обмена Объектами (в обе стороны) с местной службой.
Заранее спасибо.