Android Open Source - latrobe-datacapture-dir Data Service Connection From Project Back to project page latrobe-datacapture-dir .
License The source code is released under:
MIT License
If you think the Android project latrobe-datacapture-dir listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.example.DataCaptureApp.data;
/ / f r o m w w w . j a v a 2 s . c o m
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;
import android.util.Log;
/**
* Created by Tom on 26/10/2014.
*/
public class DataServiceConnection implements ServiceConnection, IEventSource
{
private Context mContext;
private DataService mService;
private IEventListener mServiceListener;
private Class mDataServiceClass;
private boolean mIsBound = false;
public DataServiceConnection(Class dataServiceClass)
{
mDataServiceClass = dataServiceClass;
if (!DataService.class.isAssignableFrom(mDataServiceClass))
{
throw new IllegalArgumentException("Given class must be subclass of DataService class!" );
}
}
@Override
public void onServiceConnected(ComponentName name, IBinder binder)
{
mService = ((DataService.LocalBinder)binder).getService();
mServiceListener.onEvent(this , Event.SERVICE_AVAILABLE, mService);
}
@Override
public void onServiceDisconnected(ComponentName name)
{
// Handling local services, this callback should not be called!
Log.d("DataServiceConnection" , "onServiceDisconnected callback!" );
}
public void bind(Context context, IEventListener serviceListener)
{
if (!mIsBound)
{
mServiceListener = serviceListener;
context.bindService(new Intent(context, mDataServiceClass), this , Context.BIND_AUTO_CREATE);
mContext = context;
mIsBound = true;
}
else
{
Log.d("DataServiceConnection" , "Attempted binding while bound!" );
}
}
public void unbind()
{
if (mIsBound)
{
// Unbind
mContext.unbindService(this );
mContext = null;
mServiceListener = null;
mIsBound = false;
}
else
{
Log.d("DataServiceConnection" , "Attempted unbinding while unbound!" );
}
}
public void start(Context context)
{
context.startService(new Intent(context, mDataServiceClass));
}
public void stop(Context context)
{
mContext.stopService(new Intent(context, mDataServiceClass));
}
@Override
public void setEventListener(IEventListener listener)
{
mServiceListener = listener;
}
public boolean isBound()
{
return mIsBound;
}
public DataService getService()
{
return mService;
}
}
Java Source Code List com.example.DataCaptureApp.AdvConfigActivity.java com.example.DataCaptureApp.ConfigActivity.java com.example.DataCaptureApp.MasterActivity.java com.example.DataCaptureApp.MasterService.java com.example.DataCaptureApp.SlaveActivity.java com.example.DataCaptureApp.SlaveService.java com.example.DataCaptureApp.data.DataServiceConnection.java com.example.DataCaptureApp.data.DataService.java com.example.DataCaptureApp.data.DataTransform.java com.example.DataCaptureApp.data.Data.java com.example.DataCaptureApp.data.Event.java com.example.DataCaptureApp.data.FailedInitialisationException.java com.example.DataCaptureApp.data.IDataEventListener.java com.example.DataCaptureApp.data.IDataListener.java com.example.DataCaptureApp.data.IDataSource.java com.example.DataCaptureApp.data.IDataTransform.java com.example.DataCaptureApp.data.IEventListener.java com.example.DataCaptureApp.data.IEventSource.java com.example.DataCaptureApp.services.BluetoothConnectivityService.java com.example.DataCaptureApp.services.BluetoothThread.java com.example.DataCaptureApp.services.DataDbContract.java com.example.DataCaptureApp.services.DataDbHelper.java com.example.DataCaptureApp.services.DataStoreService.java com.example.DataCaptureApp.services.HttpThread.java com.example.DataCaptureApp.services.RemoteConnectivityService.java com.example.DataCaptureApp.services.SensorSampleService.java com.example.DataCaptureApp.services.SensorSampler.java com.example.DataCaptureApp.testing.BluetoothActivity.java com.example.DataCaptureApp.testing.DataStoreActivity.java com.example.DataCaptureApp.testing.DataTester.java com.example.DataCaptureApp.testing.IServiceListener.java com.example.DataCaptureApp.testing.MainService.java com.example.DataCaptureApp.testing.MasterTestActivity.java com.example.DataCaptureApp.testing.RandomService.java com.example.DataCaptureApp.testing.RemoteActivity.java com.example.DataCaptureApp.testing.SensorSampleActivity.java com.example.DataCaptureApp.testing.ServiceTestActivity.java com.example.DataCaptureApp.testing.SlaveTestActivity.java com.example.DataCaptureApp.testing.TestActivity.java com.example.DataCaptureApp.transforms.AggregatorDataTransform.java com.example.DataCaptureApp.transforms.ArithmeticDataTransform.java com.example.DataCaptureApp.transforms.ArrayCollectDataTransform.java com.example.DataCaptureApp.transforms.ArraySplitDataTransform.java com.example.DataCaptureApp.transforms.DeserialiseDataTransform.java com.example.DataCaptureApp.transforms.FieldCopyDataTransform.java com.example.DataCaptureApp.transforms.FieldModifyDataTransform.java com.example.DataCaptureApp.transforms.FieldRenameDataTransform.java com.example.DataCaptureApp.transforms.IntervalAggregatorDataTransform.java com.example.DataCaptureApp.transforms.PackDataTransform.java com.example.DataCaptureApp.transforms.QuaternionDifferenceDataTransform.java com.example.DataCaptureApp.transforms.RemoveDataTransform.java com.example.DataCaptureApp.transforms.SetDataTransform.java com.example.DataCaptureApp.transforms.UnpackDataTransform.java com.example.DataCaptureApp.utils.BroadcastDataSource.java com.example.DataCaptureApp.utils.ByteUtils.java com.example.DataCaptureApp.utils.DataEventHandler.java com.example.DataCaptureApp.utils.DataHandlerThread.java com.example.DataCaptureApp.utils.JSONReader.java com.example.DataCaptureApp.utils.Quaternion.java com.example.DataCaptureApp.utils.SerialisationUtils.java