PDA

Ver la versión completa : [Ayuda] Programando en Android y el Layout.



Xonaag
26/01/2012, 21:16
Saludos buenas gentes, os planteo un problema que me he encontrado mientras programaba en Eclipse.

Tengo una aplicación simple para aprender a usar el SQLite, una pantalla con un TextView que mostraba el contenido de una base de datos y tres botones (Actualizar vista, Añadir registro y Vaciar BBDD), una imagen para que os hagáis una idea:

http://www.gp32spain.com/foros/attachment.php?attachmentid=24716&stc=1&d=1327604562

Y todo perfecto pero cuando intento cambiar de sitio el TextView para que esté por debajo de los botones se va todo al carajo, el programa trata al botón de Actualizar como si fuera el textview, el de añadir como si fuera el de actualizar y el de borrar la BBDD como si fuera el de añadir.

¿Es algo que estoy haciendo mal o tendría que haber hecho tras cambiar el diseño del layout? Porque si no puedo modificar así el Layout es una putada.

Pongo el código del layout en cuestión:



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/campo_lista" />

<TextView
android:id="@+id/tvBBDD"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textAppearance="?android:attr/textAppearanceLarge" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<Button
android:id="@+id/bActualizar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/boton_actualizar" />

<Button
android:id="@+id/bAnadir"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/boton_anadir" />

<Button
android:id="@+id/bVaciar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/boton_vaciar" />



</LinearLayout>



</LinearLayout>



Y de la clase del layout.



package javier.prueba.layout;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class PruebaLayoutActivity extends Activity {
/** Called when the activity is first created. */


@Override
public void onCreate(Bundle savedInstanceState) {
Log.d ("Inicio", "Al menos empieza a ejecutarse");
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d ("Inicio","Cargamos el layout main");


final Button bActualizar = (Button) findViewById (R.id.bActualizar);
Log.d ("Inicio","Declaramos el boton actualizar");
bActualizar.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
final TextView tvBBDD = (TextView) findViewById (R.id.tvBBDD);

UsuariosSQLiteHelper usdbh = new UsuariosSQLiteHelper(PruebaLayoutActivity.this, "Usuarios", null, 1);

final SQLiteDatabase db = usdbh.getWritableDatabase();
Log.d("PruebaBBDD", "Enlazamos la BBDD");



tvBBDD.setText("");

tvBBDD.append("------------\n");
tvBBDD.append("Contenido de la base de datos.\n");
tvBBDD.append("------------\n");
Log.d("PruebaBBDD", "Limpiamos el EditText etBBDD");


Cursor c = db.rawQuery("Select * FROM tDatos", null);
Log.d("PruebaBBDD", "Hacemos el RAWQuery");

if (c.moveToFirst()) {
String linea ="";
do {

linea="Usuario:"+c.getString(0)+" Edad:"+c.getString(1)+".\n";
tvBBDD.append(linea);

} while (c.moveToNext());
}
else {
tvBBDD.append("La base de datos está vacía");
Log.d("PruebaBBDD", "La BBDD está vacía");

}

db.close();
}

});

final Button bAnadir = (Button) findViewById (R.id.bAnadir);
Log.d ("Inicio","Declaramos el boton añadir");
bAnadir.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
Intent iAnadir=new Intent (PruebaLayoutActivity.this, AnadirRegistro.class);
Log.d("Añadir datos", "Llamamos a la ventana");
startActivity (iAnadir);

}
});
Log.d ("Inicio","fin de declaracion boton añadir");

final Button bVaciar = (Button) findViewById (R.id.bVaciar);
Log.d ("Inicio","Declaramos el boton vaciar");
bVaciar.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

UsuariosSQLiteHelper usdbh = new UsuariosSQLiteHelper(PruebaLayoutActivity.this, "Usuarios", null, 1);

final SQLiteDatabase db = usdbh.getWritableDatabase();

db.execSQL("DELETE FROM tDatos WHERE 1");

