2010-08-01 6 views
4

Dans mon cas, je veux écrire une application qui soit totalement symétrique (pas client-serveur) avec des fonctionnalités identiques sur deux PC, l'un sur Windows ou Linux et l'autre sur Android. Puis-je exécuter le même programme sur les deux ou dois-je envelopper dans un paquet Android pour les persmissioons, etc?Puis-je exécuter une application Java "standard", non Android, sur Android?

Les deux PC communiqueront par TCP/IP, sorte de peer-to-peer, mais je suspecte que comme une question générique cela pourrait intéresser beaucoup.

Répondre

10

Eh bien, vous ne pouvez pas exécuter une application Java indépendante sur Android. Les applications Android sont compilées en dalvik bytecode et ne sont vraiment écrites qu'en Java mais ne fonctionnent pas sur le Java vm (Android ne possède pas de Java vm). Cependant, vous pouvez créer une bibliothèque de fichiers jar qui peut être utilisée à la fois par une application de bureau et une application Android et qui devrait permettre la réutilisation du code indépendant de la plateforme.

+1

Vous en avez également besoin pour votre interface utilisateur, les permissions, donc il peut être distribué/installé comme une application Android normale, etc. – CommonsWare

0

Vous pouvez exécuter des programmes Java en ligne de commande sur un périphérique Android. Un exemple d'un simple programme "Bonjour, monde" est described here. Cependant, comme indiqué précédemment, vous ne pouvez pas utiliser le framework Android pour l'interface utilisateur et, à moins d'avoir un téléphone rooté, vous ne pourrez pas l'installer dans/data ou accéder à des fonctionnalités «protégées», comme parler à l'utilisateur. L'Internet.

+0

Veuillez noter que même dans le lien posté, vous n'avez toujours pas d'application Java sur Android (il est pas JVM) vous compilez le java dans un exécutable dalvik pour fonctionner sur le vm dalvik. –

+0

Vous avez raison, bien sûr. J'aurais dû dire, "vous pouvez exécuter des programmes de ligne de commande écrits dans le langage de programmation Java", ce qui n'est pas la même chose. – fadden

Questions connexes