มีเบราว์เซอร์ Android ที่รองรับการโหลด Java Applet ในเบราว์เซอร์หรือไม่?


20

เรามีลูกค้าที่เปลี่ยนจาก Windows Mobile (และ IE Mobile) เป็นอุปกรณ์ที่ใช้ Android

เรามีซอฟต์แวร์เฉพาะบางอย่างที่เราปรับใช้กับแรงงาน WM โดยแอปเพล็ต ActiveX ที่โหลดใน IE Mobile แต่แน่นอนว่า Android จะไม่รองรับ ActiveX ดังนั้นเราจะต้องทำซ้ำแอปพลิเคชันของเราไปยังแพลตฟอร์มเฉพาะ Android และ Java เป็นตัวเลือกที่ชัดเจนสำหรับเรื่องนี้

มีเบราว์เซอร์ Android ใดบ้างที่รองรับการโหลด Java Applet ในเบราว์เซอร์ในลักษณะเดียวกับที่โหลดแอปเพล็ต ActiveX ใน IE (กล่าวคือมันรวมเข้ากับประสบการณ์การท่องเว็บอย่างเต็มที่)

คำตอบ:


9

มีการถามคำถามที่คล้ายกันที่นี่มาก่อนเวอร์ชันสั้น ๆ ไม่รองรับ JAVA applets ใน Android เวอร์ชั่นของ JAVA ที่ใช้บน Android ไม่ใช่แค่การทำงานของ mill JAVA ดังนั้นคุณจะต้องมี JAVA compiler บนโทรศัพท์ก่อนเพื่อรัน applet ซึ่งฉันไม่คิดว่าเป็นไปได้หรืออย่างน้อยเป็นไปได้

ทำไมไม่เพียงดาวน์โหลด Android SDK และสร้างแอปของคุณเอง? คุณไม่ต้องขายในตลาด แต่ถ้าคนอื่นสามารถใช้แอปของคุณคุณสามารถทำสิ่งที่อาจช่วยกู้เงินที่ใช้ไปในการพัฒนา


1
Why not just download the Android SDK and make your own app- เพราะแอพของเราจำเป็นต้องข้ามแพลตฟอร์มให้ได้มากที่สุด มันซับซ้อนอย่างไม่น่าเชื่อและค่าใช้จ่ายที่เกี่ยวข้องในการแปลจากแอปบนเว็บเป็นแอปแบบสแตนด์อโลนนั้นเป็นปรากฏการณ์ ขอบคุณสำหรับหัวขึ้นแม้ว่า ดังนั้นจึงเป็นไปไม่ได้เลยหรือที่จะฝังการทำงานพิเศษใด ๆ ไว้ภายในเบราว์เซอร์? สิ่งสำคัญที่เราทำคือการรวบรวมลายเซ็นเช่นเดียวกับผู้ให้บริการจัดส่งหลังจากทำการจัดส่ง ใน IE นี่เป็นเค้กชิ้นหนึ่งที่มีตัวควบคุม ActiveX ขนาดเล็ก

หากแอป JAVA ของคุณมีอยู่บนเว็บไซต์ที่คุณชี้ให้โทรศัพท์ของคุณเห็นคุณอาจสามารถใช้รหัส JAVA ได้ แต่ฉันยังคงสงสัยว่าเพราะ Android OS ไม่มีวิธีดั้งเดิมที่จะเข้าใจรหัส JAVA ในขณะที่คุณและฉัน รู้แล้ว เวอร์ชั่นของ JAVA บน Android นั้นได้รับการแก้ไข ทางออกที่ดีที่สุดของคุณคือมองหาการสร้างแอพสำหรับแพลตฟอร์มที่แตกต่างกันหรือใช้ภาษาอื่นเช่น HTML5 หรือแฟลช (ไม่รองรับอุปกรณ์ Apple ที่ไม่ใช่การเจลเบรค)

