Android Plattform Beispielcodes und Referenz von der Android-Entwickler-Website basiert auf Plattform 1.5 Ich verstehe, dass neuere Plattformen Anwendungen auf älteren Plattformen unterstützt, aber die gegenseitige ist nicht anwendbar, die sinnvoll ist, aber ist die Codierung anders? Sind Codes, die für die Entwicklung von 1.5-Apps verwendet wurden, in neueren Plattformen noch nützlich oder haben sie durch neuere Klassen und Methoden ersetzt? Es scheint, dass Eclipse viele Codierungsfehler in seinen Beispielen in Bezug auf Klassen und Methoden erzeugt, auch wenn eine App, die von einem IME entwickelt wurde, nicht auf dem Emulator angezeigt werden kann oder wie kann sie auf dem Gerät getestet oder abgerufen werden? Jeder Rat ist willkommen ... Entschuldigung, es ist so langePlattform Kompatibilität Problem
Antwort
Wenn Sie in den SDK-Ordnern suchen, wird es unter Windows c:\<SDK location>\samples\android-x
sein. Die Samples befinden sich nach API-Level, also werden sie definitiv kompatibel sein, also würde ich mir diese ansehen.
Um Ihre anderen Fragen zu beantworten, ja es gibt API-Änderungen, wie Sie eine API-Ebene gehen, so dass sie Warnungen oder Kompilierungsfehler verursachen sollten und einige Klassen möglicherweise sogar vollständig entfernt werden. Im Allgemeinen sollte sich der Inhalt der unteren Ebene nicht zu sehr ändern, aber das Wichtigste ist, dass sich die Semantik selten ändert, es sei denn, es gab einen Konstruktionsfehler in den ursprünglichen Implementierungen.
Die Versionshinweise für jede Version weisen normalerweise darauf hin, was sich geändert hat, und die Online-Dokumentation ist meiner Meinung nach in der Regel hervorragend, um Sie darüber zu informieren, was genau veraltet ist. Wenn Sie nur auf alte Geräte zielen, dann ist Ihr Emulator nur auf diese API-Ebenen ausgerichtet, aber wenn Sie über die Funktionalität besorgt sind, könnten Sie Code mit api 1.5 verwenden und einen ICS-API-Level-15-Emulator ausführen und prüfen, ob alles in Ordnung ist, wenn nicht dann entscheiden Sie, was die beste Strategie sein sollte. Generell rate ich Android 2.2 und höher für mobile Geräte und 3.0 für Tablets zu zielen, aber es liegt wirklich an Ihnen.
Drei Klassen sind veraltet und können nicht mehr verwendet werden, wie Contacts.People. Es gibt auch veraltete Klassen, die zwar weiterhin verwendet werden können, aber in neuen Projekten vermieden werden sollten. Und es gibt neue Klassen, die vorher nicht verfügbar waren. In einigen Fällen wie für Fragment gibt es Kompatibilitäts-Support-Bibliotheken, um die neuen Funktionen auf der alten Plattform zu verwenden, aber dies gilt nicht für Klassen wie zum Beispiel PreferenceFragment, die auf alten Plattformen nicht unterstützt werden.
Das macht sehr viel Sinn Ich denke, das ist, wo die Fehlercodes kommen .... Ich bin in 2.1 bauen, aber th Proben waren von 1.5 und spiegeln nicht aktualisiert oder veraltete Klassen/Methoden .... das ist nur meine Annahme ... –
Ich habe und es gibt Klassenfehler wie diese Klasse ist nicht instanziiert und sogar einige der Strings zeigen nicht die entsprechenden Wörter stattdessen gibt es @string/.... Wenn ich die Zeichenfolgen XML alles überprüfen ist in Ordnung ... diese Fehler verwechseln Ich nahm an, dass die Proben korrekt zu lernen und zu bauen wäre ... –
Klingt seltsam, ich würde das Projekt aus Eclipse löschen (aber natürlich nicht den Quellcode löschen), Eclipse neu starten, laden Projekt noch einmal, mach einen kompletten Umbau und sieh zu, es ist jetzt in Ordnung – EdChum
habe ich gemacht und du bist richtig alles sieht jetzt auch in deiner fachlichen Meinung gut aus Ich kenne Samples wie die y, aber würdest du sagen, dass sie technisch korrekt sind und dass Entwickler-Optimierungen eher notwendig als notwendig sind? Ich frage mich, ob die Samples mit rein grafischen Modifikationen funktionieren würden. –