2010-12-03 3 views
0

J'ai réussi à installer Eclipse et Android SDK sur mon Mac. Cependant, lorsque je lance le programme en utilisant le code ci-dessous. Ça me donne toujours l'erreur. « Désolé! L'application Bonjour, Harris (processus com.example.helloandroid) est arrêté de façon inattendue. S'il vous plaît essayer à nouveau.Mon application Android Hello World ne sera pas exécutée ou affichée?

//package com.example.helloandroid; 

import com.example.helloandroid.R; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 


public class HelloAndroid extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     TextView tv = new TextView(this); 
     tv.setText("Hello, Harris Family."); 
     setContentView(tv); 
    } 
} 
+0

Ouvrez la perspective DDMS dans eclipse et recherchez le volet intitulé «LogCat». Cela contiendra ce que l'on appelle une "trace de pile". S'il vous plaît trouvez cela et postez-le nous pouvons voir ce qui se passe réellement. Veuillez consulter http://www.javaworld.com/javaworld/javatips/jw-javatip124.html pour un bref exemple de trace de pile. –

+0

Il semble que vous essayiez de suivre l'exemple ["Hello, World"] (http://developer.android.com/resources/tutorials/hello-world.html) du site des développeurs, mais vous en avez changements inhabituels. Y a-t-il une raison pour laquelle vous avez commenté la première ligne? Avez-vous ajouté la ligne 'import com.example.helloandroid.R;' dans un but particulier? – eldarerathis

Répondre

1

Je pense que le problème est que vous définissez directement la TextView comme ContentView. vous devriez mieux utiliser une mise en page à la place.

+0

C'est ainsi que ContentView est défini dans le tutoriel "Hello, World" sur le site de développement Android (qu'il semble que l'OP essayait probablement de suivre): http://developer.android.com/resources/tutorials/hello- world.html # ui. – eldarerathis

+0

Je vois. Mais alors vous devriez vraiment suivre l'exemple et ne pas importer les paquets qui (probablement) n'existent pas. (-> Votre première ligne commentée) –

0

Ceci est parce que vous avez pas encore défini une vue de mise en page, vous avez seulement un textview sans parent.

définir d'abord la p arent mise en page pour votre mode texte avec quelque chose comme ceci:

ScrollView sv = new ScrollView(ViewPlay.this); 
     LinearLayout ll = new LinearLayout(ViewPlay.this); 
     ll.setOrientation(LinearLayout.VERTICAL); 

Ensuite, ajoutez votre mode texte avec:

TextView tv = new TextView(this); 
tv.setText("Greetings"); 
tv.setGravity(Gravity.CENTER_HORIZONTAL); 
tv.setTextSize(18); 
ll.addView(tv); 

ajouter maintenant en vue de la mise en page avec:

this.setContentView(sv); 

Ajout de contenu à l'écran dynamiquement comme ci-dessus peut être très épineux, donc si possible utiliser XML.