ขออภัยในความที่ไม่คาดคิด แต่เพื่อให้คุณรู้ว่าการสร้างแอปสำหรับ Apple และ Android เป็นเรื่องง่ายมากตอนนี้ พวกเขามีระบบ GUI ที่สามารถทำงานให้คุณได้มากที่สุด อาจจะไม่ยากอย่างที่คุณคิด อย่างน้อยฉันก็จะตรวจสอบ

1
เนื่องจาก Android 2.2 และสูงกว่า (และโทรศัพท์บางรุ่นที่ใช้ Android 2.1) สามารถเรียกใช้แอปเพล็ตแฟลชในเบราว์เซอร์ได้แฟลชอาจเป็นตัวเลือกข้ามแพลตฟอร์มที่ดีกว่าสำหรับคุณมากกว่า Java
GAThrawn

1
ในขณะที่ Dalvik ของ Android นั้นไม่สามารถใช้งานร่วมกับ bytecode กับ bytecode ของ JVM ได้ รหัส Java ที่ไม่ได้ใช้ไลบรารีที่ถูกตัดออกใน Android (เช่น Swing / AWT) ควรเป็นแหล่งข้อมูลที่เข้ากันได้ค่อนข้างดีดังนั้นคุณจะต้องคอมไพล์ใหม่และเนื้อหาส่วนใหญ่ควรใช้งานได้ตราบใดที่มันไม่ได้ใช้ .
Lie Ryan

3

ตัวเลือกสองอย่างเดียวที่ฉันคิดได้คือการสร้างแอพมือถือข้ามแพลตฟอร์ม HTML5 ที่จะทำงานข้ามสเปกตรัมโดยกล่าวว่าฉันสามารถเข้าใจสภาพแวดล้อมขององค์กรที่ต้องการยึดติดกับ IE เพื่อสนับสนุนแอป ActiveX ภายในเบราว์เซอร์ จะนำคุณคิดว่า Java บนเดสก์ทอปเป็นเช่นเดียวกับบน Android ซึ่งไม่เป็นความจริง

ส่วนใหญ่และตัวเลือกที่สอง SDK ครอบคลุมชุดย่อยของ Java 5 คอลเลกชัน apache ฯลฯ ไวยากรณ์ฉลาดเหมือนกันดังนั้นอาจคอมไพล์บนตรรกะทางธุรกิจและส่วนติดต่อผู้ใช้ใหม่สำหรับ front-end สำหรับ แพลตฟอร์ม Android (ใช่คุณสามารถรวบรวมใหม่ที่กำหนดเป้าหมาย Android SDK ... )

ในระยะสั้นไม่สามารถทำได้เว้นแต่จะมีแรงจูงใจและไดรฟ์เพื่อสร้างใหม่เพื่อให้เข้ากันได้กับอุปกรณ์ในปัจจุบันและในอนาคต

แก้ไข

หลังจากความคิดเห็นเหลือไว้ด้านล่างเพื่อสรุป:

  • เบราว์เซอร์ไม่รองรับการทำงานของ Java applets ภายในตัวมันเอง JRE! = Java Runtime ของ Android หรือที่รู้จักในชื่อ DalvikVM เดสก์ท็อปจาวาใช้ JavaVM / JRE ตามที่ Sun / Oracle รับรองและ OpenJava JDK ซึ่งถูกลงโทษโดย Oracle JRE = Java Runtime Environment

  • เทอร์มินัลไอดีซึ่งมี "คอมไพเลอร์ภาษาจาวา" มีโอกาส (ฉันจะติดตั้งและรายงานข้อเสนอแนะเกี่ยวกับ btw นี้) มันเป็นเวอร์ชั่นที่ จำกัด อย่างมากของ OpenJDK มันเป็นเวอร์ชั่นเดียวที่ใช้ได้สำหรับ ARM ตามบล็อกนี้ซึ่งไม่สามารถทำแอพพลิเคชั่น Java Windowing ดั้งเดิมเช่น Swing หรือ JavaBeans เนื่องจากเหตุผลง่าย ๆ ที่ว่าเวอร์ชันของ Java Runtime Environment นั้นแตกต่างกันมากสำหรับ Android และได้รับการปรับให้เหมาะสมที่สุดสำหรับโปรเซสเซอร์แบบเนทีฟ