db.close();
}
});

}
}




Se despide Xonaag

GameMaster
26/01/2012, 21:37
No entiendo, a que te refieres con cambiar de sitio ?

^MiSaTo^
26/01/2012, 21:37
No termino de entender tu problema pero mirando el código de un vistazo esto:

public void onClick(View v) {
final TextView tvBBDD = (TextView) findViewById (R.id.tvBBDD);

la línea del final TextView tvBBDD no debería estar ahí. El findViewById debería estar fuera del onClick, porque no se yo si ahí está haciéndolo bien.

Xonaag
26/01/2012, 22:03
Vale, voy a ver si me explico, actualmente la aplicación es así:

Lista:
(tvBBDD)
[Actualizar][Añadir][Vaciar]

Donde (tvBBDD) es el textview donde quiero mostrar el contenido de la BBDD al pulsar actualizar y [Actualizar], [Añadir] y [Vaciar] son los tres botones (sunpongo que más o menos se explican que hace cada uno.

Pues si modifico el layout main.xml para que aparezca así:

[Actualizar][Añadir][Vaciar]
Lista:
(tvBBDD)

Primero es que el programa hace un force close al llegar al código del botón [vaciar] y si lo pongo entre comentarios el programa funciona, pero el botón [actualizar] deja de funcionar, si pulso [añadir] el programa modifica el texto de [actualizar] como si fuese el textview (tvBBDD) y el botón [Vaciar] me abre el activity para insertar una fila en la BBDD.

Espero que ahora entendais mi duda.

Vamos que si haceis un cambio de este estilo (cambiar de sitio uno o varios elementos) en un layout de vuestro programa ¿teneis problemas de algún tipo o funciona todo igualmente? Porque no se porque me da este error.

Lo de la declaración de tvBBDD que me comentas misato, como solo modifico el TextView al pulsar el botón actualizar lo declaré ahí (aunque no recuerdo porque lo puse como final, sin serlo me va igual), ¿debería declararlo fuera?

Se despide Xonaag

^MiSaTo^
26/01/2012, 22:07
Vale, voy a ver si me explico, actualmente la aplicación es así:

Lista:
(tvBBDD)
[Actualizar][Añadir][Vaciar]

Donde (tvBBDD) es el textview donde quiero mostrar el contenido de la BBDD al pulsar actualizar y [Actualizar], [Añadir] y [Vaciar] son los tres botones (sunpongo que más o menos se explican que hace cada uno.

Pues si modifico el layout main.xml para que aparezca así:

[Actualizar][Añadir][Vaciar]
Lista:
(tvBBDD)

Primero es que el programa hace un force close al llegar al código del botón [vaciar] y si lo pongo entre comentarios el programa funciona, pero el botón [actualizar] deja de funcionar, si pulso [añadir] el programa modifica el texto de [actualizar] como si fuese el textview (tvBBDD) y el botón [Vaciar] me abre el activity para insertar una fila en la BBDD.

Espero que ahora entendais mi duda.

Vamos que si haceis un cambio de este estilo (cambiar de sitio uno o varios elementos) en un layout de vuestro programa ¿teneis problemas de algún tipo o funciona todo igualmente? Porque no se porque me da este error.

Lo de la declaración de tvBBDD que me comentas misato, como solo modifico el TextView al pulsar el botón actualizar lo declaré ahí (aunque no recuerdo porque lo puse como final, sin serlo me va igual), ¿debería declararlo fuera?

Se despide Xonaag
Sí sácalo fuera, porque es posible que al cambiar de sitio el TV a debajo de los botones, no lo vea desde dentro del onClick

Xonaag
26/01/2012, 22:10
Sí sácalo fuera, porque es posible que al cambiar de sitio el TV a debajo de los botones, no lo vea desde dentro del onClick

Lo he hecho y nada, sigue sin funcionar :-/ (joer que rabia).

Se despide Xonaag

^MiSaTo^
26/01/2012, 22:12
Lo he hecho y nada, sigue sin funcionar :-/ (joer que rabia).

Se despide Xonaag

a ver pásame el proyecto de eclipse a misato PUNTO vk ARROBA gmail PUNTO com

Xonaag
27/01/2012, 10:07
Bueno, como me sigue durando el mosqueo he probado algunas cosillas y creo que es un problema con las ids porque falla en la línea

final Button bVaciar = (Button) findViewById (R.id.bVaciar);

¿existe alguna relación entre la posición de un objeto en el layout y su id en R.java o donde se ha de declarar?

Se despide Xonaag

^MiSaTo^
27/01/2012, 10:47
Bueno, como me sigue durando el mosqueo he probado algunas cosillas y creo que es un problema con las ids porque falla en la línea

final Button bVaciar = (Button) findViewById (R.id.bVaciar);

¿existe alguna relación entre la posición de un objeto en el layout y su id en R.java o donde se ha de declarar?

Se despide Xonaag

No, la posición no tiene nada que ver, eso seguro ;)

Xonaag
27/01/2012, 11:05
No, la posición no tiene nada que ver, eso seguro ;)

¿Entonces concluimos que android me odia y debería dedicarme a la trashumancia de cabras? T_T

Se despide Xonaag

^MiSaTo^
27/01/2012, 11:30
¿Entonces concluimos que android me odia y debería dedicarme a la trashumancia de cabras? T_T

Se despide Xonaag

No hombre no xD Déjame que te lo mire en eclipse que seguro que algo se nos ha pasado por alto ^^

PD: Ahora me entendeis cuando digo que Android es un pain in the ass?

< - >
Vale, probando en Android 4 funciona perfectamente.

Creo que el problema puede venir en el layout con lo de "match_parent" en vez de fill_parent si estás usando Android 2.X. Cambia todos los match_parent por fill_parent a ver si así solucionamos algo.
Aparte, en qué versión de Android estás probando?

firesign
27/01/2012, 11:39
Te recomiendo una cosa:

- selecciona el proyecto con el que estas trabajando en Eclipse
- te vas a la barra de herramientas, y en Project, selecciona Clean, y "limpias" el proyecto en cuestion.
- despues prueba a lanzarlo otra vez a ver que tal

Ya me cuentas...

ChUKii
27/01/2012, 11:58
Lo que explicas no tiene ningun sentido, la ostia... uhm por cambiar las cosas de sitio en la vista no debería pasar nada.
Cercionate que los ids que tienes en el layout se corresponden con los ids que se asignan en el código.

Si estan bien... entonces simplemente el eclipse se ha vuelto **********, pasa muy a menudo por desgracia.

Prueba el clean firesign. Si no te funciona borra el fichero R.java y vuelve a generarlo.



You can also right click on the project -> Android Tools -> Fix Project Properties. That should cause the R.java class to be re-generated.

http://stackoverflow.com/questions/2041083/how-to-regenerate-r-class


:brindis::brindis:

firesign
27/01/2012, 12:03
Lo que explicas no tiene ningun sentido, la ostia... uhm por cambiar las cosas de sitio en la vista no debería pasar nada.
Cercionate que los ids que tienes en el layout se corresponden con los ids que se asignan en el código.

Si estan bien... entonces simplemente el eclipse se ha vuelto **********, pasa muy a menudo por desgracia.

Prueba el clean firesign. Si no te funciona borra el fichero R.java y vuelve a generarlo.



:brindis::brindis:

Yo le he dicho lo el clean porque a mi eso que el esta contando me ha pasado 1 millon de veces. Y si, no tiene sentido si todo funcionara bien. Pero tengo comprobado que el SDK de Android, Eclipse, y la forma de generar los binarios, recursos, layouts, etc, es una soberana mierda.

En cada uno de los desarrollos que he hecho, me ha pasado decenas de veces problemas de este tipo, sobre todo con los "id" de las cadenas de texto. Salen unas cadenas cuando se esta accediendo a otras, y solo con un Clean se soluciona.

Asi que eso que le pasa me huele totalmente a que puede ser por eso. Yo cuando lei sobre el Clean, vi el cielo abierto, la verdad :lol2:

^MiSaTo^
27/01/2012, 12:05
Realmente puede ser por eso o cualquier otra cosa... parece mentira que no sepais como es Android SDK + Eclipse XDD

ChUKii
27/01/2012, 12:18
Yo le he dicho lo el clean porque a mi eso que el esta contando me ha pasado 1 millon de veces. Y si, no tiene sentido si todo funcionara bien. Pero tengo comprobado que el SDK de Android, Eclipse, y la forma de generar los binarios, recursos, layouts, etc, es una soberana mierda.

En cada uno de los desarrollos que he hecho, me ha pasado decenas de veces problemas de este tipo, sobre todo con los "id" de las cadenas de texto. Salen unas cadenas cuando se esta accediendo a otras, y solo con un Clean se soluciona.

Asi que eso que le pasa me huele totalmente a que puede ser por eso. Yo cuando lei sobre el Clean, vi el cielo abierto, la verdad :lol2:

A mi no me ha pasado tanto, solo cuando he hecho alguna burrada o he importado un proyecto o abierto un workspace de otro equipo y le faltaban librerias.

Pero en proyectos tochos si que pasa muchisimo por lo menos con GWT... pero bueno, ahi casí era un ridual "borrar deploy, clean, deploy, compilar, mover" ufff 2 años haciendo eso todos los días varias veces :rolleyes:.

:brindis::brindis:

^MiSaTo^
27/01/2012, 12:20
A mi no me ha pasado tanto, solo cuando he hecho alguna burrada o he importado un proyecto o abierto un workspace de otro equipo y le faltaban librerias.

Pero en proyectos tochos si que pasa muchisimo por lo menos con GWT... pero bueno, ahi casí era un ridual "borrar deploy, clean, deploy, compilar, mover" ufff 2 años haciendo eso todos los días varias veces :rolleyes:.

:brindis::brindis:

Te aseguro que es algo que pasa muuuy a menudo con Android y el p00to R que genera. Y no hace falta que importes nada, a veces es abrir Eclipse y que de errores porque sí xD

ChUKii
27/01/2012, 12:25
Te aseguro que es algo que pasa muuuy a menudo con Android y el p00to R que genera. Y no hace falta que importes nada, a veces es abrir Eclipse y que de errores porque sí xD

Yap, si me pasa, pero no tanto como lo pintais :D. Haces el clean o como mucho cierras y abres el proyecto y apañado.

Y sobretodo falla cuantos más proyectos tengais abiertos. Cerrad los proyectos que no useis en ese Workspace y así tiene que hacer menos comprobaciónes y se reduce el numero de fallos.

El X-Code también me hace pichadas similares. De hecho tengo un proy que un botón me ejecutaba un metodo aunque no lo tuviera asignado y si se lo asignaba lo ejecutaba dos veces.

:brindis::brindis:

_Seagal_
27/01/2012, 12:27
a lo mejor ya lo has probado, pero si pones esto en el layout no te funciona?

android:layout_below="@id/iddelcontrol"

^MiSaTo^
27/01/2012, 12:38
Yap, si me pasa, pero no tanto como lo pintais :D. Haces el clean o como mucho cierras y abres el proyecto y apañado.

Y sobretodo falla cuantos más proyectos tengais abiertos. Cerrad los proyectos que no useis en ese Workspace y así tiene que hacer menos comprobaciónes y se reduce el numero de fallos.

El X-Code también me hace pichadas similares. De hecho tengo un proy que un botón me ejecutaba un metodo aunque no lo tuviera asignado y si se lo asignaba lo ejecutaba dos veces.

:brindis::brindis:

El Xcode 4 no se que han hecho pero funciona mucho peor que el 3. Aún así, creeme que da mucho menos por culo que el Eclipse xD



a lo mejor ya lo has probado, pero si pones esto en el layout no te funciona?

android:layout_below="@id/iddelcontrol"
Eso sólo funciona con RelativeLayout ;) Él está usando sólo linears.

