Android-Anwendung "Hello World" funktioniert nicht, es erscheint kein text auf dem emulator
Ich habe gerade installiert die SDK
und die ADT Eclipse plugin
. Was ich versuche zu tun, ist eine einfache "Hallo, Welt" - Programm. Ich bin mit der 2.2 (8) API
. Hier ist mein code:
package com.example.hello;
import android.app.Activity;
import android.widget.TextView;
import android.os.Bundle;
public class HelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView txt = new TextView(this);
txt.setText("Hello, Android");
setContentView(txt);
}
}
Meine Eclipse
Konsole:
[2010-09-02 13:27:32 - HelloWorld] ------------------------------
[2010-09-02 13:27:32 - HelloWorld] Android Launch!
[2010-09-02 13:27:32 - HelloWorld] adb is running normally.
[2010-09-02 13:27:32 - HelloWorld] Performing com.example.hello.HelloWorld activity launch
[2010-09-02 13:27:32 - HelloWorld] Automatic Target Mode: Preferred AVD 'Android' is not available. Launching new emulator.
[2010-09-02 13:27:32 - HelloWorld] Launching a new emulator with Virtual Device 'Android'
[2010-09-02 13:28:12 - HelloWorld] New emulator found: emulator-5554
[2010-09-02 13:28:12 - HelloWorld] Waiting for HOME ('android.process.acore') to be launched...
Und auf meinem emulator (5554:Android -) es wird nichts angezeigt, aber einen leeren Bildschirm mit einem kühlen fonted "Android" Impressum. Was bin ich grundlegend fehlt ?
InformationsquelleAutor George | 2010-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, der emulator nimmt seine Zeit in dem laden, aber wie schon erwähnt, Sie haben auch ein Problem in Ihrem code.
Beim Aufruf
Sie sind im wesentlichen sagen, "gehen Sie das XML-layout namens "main", die ich gemacht habe und zeige es"
Dann im Nachhinein werfen Sie diese in:
In diesem code sind Sie sagen, "erstellen Sie eine neue textview, setzen Sie seinen text und zeigt dann das neue layout, das ich gerade gemacht"
Es ist nicht wirklich destruktiv, falsch, einfach nicht ideal. In der Regel werden Sie wollen, um entweder erstellen Sie Ihr layout vor der Zeit in XML oder erstellen Ihr layout dynamisch, aber nicht beide. Zeichnung einer neuen Ansicht ist eine der am meisten CPU-intensiven Aktionen, dass die Durchschnittliche app führt und tun Sie es zweimal, ist einfach nur verschwenderisch.
Wenn Sie nicht vertraut sind mit dem XML-layout über die wir sprechen, öffnen Sie Ihr Projekt in Eclipse, und navigieren Sie zu YourProjectName/res/layout/main.xml.
Eine Letzte Sache, es ist wahrscheinlich nicht klug, um zu bauen für eine Zielplattform 2.2 es sei denn, es ist etwas in die 2.2-API, die Sie wirklich brauchen. Ihr "Hello, world" - app verwendet nur eine TextView, und die haben schon ewig. Gebäude für 2.2 bedeutet, dass nur Benutzer auf 2.2 oder höher können der Nutzung Ihrer app, die im moment schließt eine Menge Leute (wie alle das Droid Eris Benutzer). Gebäude für 1,5 ist eine ziemlich sichere Wette, und noch gibt Ihnen eine Menge zu spielen, während die Maximierung Ihrer Zielgruppe.
InformationsquelleAutor David Perry
Warten Sie eine Weile. Was Sie sehen, ist der emulator starten.
während der Wartezeit überprüfen Sie Ihre LogCat (eclipse -> Ansicht -> andere -> android -> Logcat). Wenn LogCat Ausgabe gibt, Ihre emulator ist noch das Booten.
InformationsquelleAutor nmichaels
ja noch ein bisschen warten. Der emulator kann bis zu ein paar Minuten zu laden, besonders wenn Sie eine langsame Maschine haben...
Möchten Sie vielleicht erwägen Sie das aktivieren der USB-debugging auf Ihrem Telefon, und dann einfach schieben Sie die app auf Ihr Telefon auf jedem laufen. Ich habe beide ausprobiert und mochte das viel besser.
InformationsquelleAutor Exile
Ebenfalls der Aufruf setContentView() zweimal ist nicht ideal. Definieren Sie Ihre TextView in main.xml und verweisen Sie auf den text-Feld aus dem code. So etwas wie dieses:
InformationsquelleAutor hanspeide
Hatte ich dieses problem und verbringen Sie gleich einen ganzen Tag im Netz auf der Suche nach der Lösung. Eclipse-Konsole melden Sie aufgehört hatte:
Besuchte ich diese Seite sehr, aber ich habe keine Lösung für das problem. Ich fast aufgegeben, aber immer noch fühlte, dass es nicht etwas großes, da schien alles ok, es ist nur, dass ich nicht kommen konnte Hallo android text auf dem emulator. Es ist sehr frustrierend, wenn eine kleine Sache scheint nicht zu funktionieren, wenn Sie getan haben, in jeder anderen Sache Recht.
Zitieren shodhanshah in dieser forum thread:
Nur auf home drücken auf der Tastatur, klicken Sie auf apps auf dem Bildschirm, klicken Sie dann auf den Namen der Anwendung.
InformationsquelleAutor Laban Okune Anunda
Nach dem Aufruf
Sie nicht brauchen, um es wieder verwenden für die Einstellung
text
zutextview
. Sie können es verwenden, wie dieses.Wird es funktionieren.
InformationsquelleAutor nikki
Ich hab das gleiche problem auch dann. Warten, bis ein download des emulators, klicken Sie auf die lock-Taste von android und drehen Sie dann den Kreis im Uhrzeigersinn und dann öffnet sich die android-Anwendung. Dann, wenn Sie auf die wichtigste option in der android-dann können Sie dinf Ihrem Projekt den Namen gibt, klicken Sie darauf, dann sehen Sie die Ausgabe dort.
InformationsquelleAutor shiva1006