นอกจากนี้ DalvikVM ยังมีความรู้เกี่ยวกับ Swing, JavaBeans และอื่น ๆ ด้วยเหตุนี้จึงอธิบายได้ว่า Java บนเดสก์ท็อปนั้นไม่เหมือนกับ Java บน Android

สำหรับการมีมุมมองว่า Android เป็นเหมือน Linux อย่างมากที่ฉันเห็นคือนี่ไม่ใช่ Linux เคอร์เนลคือ linux ตัวเอง แต่เครื่องมือของผู้ใช้จะมาจากbusyboxนอกจากนี้ C ดั้งเดิมที่รัน - ไลบรารีเวลาภายใต้ Android เรียกว่าไบโอนิคและถูก จำกัด เนื่องจากโปรเซสเซอร์ wee เหล่านั้นเช่น ARM เมื่อเปรียบเทียบกับเดสก์ท็อปเวอร์ชัน Linux มีไลบรารีรันไทม์ที่จัดทำโดย gcc - GNU C Libraryหรือที่รู้จักกันทั่วไปว่าglibc - ซึ่งรองรับ c / c ++ idiosyncratics มากมายเช่น STL, Boost, การจัดการข้อยกเว้นแบบเต็ม นั่นคือมุมมองของฉันและแยกออกจากหัวข้อและพลัดหลงจากเส้นทางที่ถูกตีที่นี่ :)


ระบบขององค์กรต้องการจาวาและไม่มีอะไรที่ฉันสามารถทำได้ สิ่งเดียวที่ฉันทำได้คือกำหนดค่าแท็บเล็ต Android สิ่งที่ฉันไม่เข้าใจก็คือทำไมเบราว์เซอร์โอเพนซอร์สและ jre ไม่สามารถทำงานบนแท็บเล็ต Android ได้
เฟลิกซ์

1
เบราว์เซอร์ไม่รองรับการทำงานของ Java applets ภายในตัวมันเอง JRE! = Java Runtime ของ Android หรือที่รู้จักในชื่อ DalvikVM Desktop Java ใช้ JavaVM ตามที่รับรองโดย Sun / Oracle และ OpenJava JDK ...
t0mm13b

ขวา. ฉันไม่เข้าใจว่าทำไม openjava jdk ไม่สามารถคอมไพล์และติดตั้งให้ทำงานใน android ได้ บางทีฉันอาจจะมองโลกในแง่ดีว่าหุ่นยนต์มีลินุกซ์มากแค่ไหน?
เฟลิกซ์

น่าสนใจมีterminal-ide.comซึ่งมีคอมไพเลอร์ java ดูเหมือน
เฟลิกซ์

1
ฉันซาบซึ้งกับการพลัดหลงออกนอกเส้นทางขอบคุณ! ฉันเชื่อมั่นมากขึ้นเรื่อย ๆ ในตอนนี้ว่ามันเป็นไปได้อย่างสมบูรณ์แบบเพียงว่ายังไม่มีใครทำงานการกำหนดค่าและการคอมไพล์ ฉันควรเพิ่มที่ฉันรู้ว่า dalvikvm ดั้งเดิมนั้นไม่เกี่ยวข้อง คำถามของฉันไม่เกี่ยวกับเรื่องนั้น มันเป็นเรื่องของคนที่รวบรวมเดสก์ท็อป jre สำหรับ Android ฉันคิดว่ามีรุ่น ARM อยู่แล้ว ไม่ใช่แค่ android
เฟลิกซ์

2

สิ่งที่ฉันพบที่ใกล้ที่สุดคือhttp://www.apogee.com/products/cjre-a

น่าเสียดายที่ระบุไว้ในหน้านั้น:

