RESOLU | Exemples de code démontrant un service AIDLBonjour Je voudrais l'exemple de code démontrant un service AIDL sous Android? |
Android | |
Service AIDL Android | |
Justine Posté le : 9 Janvier à 10:17 30 276 vues |
Noa Posté le : 9 Janvier à 10:21 |
Bonjour Voici l'exemple de code démontrant un service AIDL sous Android: public static class Binding extends Activity { /** The primary interface we will be calling on the service. */ IRemoteService mService = null; /** Another interface we use on the service. */ ISecondary mSecondaryService = null; Button mKillButton; TextView mCallbackText; private boolean mIsBound; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.remote_service_binding); // Watch for button clicks. Button button = (Button)findViewById(R.id.bind); button.setOnClickListener(mBindListener); button = (Button)findViewById(R.id.unbind); button.setOnClickListener(mUnbindListener); mKillButton = (Button)findViewById(R.id.kill); mKillButton.setOnClickListener(mKillListener); mKillButton.setEnabled(false); mCallbackText = (TextView)findViewById(R.id.callback); mCallbackText.setText("Not attached."); } private ServiceConnection mConnection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder service) { mService = IRemoteService.Stub.asInterface(service); mKillButton.setEnabled(true); mCallbackText.setText("Attached."); try { mService.registerCallback(mCallback); } catch (RemoteException e) { . } Toast.makeText(Binding.this, R.string.remote_service_connected, Toast.LENGTH_SHORT).show(); } public void onServiceDisconnected(ComponentName className) { mService = null; mKillButton.setEnabled(false); mCallbackText.setText("Disconnected."); // As part of the sample, tell the user what happened. Toast.makeText(Binding.this, R.string.remote_service_disconnected, Toast.LENGTH_SHORT).show(); } }; private ServiceConnection mSecondaryConnection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder service) { mSecondaryService = ISecondary.Stub.asInterface(service); mKillButton.setEnabled(true); } public void onServiceDisconnected(ComponentName className) { mSecondaryService = null; mKillButton.setEnabled(false); } }; private OnClickListener mBindListener = new OnClickListener() { public void onClick(View v) { bindService(new Intent(IRemoteService.class.getName()), mConnection, Context.BIND_AUTO_CREATE); bindService(new Intent(ISecondary.class.getName()), mSecondaryConnection, Context.BIND_AUTO_CREATE); mIsBound = true; mCallbackText.setText("Binding."); } }; private OnClickListener mUnbindListener = new OnClickListener() { public void onClick(View v) { if (mIsBound) { // If we have received the service, and hence registered with // it, then now is the time to unregister. if (mService != null) { try { mService.unregisterCallback(mCallback); } catch (RemoteException e) { } } // Detach our existing connection. unbindService(mConnection); unbindService(mSecondaryConnection); mKillButton.setEnabled(false); mIsBound = false; mCallbackText.setText("Unbinding."); } } }; private OnClickListener mKillListener = new OnClickListener() { public void onClick(View v) { // To kill the process hosting our service, we need to know its // PID. Conveniently our service has a call that will return // to us that information. if (mSecondaryService != null) { try { int pid = mSecondaryService.getPid(); Process.killProcess(pid); mCallbackText.setText("Killed service process."); } catch (RemoteException ex) { Toast.makeText(Binding.this, R.string.remote_call_failed, Toast.LENGTH_SHORT).show(); } } } }; private IRemoteServiceCallback mCallback = new IRemoteServiceCallback.Stub() { public void valueChanged(int value) { mHandler.sendMessage(mHandler.obtainMessage(BUMP_MSG, value, 0)); } }; private static final int BUMP_MSG = 1; private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case BUMP_MSG: mCallbackText.setText("Received from service: " + msg.arg1); break; default: super.handleMessage(msg); } } }; } |
RESOLU | La façon dont la classe Rect implémente le protocole parcelableBonjourSavez-vous la façon dont la classe Rect implémente le protocole parcelable d'Android? |
Android | |
Classe Rect Parcelable Android |
RESOLU | Exemple d'interface de serviceBonjourJe voudrais s'il vous plaît un exemple d'interface de service sous Android? |
Android | |
Interface Service Android |
RESOLU | Créer un messager sur la base du IBinderBonjourJ'aimerais savoir le code qui permet de créer un messager sur la base du IBinder sous Android? |
Android | |
Messager IBinder Android |
RESOLU | Envoyer des messages au serviceBonjourS'il vous plaît quel est le code qui permet d'envoyer des messages au service sous Android? |
Android | |
Messages Service Android |
RESOLU | Gestionnaire des messages entrants des clientsBonjourS'il vous plaît avez-vous l'exemple de gestionnaire des messages entrants des clients sous Android? |
Android | |
Messages Clients Android |
RESOLU | Appelle getRandomNumber() quand un bouton est cliquéBonjourAvez-vous un exemple sur l'appelle getRandomNumber() quand un bouton est cliqué sous Android? |
Android | |
getRandomNumber() Android |
RESOLU | Obtenir looper du HandlerThreadBonjourJ'aimerais savoir comment faire pour obtenir looper du HandlerThread sous Android? |
Android | |
Looper HandlerThread Android |
RESOLU | Démarrer le fil conducteur du serviceBonjourSavez-vous s'il vous plaît comment faire pour démarrez le fil conducteur du service sous Android? |
Android | |
Conducteur Android |
RESOLU | Implémentation de la classe de serviceBonjourAvez-vous un exemple sur l'implémentation de la classe de service sous Android? |
Android | |
Classe Service Android |
RESOLU | Constructeur avec un nom pour le thread de travailBonjourJe voudrais l'exemple d'un constructeur avec un nom pour le thread de travail sous Android? |
Android | |
Constructeur Thread Android |
RESOLU | Mettre en place une activité en tant que point de départBonjoursavez-vous comment mettre en place une activité en tant que point de départ sous Android? |
Android | |
Activité Android |
RESOLU | Les principaux indicateurs d'intentionBonjourQuels sont les principaux indicateurs d'intention utiliser sous Android? |
Android | |
Indicateurs Intention Android |
RESOLU | Créer et retourner une CursorLoaderBonjourJ'aimerais savoir comment faire pour créer et retourner une CursorLoader sous Android? |
Android | |
CursorLoader Android |
RESOLU | Redémarrer le chargeur pour faire une nouvelle requêteBonjourComment faire pour redémarrer le chargeur pour faire une nouvelle requête sous Android? |
Android | |
Chargeur Requête Android |
RESOLU | Afficher les données chargéesBonjourJ'ai besoin de savoir quel est le code qui permet d'afficher les données chargées sous Android? |
Android | |
Données Android |
Veuillez vous connecter pour profiter pleinement de toutes les fonctionnalités de Oyant. | ||
Connexion |
Inscription |
|
Poster une question |