Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
fw:android [2010/05/02 20:01] alfred |
fw:android [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 3: | Línea 3: | ||
| ===== General ===== | ===== General ===== | ||
| + | |||
| + | |||
| Línea 196: | Línea 198: | ||
| * ''Button'': Corresponde a un botón. | * ''Button'': Corresponde a un botón. | ||
| * ''ImageButton'': Botón con imágen. La imágen ha de estar en ''res/drawable-xxx'' y para indicar cual será la que se mostrará lo haremos a partir de la propiedad ''src'', indicando ''@drawable/nombre-de-archivo-sin-extensión''. Por ejemplo: ''android:src="@drawable/state"''. | * ''ImageButton'': Botón con imágen. La imágen ha de estar en ''res/drawable-xxx'' y para indicar cual será la que se mostrará lo haremos a partir de la propiedad ''src'', indicando ''@drawable/nombre-de-archivo-sin-extensión''. Por ejemplo: ''android:src="@drawable/state"''. | ||
| + | |||
| + | |||
| ==== Recursos ==== | ==== Recursos ==== | ||
| - | Un recurso es la parte de la aplicación que no es código (por ejemplo imagenes, sonidos, textos...) pero que se compilan con esta. Han de guardarse en el directorio ''res'' de la aplicación. Cuando lo hacen se crea una clase denominada ''R'' que contiene los identificadores a cada uno de los recursos para poder acceder a estos desde el código, para ello en el directorio ''res'' se crean subdirectorios, como por ejemplo el ''layout'' y dentro de este archivos como por ejemplo el ''main.xml'', que sería el layout principal. Para acceder a este layout haríamos ''R.layout.main''. La clase ''R'' la maneja automáticamente Eclipse. | + | Un recurso es la parte de la aplicación que no es código (por ejemplo imagenes, sonidos, textos...) pero que se compilan con esta. Han de guardarse en el directorio ''res'' de la aplicación. Cuando lo hacen se crea una clase denominada ''R'' que contiene los identificadores a cada uno de los recursos para poder acceder a estos desde el código, para ello en el directorio ''res'' se crean subdirectorios, como por ejemplo el ''layout'' y dentro de este archivos como por ejemplo el ''main.xml'', que sería el layout principal. Para acceder a este layout haríamos ''R.layout.main''. La clase ''R'' la maneja automáticamente Eclipse. |
| === Strings === | === Strings === | ||
| Dentro del proyecto, en la carpeta ''res'' encontraremos la subcarpeta ''values'' con el fichero ''string.xml''. Este corresponde a los textos de la aplicación. | Dentro del proyecto, en la carpeta ''res'' encontraremos la subcarpeta ''values'' con el fichero ''string.xml''. Este corresponde a los textos de la aplicación. | ||
| Línea 235: | Línea 239: | ||
| Ahora en las propiedades que acepten colores podremos asignar estos valores como ''@color/black'', por ejemplo. | Ahora en las propiedades que acepten colores podremos asignar estos valores como ''@color/black'', por ejemplo. | ||
| - | + | === Más... === | |
| - | + | * Para acceder a los recursos desde una ''Activity'' utilizaremos el método ''getResources()''. | |
| - | + | <code java> | |
| - | + | String[] countries = getResources().getStringArray(R.array.countries_array); | |
| - | + | </code> | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| ==== Activity ==== | ==== Activity ==== | ||
| Línea 339: | Línea 337: | ||
| Intent i = new Intent(this, About.class); | Intent i = new Intent(this, About.class); | ||
| this.startActivity(i); | this.startActivity(i); | ||
| + | </code> | ||
| + | |||
| + | |||
| + | |||
| + | ==== Vistas ==== | ||
| + | === ListView === | ||
| + | Muestran en una ''Activity'' una lista de elementos. Existe la ''Activity'' especial para mostrar estas llamada ''ListActivity'', por lo tanto si queremos crear una lo que haremos será agregar una clase que herede de esta. Para rellenarla necesitaremos utilizar objetos ''ListAdapter'' que corresponden a listas\arrays que le agregaremos, para recoger cuando se ha hecho click sobre un elemento utilizaremos el método ''setOnItemClickListener'' de la lista interna que recogeremos mediante ''getListView()'': | ||
| + | <code java> | ||
| + | public class OpenVideo extends ListActivity implements OnItemClickListener { | ||
| + | protected void onCreate(Bundle savedInstanceState) { | ||
| + | super.onCreate(savedInstanceState); | ||
| + | String param = this.getIntent().getExtras().getString("elements"); | ||
| + | String[] elems = param.split("\\?"); | ||
| + | setListAdapter(new ArrayAdapter<String>(this, R.layout.openvideo, elems)); | ||
| + | android.widget.ListView lv = this.getListView(); | ||
| + | lv.setOnItemClickListener(this); | ||
| + | } | ||
| + | public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { | ||
| + | Bundle bundle = new Bundle(); | ||
| + | bundle.putInt("selected", arg2); | ||
| + | setResult(RESULT_OK, mIntent); | ||
| + | this.finish(); | ||
| + | } | ||
| + | } | ||
| + | </code> | ||
| + | Por lo demás, al ser una Activity tendremos que agregarla al ''AndroidManifest.xml'' y crear su layout: | ||
| + | <code xml> | ||
| + | <?xml version="1.0" encoding="utf-8"?> | ||
| + | <TextView xmlns:android="http://schemas.android.com/apk/res/android" | ||
| + | android:layout_width="fill_parent" | ||
| + | android:layout_height="fill_parent" | ||
| + | android:padding="10dp" | ||
| + | android:textSize="16sp" > | ||
| + | </TextView> | ||
| </code> | </code> | ||
| Línea 447: | Línea 479: | ||
| } | } | ||
| </code> | </code> | ||
| + | |||
| Línea 464: | Línea 497: | ||
| import android.preference.PreferenceActivity; | import android.preference.PreferenceActivity; | ||
| public class Settings extends PreferenceActivity { | public class Settings extends PreferenceActivity { | ||
| - | |||
| @Override | @Override | ||
| protected void onCreate(Bundle savedInstanceState) { | protected void onCreate(Bundle savedInstanceState) { | ||
| Línea 528: | Línea 560: | ||
| ==== El emulador ==== | ==== El emulador ==== | ||
| * ''ctrl + f11'' harán que el emulador cambie de horizontal a vertical. | * ''ctrl + f11'' harán que el emulador cambie de horizontal a vertical. | ||
| + | |||
| ==== En un dispositivo físico ==== | ==== En un dispositivo físico ==== | ||
| Línea 549: | Línea 582: | ||
| Aunque en otros he visto: ''chmod a+rx /etc/udev/rules.d/51-android.rules'' | Aunque en otros he visto: ''chmod a+rx /etc/udev/rules.d/51-android.rules'' | ||
| === Herramientas === | === Herramientas === | ||
| - | * El comando ''ddms'' del directorio tools nos abrirá el monitor de debug de Alvik, con él podremos hacer capturas de pantalla. | + | * El comando ''ddms'' del directorio tools nos abrirá el monitor de debug de Dalvik, con él podremos hacer capturas de pantalla. |