โปรดทราบว่า Apogee ได้ระงับการพัฒนาของ CJREs + A ชั่วคราวในเดือนมิถุนายน 2012 เนื่องจากความต้องการไม่เพียงพอสำหรับพวกเขา กรุณาติดต่อ Apogee หากคุณสนใจ CJRE + A ที่กำหนดเป้าหมายไว้ที่อุปกรณ์ที่ใช้ Android ที่คุณเลือกสำหรับการกระจาย "ปริมาณ" ให้กับลูกค้าและ / หรือบุคคลที่สามอื่น ๆ

... และไม่มีการดาวน์โหลด / ตัวอย่าง

นำมาจากหน้าผลิตภัณฑ์ของพวกเขาhttp://www.apogee.com/productsมันฟังดูเหมือนจะเป็นสิ่งที่ยอดเยี่ยมที่จะมี:

CJRE + A -“ CJRE สำหรับ Android” เหมาะสำหรับอุปกรณ์ที่ใช้ Android v4.x หรือสูงกว่าซึ่งจำเป็นต้องเรียกใช้แอปพลิเคชัน Java SE 5 และ SE 6 นอกเหนือจากการดำเนินการแอปพลิเคชัน Android

เรายังคงฝัน ฉันไม่ได้ติดต่อพวกเขา ฉันตระหนักถึงหลาย บริษัท ที่กำลังมองหาฟังก์ชั่นนี้ ฉันนึกไม่ออกเลยว่ามันจะลดน้อยลงไปเร็วเกินไป (หรือว่าช้ากว่าแฟลช)?

ฉันยังไม่ได้ไปถึง Apogee อาจจะคุ้มค่าลอง ... ถ้าใครเคยพบวิธีแก้ปัญหาโปรดอัปเดตพวกเราด้วย! ขอบคุณ


1

Android ยังไม่รองรับจาวาแอพเพล็ตและจะไม่ทำงานหนัก

Java ใน Android ไม่ใช่ Java ของแท้ แต่เป็นรุ่นที่เขียนขึ้นเองโดย Google แอพ Android อาจเขียนขึ้นใน Java แต่จะถูกแปลงเป็น Dalvik ในเวลารวบรวม

ดังนั้นจึงเป็นไปไม่ได้ที่จะพัฒนาเบราว์เซอร์ที่มีความเข้ากันได้กับ Java Applets


มีเหตุผลที่เบราว์เซอร์ของบุคคลที่สามไม่สามารถรวมการสนับสนุนปลั๊กอิน java ได้หรือไม่ ฉันสังเกตเห็นว่า m0rtadelo ที่stackoverflow.com/questions/2433338/…จริง ๆ แล้วอ้างว่าใช้งานได้จริง! จริงๆแล้วฉันสนใจที่จะให้มันทำงานบนแท็บเล็ตหากมันสร้างความแตกต่าง
เฟลิกซ์

1
@Felix เพราะ Android ไม่ได้รวมอยู่ในระบบ m0rtadelo กำลังเรียกใช้ระบบปฏิบัติการทั้งหมดภายในอุปกรณ์ของพวกเขาและนั่นคือวิธีที่พวกเขาใช้งานได้
เลียม W

ตกลง .. ฉันไม่รังเกียจที่จะทำเช่นนั้นบนแท็บเล็ตเพื่อแก้ปัญหาหากไม่เป็นอันตรายและเป็นเพียงตัวเลือกเดียว อาจเป็นคำถามแยกต่างหาก
เฟลิกซ์

0

มีโพสต์ชื่อ"มีความเป็นไปได้ไหมที่จะเรียกใช้งานแอปเล็ตบน Android หรือ Blackberry"บน Over Stack ซึ่งจะช่วยให้คุณเข้าใจมากขึ้นสามารถพบได้ที่นี่:

/programming/2433338/is-there-a-possibility-to-run-applets-on-android-or-blackberry

ฉันได้ดูที่อื่น แต่ดูเหมือนจะไม่มีหลักฐานสรุปว่ารองรับจาวาแอพเพล็ต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.