2009-07-07 5 views
9

Ich möchte eine kleine Open-Source-AES-Verschlüsselungsklasse an Android portieren, und es würde meine Arbeit stark reduzieren, wenn die API von Android so nah wie möglich an der Java 6 API ist.Wie viel von der Java 6 API wird von Android implementiert?

Wie viel ist implementiert (oder referenzierbar), wie ich versucht habe, auf Google zu suchen, und ich habe noch nichts Nützliches gefunden?

Antwort

4

IMHO Im Allgemeinen Java 6 funktioniert. Der Compiler erledigt die Arbeit für Sie.

Sich selbst implementierende Verschlüsselung: Bitte versuchen Sie es mit Bouncy Castle. Im Allgemeinen ist die Selbstimplementierung irgendeines bekannten Kryptoalgorithmus keine gute Idee.

+0

danke dafür. Die Hüpfburg-Implementierung scheint etwas übertrieben zu sein für das, was ich versuche zu tun. Ich plane nur, meine Füße mit Android nass zu machen, indem ich eine kleine Dateiverschlüsselungs-App mache. nicht wirklich sicher, wie komplex es wird, da mein Hintergrund in Web-Apps, nicht Single-Fokus-Apps, und ich habe nicht wirklich viel Java gemacht. – warsong

4

Haben Sie die Java-Bibliotheksreferenz unter http://developer.android.com/reference/ überprüft?

+0

Die Android API ist nicht die gleiche wie Java API! – tuergeist

+1

Da Android Java-basiert ist und auch den Java-Compiler verwendet, können Sie die Frage selbst beantworten. Probieren Sie Ihren Java 6-Code aus. – tuergeist

+1

tuergeist: Ich dachte, der Compiler wäre komplett anders, da Android seinen eigenen Bytecode und Interpreter hat? –

1

Im Allgemeinen sollten Sie nicht viele Probleme haben, solange Sie keine Grafiken oder Sound-bezogene Bibliotheken verwenden. Android unterstützt Swing oder AWT nicht.

Auch dies ist keine Android-Beschränkung, aber Sie werden wahrscheinlich eine Menge Probleme mit Floats haben, da die Plattformen, auf denen Android normalerweise läuft (ARM) keine Fließkommaeinheit haben, so Sie müssen dies berücksichtigen

+0

Ich nehme an, sie können immer noch Floating-Point-Operationen ausführen, sie werden nur viel langsamer als Sie es gewohnt sind? – MatrixFrog

2

Der Kompiliervorgang von Android-Projekt ist so, kompilieren Sie zuerst den Quellcode mit Java-Compiler (hauptsächlich auf SE 5.0 API) in Java-Byte-Code als .class-Datei und solche Klassendateien wird von dalvik VM fortlaufend in dalvik byte code .dex file kompiliert. Wenn die App läuft, ist es tatsächlich .dex auf dalvik vm läuft.

0

Die neuen Sprachseitigen Funktionen von Java 6 (wie @Override Anmerkung für Schnittstellen) wird in der Regel arbeiten; Der Dalvik VM-Compiler ist mit Java 6 * .class-Dateien kompatibel.
Auf der anderen Seite fehlen die neuen API-Funktionen von JDK6, wie zB String.isEmpty(), java.util.Arrays.copyOf usw., oder sie benötigen neuere API-Level. (API 9 oder höher in diesen Beispielen)
Wenn Ihre Anwendung auf ältere Android-Geräte (API 8 oder niedriger) abzielt, können Sie nur Java 5-Funktionen verwenden.

Verwandte Themen