Xonaag
27/01/2012, 16:52
Te recomiendo una cosa:

- selecciona el proyecto con el que estas trabajando en Eclipse
- te vas a la barra de herramientas, y en Project, selecciona Clean, y "limpias" el proyecto en cuestion.
- despues prueba a lanzarlo otra vez a ver que tal

Ya me cuentas...

¡Tenemos un ganador! Ahora funciona perfectamente.


No hombre no xD Déjame que te lo mire en eclipse que seguro que algo se nos ha pasado por alto ^^

PD: Ahora me entendeis cuando digo que Android es un pain in the ass?

< - >
Vale, probando en Android 4 funciona perfectamente.

Creo que el problema puede venir en el layout con lo de "match_parent" en vez de fill_parent si estás usando Android 2.X. Cambia todos los match_parent por fill_parent a ver si así solucionamos algo.
Aparte, en qué versión de Android estás probando?

El proyecto lo cree para 2.3.3, ¿da "match_parent" muchos problemas?

Bueno, esto tira perfectamente ahora, gracias a todos por vuestra atención. Os devolveré el favor cuando pueda. :brindis:

Se depside Xonaag

^MiSaTo^
27/01/2012, 16:55
¡Tenemos un ganador! Ahora funciona perfectamente.



El proyecto lo cree para 2.3.3, ¿da "match_parent" muchos problemas?

