Servicios Ejemplo Android

En este tutorial, vamos a aprender sobre servicios en Android , este tutorial contiene definición, tipos de servicios, métodos que serán utilizados en el ejemplo y un ejemplo de servicios de Android .

Un servicio es un componente que se ejecuta en el fondo class ayuda a las distintas operaciones que son for ejecución. El usuario no se interactuó con estos. Estos realizan tareas incluso si la aplicación se destruye. Ejemplos long manejo de transacciones de red, la interacción con los proveedores de contenidos, la reproducción de música.

Esto es de dos tipos:

  1. Iniciado
  2. Bound

1) inicia el servicio

Un servicio se inicia cuando se llama StartService () método por una actividad. Se continúa funcionando en el fondo. Se detuvo cuando se llama método stopService () .

2) Servicio Bound

Un servicio está obligado cuando bindService () método es llamado por una actividad. Cuando se llama método unbindService () el componente es unbind.

Ejemplo de Iniciado y servicios Bound

include ejemplo Juego audio en el fondo, StartService () método se llama. Cuando trato de obtener información del archivo de audio actual, voy a obligar a que el servicio que proporciona información sobre audio actual.

Servicios androide del Ciclo de Vida

Fuente de la imagen: Google

Los métodos utilizados en los Servicios

  1. onStartCommand ()
    Este método se llama, cuando un deseo de actividad para iniciar un servicio llamando StartService () .
  2. onBind ()
    Este método se llama cuando otro componente tal como un deseo actividad para enlazar con el servicio llamando bindService () .
  3. onUnbind ()
    Este método se llama, cuando todos los componentes tales como los clientes se desconecta de una class.
  4. onRebind ()
    Este método se llama, cuando los nuevos clientes se conectan al servicio.
  5. OnCreate ()
    Este método se llama cuando el servicio se crea primero usando onStartCommand () o onBind () .
  6. OnDestroy ()
    Este método se llama cuando el servicio está siendo destruido.

Ejemplo – Dibuje tres botones para iniciar, detener y mover a la página siguiente.

1) del archivo XML: activity_main

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout >:android="http://schemas.android.com/apk/res/android"
>:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/buttonStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="19dp"
android:text="Start Your Service" />
<Button
android:id="@+id/buttonStop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/buttonNext"
android:layout_alignRight="@+id/buttonStart"
android:layout_marginBottom="35dp"
android:text="Stop Your Service" />
<Button
android:id="@+id/buttonNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/buttonStop"
android:layout_centerVertical="true"
android:text="Next Activity" />
</android.support.constraint.ConstraintLayout>

class actividad incluye métodos StartService () y stopService () para iniciar y detener el servicio.

2) Archivo de Java: MainActivity.java

package com.example.faraz.testing;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener {
Button buttonStart, buttonStop,buttonNext;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonStart = (Button) findViewById(R.id.buttonStart);
buttonStop = (Button) findViewById(R.id.buttonStop);
buttonNext = (Button) findViewById(R.id.buttonNext);
buttonStart.setOnClickListener(this);
buttonStop.setOnClickListener(this);
buttonNext.setOnClickListener(this);
}
public void onClick(View src) {
switch (src.getId()) {
case R.id.buttonStart:
startService(new Intent(this, MyService.class));
break;
case R.id.buttonStop:
stopService(new Intent(this, MyService.class));
break;
case R.id.buttonNext:
Intent intent=new Intent(this,NextPage.class);
startActivity(intent);
break;
}
}
}

Tienes que crear carpeta prima en su res directorio class “Myservice.java” actividad.

MyService.java incluye la implementación de métodos asociados con el servicio basado en requisitos.

3) MyService.java

package com.example.faraz.testing;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.widget.Toast;
public class MyService extends Service {
MediaPlayer myPlayer;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
Toast.makeText(this, "Service Created", Toast.LENGTH_LONG).show();
myPlayer = MediaPlayer.create(this, R.raw.sun);// paste your audio in place of sun file
myPlayer.setLooping(false); // Set looping
}
@Override
public void onStart(Intent intent, int startid) {
Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
myPlayer.start();
}
@Override
public void onDestroy() {
Toast.makeText(this, "Service Stopped", Toast.LENGTH_LONG).show();
myPlayer.stop();
}
}

4) del archivo XML: activity_nextpage.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout >:android="http://schemas.android.com/apk/res/android"
>:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="96dp"
android:layout_marginTop="112dp"
android:text="Next Page" />
</LinearLayout>

5) NextPage.java

package com.example.faraz.testing;
import android.app.Activity;
import android.os.Bundle;
public class NextPage extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_next);
}
}

salida

Después de ejecutar el código en el dispositivo virtual, te siguiente salida.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *