2012-12-09 11 views
5

Ich folgte den grundlegenden Tutorials auf developers.android.com und kam durch Erstellen der Aktivität mit dem Namen DisplayMessageActivity. Es ist eine leere Aktivität mit allen angegebenen Spezifikationen, wie im Tutorial gezeigt. FYI, I Min SDK = API bin mit 8, Target SDK = API 16, mit = API Kompilieren 10Kompilieren Fehler mit API 10

Die nächste Sache ist, dass es zwei Fehler:

  1. „Die Methode getActionBar() nicht definiert ist für den Typ DisplayMessageActivity
  2. „zu Hause nicht gelöst oder ist ein Feld nicht sein kann“

ich die API 14 versucht, zu ändern, die für ein anderes Problem genannt, will es die minimale API 11.

sein 10

Das löst diese Probleme, aber das Hauptproblem ist, dass so viele Geräte immer noch Gingerbread oder vielleicht FroYo verwenden. Kann ich nicht für sie schreiben? Muss ich höher gehen? Wie schreibe ich für sie?

+0

Ja, der Code ist genau gleich von diesem Tutorial http://developer.android.com/training/basics/firstapp/starting-activity.html –

Antwort

5

Zuerst werden Sie sicherstellen wollen, dass Sie mit der neuesten Version von Android kompilieren. Du solltest deine SDK-Version aktualisieren, weil du für API 10 kompilierst, aber Targeting 16. Wenn du das tust, kann es dazu kommen, dass es stört. Also bleib am besten auf der sicheren Seite. Dies bedeutet, dass Sie mit der rechten Maustaste auf Ihr Projekt in Eclipse klicken, auf Eigenschaften klicken und dann auf Android klicken. Überprüfen Sie die höchste Version API, die dort ist. Wenn Sie die neueste Version haben, ist es Android 4.2. Setzen Sie dann in Ihrer AndroidManifest.xml den Wert android:targetSdkVersion auf das, was Sie gewählt haben (mein Fall api 17).

enter image description here

Damit soll sichergestellt werden, dass Ihre Anwendung auf grundsätzlich Wabe JellyBean laufen kann. Allerdings will diese App zumindest auf Froyo laufen. In diesem nächsten Teil können Sie Ihre App auf allen Geräten ausführen.

ein Verfahren wie dieses Fabrikat:

@TargetApi(Build.VERSION_CODES.HONEYCOMB) 
    private void setupActionBar() { 
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
      // Show the Up button in the action bar. 
      getActionBar().setDisplayHomeAsUpEnabled(true); 
     } 
    } 

Es wird überprüft, um zu sehen, welche API es läuft und nur dann, wenn es Wabe ist und oben, ermöglicht die Aktionsleiste. Nennen Sie es von onCreate() Sie müssen die getActionBarCall, die in onCreate() ist, da es nicht mehr dort benötigt wird.

Da zu Hause nicht aktiviert war, war es möglicherweise nur ein falsches Projektziel oder Sie haben vergessen, android.R.id.home zu schreiben und stattdessen R.id.home geschrieben.

Zuletzt mit all diesen Änderungen sollten Sie Ihr Projekt (Projekt -> Reinigen) reinigen.