Bueno, esto tira perfectamente ahora, gracias a todos por vuestra atención. Os devolveré el favor cuando pueda. :brindis:

Se depside Xonaag

El match_parent da problemas de compatibilidad ;) Pero mira, me alegro que haya sido lo del clear XDDD
Ya te digo aqui ha funcionado perfecto esta mañana ^^

Xonaag
27/01/2012, 17:00
El match_parent da problemas de compatibilidad ;) Pero mira, me alegro que haya sido lo del clear XDDD
Ya te digo aqui ha funcionado perfecto esta mañana ^^

Curiosamente si vuelvo a cambiar de sitio los textview se vuelve a reproducir el problema,tengo que volver a hacer el clean para que funcione. Creo que de momento no descartaré la trashumancia :lol2:

Se despide Xonaag

otto_xd
27/01/2012, 17:49
Realmente puede ser por eso o cualquier otra cosa... parece mentira que no sepais como es Android SDK + Eclipse XDD

Yo hoy he flipado, no me salia una cosa de 3 formas distintas, mi compi me pasa un codigo, lo meto, me sigue sin funcionar.

hago un commit, me voy a por un cafe, y a mi compi le funciona.

Lo vuelvo a lanzar si hacer update y funciona.

RELOL.
Pues nada, que no veo nada raro :S

