Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid: How to communicate and exchange objects with a Local Service?
    text
    copied!<p>So far I've a class for a simple local service. What I want to do is to <strong>send requests</strong> to this local service <strong>from different activies</strong> in my application. Depending on the parameters of these requests the service will connect via HttpClient to a webserver and receive a JSONObject and return it to the activity. All the HTTP communication is already working within my activity, but I'd like it to <strong>run in a separate thread in my local service</strong> now.</p> <p>The source code of my very simple local service looks like this so far:</p> <pre><code>// 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; } } </code></pre> <p>The problem I'm facing now (due to a lack of knowledge) is the communication part <strong>Activities &lt;--> Local Service</strong>. I found some communication and object exchange examples for a <strong>Remote Service</strong> using <a href="http://developer.android.com/guide/developing/tools/aidl.html" rel="nofollow noreferrer">AIDL</a> (Android Interface Definiton Language). However, I'm not sure if I've to go this path. I would simply like to exchange either my own defined objects or if that is not possible then just a JSONObject or if it makes things much easier even just simple String Arrays would work (for now).</p> <p>Can someone please point me in the right direction and if possible give a simple example of an Object exchange (both ways) with a local service.</p> <p>Thanks in advance.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload