Esistono browser Android che supportano il caricamento di un'applet Java nel browser?


20

Abbiamo un client che sta passando da Windows Mobile (e IE Mobile) a dispositivi basati su Android.

Abbiamo alcuni software specifici che implementiamo nella loro forza lavoro WM da un'applet ActiveX che si carica in IE Mobile, ma ovviamente Android non avrà supporto per ActiveX. Quindi dovremo rifare la nostra applicazione su una piattaforma specifica per Android e Java è la scelta ovvia per questo.

Esistono browser Android che supportano il caricamento di un'applet Java nel browser, più o meno allo stesso modo in cui un applet ActiveX si carica in IE (ovvero si integra completamente nell'esperienza di navigazione).

Risposte:


9

Domande simili sono state poste qui prima, la versione breve, le applet JAVA non sono supportate su Android. La versione di JAVA utilizzata su Android non è solo la tua corsa del mulino JAVA, quindi dovrai prima avere un compilatore JAVA sul telefono per eseguire qualsiasi applet. Che non credo sia possibile o almeno fattibile.

Perché non scaricare Android SDK e creare la tua app? Non è necessario venderlo sul mercato, ma se la tua app potesse essere utilizzata da altri potresti fare ciò che potrebbe aiutare a recuperare alcuni soldi spesi per lo sviluppo.


1
Why not just download the Android SDK and make your own app- perché la nostra app deve essere il più multipiattaforma possibile. È incredibilmente complesso e i costi generali associati alla traduzione da un'app basata su Web a un'app autonoma sono fenomenali. Grazie per l'attenzione. Quindi è assolutamente impossibile incorporare qualsiasi tipo di funzionalità extra all'interno di un browser? La cosa principale che stiamo facendo è raccogliere firme, come fa un corriere dopo aver effettuato una consegna. In IE questo era un gioco da ragazzi con un piccolo controllo ActiveX.

Se la tua app JAVA esistesse su un sito Web a cui hai indicato il telefono, potresti riuscire a far funzionare il codice JAVA in quel modo, ma ne dubito ancora perché il sistema operativo Android non ha un modo nativo per capire il codice JAVA come te e io lo so. La versione di JAVA su Android è stata modificata. La soluzione migliore sarebbe quella di cercare di creare app per le diverse piattaforme o utilizzare un linguaggio diverso come HTML5 o flash (non supportato su dispositivi Apple non jailbroke).

Ci scusiamo per il doppio calo, ma solo per questo sai, creare app per Apple e Android è davvero facile ora. Hanno sistemi di interfaccia grafica che possono fare la maggior parte del lavoro per te. Potrebbe non essere così difficile come pensi. Vorrei almeno indagare.

1
Poiché Android 2.2 e versioni successive (e alcuni telefoni con Android 2.1) possono eseguire applet Flash nel browser, Flash potrebbe essere una scelta multipiattaforma migliore per te rispetto a Java.
GAThrawn

1
mentre Dalvik di Android non è compatibile con bytecode con bytecode di JVM; Il codice Java che non utilizza le librerie che sono state omesse in Android (ad esempio Swing / AWT) dovrebbe essere praticamente compatibile con i sorgenti, quindi dovrai solo ricompilare e la maggior parte degli oggetti dovrebbe funzionare solo se non usa quelle librerie omesse .
Sdraiati Ryan il

3

Le uniche due opzioni a cui riesco a pensare sono la creazione di un'app mobile multipiattaforma HTML5 che funzioni su tutto lo spettro, detto ciò, posso capire gli ambienti aziendali che desiderano aggrapparsi a IE per supportare le app ActiveX all'interno del browser, che ti sta portando a pensare che Java sul desktop sia lo stesso di Android, il che non è vero .

Per la maggior parte, e la seconda opzione, l'SDK copre un sottoinsieme di Java 5, raccolte, apache, ecc., La sintassi è identica, quindi forse una ricompilazione sulla logica aziendale e una nuova interfaccia utente per il front-end per Piattaforma Android. (Sì, puoi ricompilare quel target dell'SDK di Android ...)

In breve, non si può fare a meno che non ci sia un motivo e guidare per ricostruirlo per essere compatibile con i dispositivi ora e in futuro.

modificare

Dopo i commenti lasciati sotto, per ricapitolare:

  • Il browser non supporta l'esecuzione di applet Java al suo interno. JRE! = Java Runtime di Android aka DalvikVM. Desktop Java utilizza JavaVM / JRE come approvato da Sun / Oracle e OpenJava JDK, che è sanzionato da Oracle. JRE = Java Runtime Environment

  • Terminal IDE che contiene "un compilatore Java", è probabile (lo installerò e riferirò feedback su questo BTW) è una versione ridotta estremamente limitata di OpenJDK, è l'unica disponibile nativamente per ARM, secondo questo blog che non è in grado di eseguire app Java Windowing native come Swing o JavaBeans a causa del semplice motivo che la versione di Java Runtime Environment è molto diversa per Android e altamente ottimizzata per il processore nativo.

Inoltre, DalvikVM non sa nulla di Swing, JavaBeans, ecc. Quindi perché spiega in qualche modo che Java sul desktop non è lo stesso di Java su Android.

Per quanto riguarda avere la vista che Android è molto simile a Linux, questo punto di vista mi attengo, è questo, è non è Linux, il kernel di Linux è in sé, ma gli strumenti user-terra sono forniti da busybox , inoltre, il C run-native la libreria temporale su Android si chiama bionic ed è limitata a causa di processori come ARM. Rispetto alla versione desktop di Linux, c'è la libreria di runtime fornita da gcc - GNU C Library o più comunemente nota come glibc - che supporta un numero maggiore di idiosincratici C / C ++ come STL, Boost, gestione completa delle eccezioni. Questa è la mia opinione ed è separata dall'argomento e devia dai sentieri battuti qui. :)


Il sistema aziendale ha bisogno di Java e non c'è niente che io possa fare al riguardo. L'unica cosa che posso fare è configurare il tablet Android. Quello che non capisco del tutto è perché un browser open source e jre non possono funzionare su un tablet Android.
Felix,

1
Il browser non supporta l'esecuzione di applet Java al suo interno. JRE! = Java Runtime di Android aka DalvikVM. Desktop Java utilizza JavaVM come approvato da Sun / Oracle e OpenJava JDK ...
t0mm13b

Giusto. Non capisco perché openjava jdk non possa essere compilato e installato per funzionare in Android. Forse ho una visione troppo ottimistica di quanto Android sia come Linux?
Felix,

È interessante notare che c'è terminal-ide.com che contiene un compilatore Java sembra.
Felix,

1
Apprezzo lo smarrimento, grazie! Sono sempre più convinto ora che sia perfettamente possibile, è solo che nessuno ha ancora fatto il lavoro di configurazione e compilazione. Dovrei aggiungere che so che il dalvikvm nativo è irrilevante. La mia domanda non è mai stata al riguardo. Si trattava di qualcuno che compilava il jre desktop per Android. Penso che ci sia già una versione ARM. Solo non uno Android.
Felix,

2

Il più vicino che ho trovato è http://www.apogee.com/products/cjre-a

Sfortunatamente, come indicato in quella pagina:

Si noti che Apogee ha temporaneamente sospeso l'ulteriore sviluppo di CJREs + A nel giugno 2012, a causa dell'insufficiente domanda di tali prodotti. Per favore, contatta Apogee se sei interessato a un CJRE + A destinato a un dispositivo Android che hai scelto per la distribuzione "volume" ai tuoi clienti e / o altre terze parti.

... e non è possibile trovare un download / demo.

Tratto dalla pagina dei loro prodotti http://www.apogee.com/products , sembra che sarebbe stato grandioso avere:

CJRE + A - Il "CJRE per Android" è adatto per dispositivi che eseguono Android v4.xo versioni successive, che devono eseguire le applicazioni Java SE 5 e SE 6 oltre a eseguire le applicazioni Android.

Possiamo ancora sognare. Non li ho contattati. Sono a conoscenza di molte aziende che cercano questa funzionalità. Non riesco a immaginare che diminuirà troppo velocemente (o diciamo più lentamente del flash)?

Non ho contattato Apogee, potrebbe valere la pena provare ... Se qualcuno trova una soluzione, ti preghiamo di tenerci aggiornati! Grazie.


1

Android non supporta ancora le applet Java, né lo farà, senza grandi lavori.

Java in Android non è Java "reale", è una versione scritta personalizzata di Google. Le app Android possono essere scritte in Java, ma vengono convertite in Dalvik al momento della compilazione.

Pertanto, sarebbe quasi impossibile sviluppare un browser compatibile con le applet Java.


C'è un motivo per cui i browser di terze parti non possono includere il supporto per i plugin Java? Ho notato che m0rtadelo a stackoverflow.com/questions/2433338/... sostiene in realtà di aver ottenuto che funziona! In realtà sono interessato a farlo funzionare su un tablet solo se questo fa la differenza.
Felix,

1
@Felix perché Android non lo ha incluso nel sistema. m0rtadelo eseguiva un intero sistema operativo all'interno del proprio dispositivo, ed è così che lo hanno fatto funzionare.
Liam W,

OK .. Non mi dispiace farlo sul mio tablet come soluzione alternativa se non è pericoloso ed è l'unica opzione. Forse è una domanda separata.
Felix,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.