Segata Sanshiro
27/01/2012, 17:58
La mayoría de esos problemas son por el plugin de Android para Eclipse, ¿no? Al menos suelen actualizarlo cada poco tiempo.

Además, hace ya bastante cambiaron el logo del "LogCat" por el de un androide volando con un arcoiris detrás. Tendrán un plugin horroroso y un API con el que cuando aprendes a hacer algo ya lo han deprecado dos meses antes, pero oye, en cuanto a memes es mucho mejor que programar para iOS!

^MiSaTo^
27/01/2012, 19:11
La mayoría de esos problemas son por el plugin de Android para Eclipse, ¿no? Al menos suelen actualizarlo cada poco tiempo.

Además, hace ya bastante cambiaron el logo del "LogCat" por el de un androide volando con un arcoiris detrás. Tendrán un plugin horroroso y un API con el que cuando aprendes a hacer algo ya lo han deprecado dos meses antes, pero oye, en cuanto a memes es mucho mejor que programar para iOS!

Explicame eso por dios, que iba a sacar ya el lanzallamas porque no había leído lo de memes... pero no lo pillo xD

De todos modos independientemente de que el ADT sea una mierda o no, Android tiene problemas mucho más graves que este xD

otto_xd
27/01/2012, 19:15
Explicame eso por dios, que iba a sacar ya el lanzallamas porque no había leído lo de memes... pero no lo pillo xD

