Escolar Documentos
Profissional Documentos
Cultura Documentos
OBJETIVOS
INDICACIONES
MANEJO DE INTERFASES
Creando Listas:
Las listas son elementos compuestos que nos permiten grupos de información dentro de cada elemento
de la lista. Para crear una lista primero debemos de crear la estructura de la fila que estará dentro del
listado. Para esto realizamos los siguientes pasos:
2. Con el layout creado, procederemos a diseñar el mismo. Para este ejemplo nuestro layout
tendrá 4 elementos:
El layout de dicha pantalla esta a continuación:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/txt1RowLay1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="7"
android:gravity="start"
android:text="UPC"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textStyle="bold" />
<TextView
android:id="@+id/txt2RowLay1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="end"
android:text="11:23"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/txt3RowLay1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="start"
android:text="Comunicaciones UPC"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textColor="@android:color/black" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/txt4RowLay1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="start"
android:lines="2"
android:text="Programa de Especializacion para Ejecutivos.
Hola Roxana, queremos invitarte a nuestra charla especializada en
Administración y " />
</LinearLayout>
</LinearLayout>
3. A continuación tenemos que crear la pantalla que albergara la lista e insertamos un elemento
del tipo ListView.
4. Luego con los 2 xmls ya construidos, debemos de crear los objetos, las clases y el controlador
que de los datos que serán mostrados en nuestra lista. Para eso crearemos los siguientes
paquetes y clases:
7. Luego debemos de crear las clases que manejaran los XML. Crearemos la clase Lista1 que
maneje la pantalla de Lista.
8. Luego crearemos una clase que maneje la fila de la lista ListA1dapter.
La clase completa:
package pe.edu.upc.androidapp1.androidapp1;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.List;
import pe.edu.upc.androidapp1.model.Asignacion;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
rowView = new LinearLayout(getContext());
inflater.inflate(resource, rowView, true);
} else {
rowView = (LinearLayout) convertView;
}
texto1.setText(item.getAsignatario());
texto2.setText(item.getFecha());
texto3.setText(item.getTitulo());
texto4.setText(item.getContenido());
return rowView;
}
}
2. Crearemos un paquete utilitario que nos permita obtener las coordenadas GPS. La clase
completa:
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
@Override
public void onStatusChanged(String provider, int status, Bundle
extras) {
@Override
public void onProviderEnabled(String provider) {
@Override
public void onProviderDisabled(String provider) {
@Override
public void onLocationChanged(Location location) {
Log.d("Location", "Location Received: " + location.getLatitude()
+ "; " + location.getLongitude());
try {
if (GPS.isBetterLocation(location, GPS.currentBestLocation)) {
GPS.currentBestLocation = location;
}
if (d) {
setCanGetLocation(true);
b.requestLocationUpdates("network", TEN_SECONDS, 10.0F, a);
System.out.println("Network Registered");
mensaje = "Network";
}
return true;
}
if (i != 0) {
return true;
}
if (j != 0) {
return false;
}
if (i1 != 0)
return true;
if ((k != 0) && (n == 0)) {
return true;
}
}
3. Se creará una Clase que maneje el XML de la clase GPS. Importante, en esta clase se debe de
declarar la solicitud de permisos al usuario en caso Android sea mayor a la versión 6.
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.location.Location;
import android.location.LocationManager;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import pe.edu.upc.androidapp1.util.GPS;
LocationManager locManager;
Location location = null;
TextView txvlatitud, txvlong;
Button btnObtener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activitygps);
txvlatitud = (TextView)findViewById(R.id.txtViewGPS_lat);
txvlong = (TextView)findViewById(R.id.txtViewGPS_lon);
btnObtener = (Button)findViewById(R.id.obtenerGPS);
btnObtener.setOnClickListener(this);
}
@Override
public void onClick(View v){
//Validamos si es requerido realizar la solicitud de permisos(version 6)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
}else{
getLocation();
}
}
if (!locManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
&& !locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
Toast.makeText(this, "Activar Gps", Toast.LENGTH_SHORT).show();
} else {
GPS.startListening(this);
try {
if (GPS.isCanGetLocation()) {
location = GPS.getLocation();
String latitud = String.valueOf(location.getLatitude());
String longitud = String.valueOf(location.getLongitude());
String proveedor = location.getProvider().toString();
@Override
public void onBackPressed()
{
GPS.stopListening();
super.onBackPressed(); // optional depending on your needs
}
}
Creamos un activity que permita manejar el XML. En dicha clase obtenemos las referencias a
los componentes.
TAREA DE IMPLEMENTACION