El emulador de Android gira pero la aplicación no vuelve a dibujar
He visto imágenes de esto en otros lugares, pero desde hace algún tiempo atrás, donde la respuesta es generalmente "este es un problema conocido con Android 2.3" Estoy usando 4.4, por lo que definitivamente no es la respuesta.
Tengo sobre el programa más simple jamás: "Hola, Android". Cuando inicio el emulador, se carga en modo retrato. Con Fn-Ctrl-F11 (Mac), el emulador gira al modo horizontal. Pero la aplicación y los controles del teléfono no vuelven a dibujar – todo el asunto sólo se ve de lado.
- Cómo crear un nuevo diseño para un proyecto de Android (con Eclipse)
- Acelerar la creación de aplicaciones para Android: compilador de Java para utilizar varios núcleos de CPU
- No se puede resolver la importación org.ksoap2.transport.HttpTransportSE
- La referencia de Facebook no está disponible para mi proyecto
- Cómo hacer en el artículo seleccionado no elegir automáticamente la primera entrada
Aquí está el manifiesto:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.test.helloandroid" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="18" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.test.helloandroid.Hello" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Y el archivo XML de la actividad:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Hello" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </LinearLayout>
Estoy construyendo con Eclipse, el paquete ADT construir v22.3.0-887826, aunque no puedo imaginar que importa algo trivial.
Mi emulador es para el dispositivo Galaxy Nexus, Android 4,4 API de nivel 19. He intentado esto con teclado de hardware presente marcado y sin marcar. Encontré referencia a un "apoyo de la tapa del teclado" que no he visto en ninguna parte – este comentario es de 3/12 y por lo tanto puede ser obsoleto.
Esta es mi primera aplicación para Android, por lo que soy un novato completo en la depuración en este entorno. TIA para cualquier sugerencia sobre lo que estoy perdiendo.
EDIT: Añadir código para hello.java
package com.test.helloandroid; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class Hello extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hello); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.hello, menu); return true; } }
- La conversión a Maven Project en Eclipse resulta en ClassNotFoundException
- ¿Cómo puedo ver la salida de Android LogCat de un APK exportado que se ejecuta en un dispositivo físico?
- AVD Manager - No se puede crear dispositivo virtual Android
- Nexus 5 (Kitkat 4.4) no autorizará mi equipo con Windows 8
- Android No se puede instanciar la actividad: No encontró la clase en el path
- No puede encontrar annotations.jar después de actualizar a ADT 23
- Android - java.lang.ClassNotFoundException: No encontró la clase "..." en path: / data / app /
- Android adb (OSX Lion) no reconoce Galaxy Nexus, Jelly Bean
Si eres principiante, debes consultar este documento de referencia para conocer el Activity lifecycle
.
Aquí, incluyo pocos Log
y Toast
para que sea más fácil entender el proceso que ocurre cuando gira la pantalla.
Ejemplo:
package com.test.helloandroid; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class Hello extends Activity { private static final String TAG = "Hello"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hello); Log.d(TAG, "onCreate"); Toast.makeText(this, "onCreate", Toast.LENGTH_SHORT).show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.hello, menu); return true; } @Override protected void onResume() { super.onResume(); Log.d(TAG, "onResume"); Toast.makeText(this, "onResume", Toast.LENGTH_SHORT).show(); } @Override protected void onPause() { super.onPause(); Log.d(TAG, "onPause"); Toast.makeText(this, "onPause", Toast.LENGTH_SHORT).show(); } }
Espero que sea util !!
Al parecer, todo lo viejo es nuevo de nuevo: el cambio de orientación error en 4.4
"Cuanto más piensan en las tuberías, más fácil es detener el desagüe".
Es bueno saber que no he perdido algo obvio; OTOH esto es una falla bastante obvia por parte de la garantía de calidad de google … hizo puertas de cuenta se colaron allí mientras que nadie estaba buscando? ¿O son codiciosos y tratando de vender teléfonos para las pruebas por mucking hasta los emuladores? Parece que hay un dispositivo en mi futuro.
Editar:
Referencia: Respuesta por CommonsWare, el Framework Engineer de Android.
Imposible rotar el emulador con android 4.4
- ¿Biblioteca de sonido nativa en Android que puede cambiar de tono?
- Cómo se muestra el cuadro de diálogo Error ANR en el hilo principal