De todos modos independientemente de que el ADT sea una mierda o no, Android tiene problemas mucho más graves que este xD

Pues yo cosas que habia leido de que se pasa por el forro el diagrama de la vida de las aplicaciones no lo he visto, y otras muchas cosas me han parecido que estan pensadas para facilitar la vida al programador.

No se como sera programar para ios, pero si es mejor, tiene que ser la gloria.

Para mi un problema de Android es que hay muchas cosas que no estan nada bien documentadas, no vale con un javadoc guarro, y que mucha gente lo unico que hace es copiar untutorial en su blog y asi es imposible encontrar informacin util, pero para algo estan loslibros.

Luego estan las cosas raras, el plugin adt con memory leaks que te cuelgan el ordenador, o los avd que no se dejan instalar paquetes para hacer pruebas, pero teniendo hardware real y aplicaciones que te ponen el modo adb por tcpip en los dispositivos, por ahora, no he necesitado nada mas.

En dos semanas cuando tenga entradas sobre mi espalda posiblemente piense lo contrario xD

Segata Sanshiro
27/01/2012, 19:23
Explicame eso por dios, que iba a sacar ya el lanzallamas porque no había leído lo de memes... pero no lo pillo xD

De todos modos independientemente de que el ADT sea una mierda o no, Android tiene problemas mucho más graves que este xD

Me refiero al iconito del LogCat, a que se puede invocar con "adb lolcat", a SensorGravity.GRAVITY_DEATH_STAR_I...

Espero que en Android 4.0 todo sea mucho más bonito, aunque no creo que trastee con él en mucho tiempo (programo pa mí mismo y estoy con un Xperia con 2.1...)

^MiSaTo^
27/01/2012, 19:25
Pues yo cosas que habia leido de que se pasa por el forro el diagrama de la vida de las aplicaciones no lo he visto, y otras muchas cosas me han parecido que estan pensadas para facilitar la vida al programador.

No se como sera programar para ios, pero si es mejor, tiene que ser la gloria.

Para mi un problema de Android es que hay muchas cosas que no estan nada bien documentadas, no vale con un javadoc guarro, y que mucha gente lo unico que hace es copiar untutorial en su blog y asi es imposible encontrar informacin util, pero para algo estan loslibros.

Luego estan las cosas raras, el plugin adt con memory leaks que te cuelgan el ordenador, o los avd que no se dejan instalar paquetes para hacer pruebas, pero teniendo hardware real y aplicaciones que te ponen el modo adb por tcpip en los dispositivos, por ahora, no he necesitado nada mas.

En dos semanas cuando tenga entradas sobre mi espalda posiblemente piense lo contrario xD

Lo del ciclo de vida de las Activities (que no aplicación entera) lo he vivido en mis carnes y puedo demostrártelo cuando quieras. Normalmente si sigue el ciclo, peeeero vete a saber por qué a veces no. Esto hace que no puedas confiar en ello sobre todo cuando la apli aumenta en complejidad, eso se vuelve loco.

Por otro lado, lo dices porque no has hecho algo realmente grande y porque no has visto como es el desarrollo en iOS. Pregúntale a Chukii por ejemplo ;)

Yo cuando hace 2-3 años empecé con los móviles, lo hice con Android, con el SDK 0.9 concretamente (no ha llovido ni nada!) y estaba encantadísima. Luego probé iOS y cuando volví a Android, cosas que eran super simples de hacer en iOS, en Android eran un engorro.
He de añadir que cuando empecé con Android, tenía ya 3 años de experiencia en J2EE y cuando empecé con iOS 0 experiencia en Obj-C.

Sobre todo, cuando tuve que hacer una apli hace cosa de un año o así para ambas plataformas... tardé casi la mitad de tiempo en hacerla para iOS (teniendo menos experiencia en él) que para Android. Y bueno ya en las fases de testeo ni te digo ya el cachondeo que es eso (pero bueno eso ya es otro tema aparte).

En serio, si no conoces otros sistemas quizá no parezca tan malo. Sobre todo si no has hecho una aplicación "tocha". Pero ahora mismo antes que ponerme con Android, me he puesto con Win Phone y ***** no tengo la misma sensación (y eso que no tengo ni idea de .NET ni de Silverlight, ni siquiera de cómo funciona el Visual Studio o Windows 7, que hace como 10 años que no toco nada de Microsoft ni en casa ni en el trabajo).

De verdad que no es por defender a Apple, ni a Microsoft ni a cualquier otro. Es simplemente que Android internamente es una p00ta chapuza en muchos aspectos. Que va mejorando día a día? pues sí, es verdad. Pero le queda UN HUEVO para estar al nivel de cómo está iOS o incluso Win Phone.
Hablo sobre todo a nivel de desarrollo.

< - >

Me refiero al iconito del LogCat, a que se puede invocar con "adb lolcat", a SensorGravity.GRAVITY_DEATH_STAR_I...

Espero que en Android 4.0 todo sea mucho más bonito, aunque no creo que trastee con él en mucho tiempo (programo pa mí mismo y estoy con un Xperia con 2.1...)

Ah xD Si si lo del LogCat cuando lo vi fue el LOL. Por cierto que no se pa que tocan el LogCat más allá de poner otro icono, porque ahor funciona peor y con ese diseño nuevo yo no veo casi nada xD

otto_xd
27/01/2012, 21:08
Algo grande si que estoy haciendo si, y tocamos todos los palos de Android, y una maxima que tenemos es lanzar log en cada evento de un activity, asi que controlamos muy bien por donde van pasando.

Hay casos que no los he encontrado documentados y pueden ser un dolor de webos, pero por regla general, y haciendo cosas raras como hacemos, siempre se cumple el diagrama, tal vez al hacer aplicacions mas glotonas de ram, el gc pueda gastarnos alguna broma de mas gusto y entonces las decisiones de diseño tomadas nos lleven por el camino de la amargura, pero por ahora sin problemas... en ese aspecto xd

IronArthur
30/01/2012, 10:35
En mi caso ahora mismo, en una aplicación media en cuanto a tmaño más que problemas de layout o leaks ( yo uso mono con VS2010 con lo que cambia el asunto), mi mayor problema es las ***** conexiones de la bbdd q me está el log todo el día berreando que se me han quedado cursores abiertos.... grr q rabia. y eso q uso un ORM.

Ya he probado en el destroy en el pause etc.....

Salu2

PD: se me ha olvidado que llevo 2 días modificando listview intentando meter el maldito pattern del viewholder para q tiren bastante más rápido pero como necesito q sean listas desplegables no hay forma de que me tire, al reciclar elementos acabo desplegando el elemento de 5 posiciones por encima.

firesign
30/01/2012, 11:44
Ya os digo yo que con Eclipse + Android el "clean" es una valor seguro para cuando pasan cosas que no deberian pasar, que en mi caso es continuamente. No se si porque mis proyectos tienen muchos "drawables" o muchos "strings" en los "resources", pero es que es añadir alguno nuevo y decojonciarse el resto, empiezan a salirme los que no son donde antes salian los correctos, todo sin cambiar nada...

Haces un clean y... todo ok otra vez.

Tengo ya mi nueva aplicacion a punto de terminar, me queda solo una pantalla, eso si, la mas dura. Que ganas de terminarlo ya. Creo que despues de este no hare ninguno mas, no se me ocurre mucho mas que hacer y con este y los anteriores ya he tocado practicamente todos los palos excepto los juegos.