Có trình duyệt Android nào hỗ trợ tải Java Applet trong trình duyệt không?


20

Chúng tôi có một khách hàng đang chuyển từ Windows Mobile (và IE Mobile) sang các thiết bị dựa trên Android.

Chúng tôi có một số phần mềm cụ thể mà chúng tôi triển khai cho lực lượng lao động WM của họ bằng một applet ActiveX tải trong IE Mobile, nhưng rõ ràng Android sẽ không hỗ trợ ActiveX. Vì vậy, chúng ta sẽ cần phải làm lại ứng dụng của mình cho một nền tảng dành riêng cho Android và Java là lựa chọn rõ ràng cho việc này.

Có bất kỳ trình duyệt Android nào hỗ trợ tải Java Applet trong trình duyệt, giống như cách một applet ActiveX tải trong IE (tức là nó tích hợp hoàn toàn vào trải nghiệm duyệt web).

Câu trả lời:


9

Các câu hỏi tương tự đã được hỏi ở đây trước đây, phiên bản ngắn, các applet JAVA không được hỗ trợ trên Android. Phiên bản JAVA được sử dụng trên Android không chỉ là bản chạy JAVA của bạn, do đó bạn cần có trình biên dịch JAVA trên điện thoại trước để chạy bất kỳ applet nào. Mà tôi không nghĩ là có thể hoặc ít nhất là khả thi.

Tại sao không tải xuống SDK Android và tạo ứng dụng của riêng bạn? Bạn không phải bán nó trên thị trường, nhưng nếu ứng dụng của bạn có thể được sử dụng bởi những người khác, bạn có thể làm điều đó có thể giúp lấy lại một số tiền đã dành cho phát triển.


1
Why not just download the Android SDK and make your own app- bởi vì ứng dụng của chúng tôi cần phải đa nền tảng nhất có thể. Nó cực kỳ phức tạp và các chi phí liên quan đến việc dịch nó từ một ứng dụng dựa trên web sang một ứng dụng độc lập là một hiện tượng. Cảm ơn cho những người đứng đầu mặc dù. Vì vậy, nó hoàn toàn không thể nhúng bất kỳ loại chức năng bổ sung nào trong trình duyệt? Điều chính chúng tôi đang làm là thu thập chữ ký, giống như chuyển phát nhanh sau khi giao hàng. Trong IE đây là một miếng bánh với điều khiển ActiveX nhỏ.

Nếu ứng dụng JAVA của bạn tồn tại trên một trang web mà bạn đã chỉ điện thoại của mình cho bạn thì bạn có thể có mã JAVA chạy theo cách đó, nhưng tôi vẫn nghi ngờ điều đó bởi vì HĐH Android không có cách hiểu riêng về mã JAVA như bạn và tôi biết nó. Phiên bản JAVA trên Android được sửa đổi. Đặt cược tốt nhất của bạn sẽ là xem xét việc tạo các ứng dụng cho các nền tảng khác nhau hoặc sử dụng một ngôn ngữ khác như HTML5 hoặc flash (không được hỗ trợ trên các thiết bị Apple không bẻ khóa).

Xin lỗi vì đã nhúng hai lần, nhưng chỉ để bạn biết, việc tạo ứng dụng cho Apple và Android bây giờ thực sự dễ dàng. Họ có các hệ thống GUI có thể làm hầu hết công việc cho bạn. Có thể không khó như bạn nghĩ. Tôi ít nhất sẽ điều tra.

1
Vì Android 2.2 trở lên (và một số điện thoại chạy Android 2.1) có thể chạy các applet Flash trong trình duyệt, Flash có thể là lựa chọn đa nền tảng tốt hơn cho bạn so với Java.
GAThrawn

1
trong khi Dalvik của Android không tương thích với mã byte của JVM; Mã Java không sử dụng các thư viện bị bỏ qua trong Android (ví dụ: Swing / AWT) sẽ tương thích với nguồn khá nhiều, do đó bạn sẽ chỉ cần biên dịch lại và hầu hết mọi thứ sẽ hoạt động miễn là nó không sử dụng các thư viện bị bỏ qua đó .
Lie Ryan

3

Hai tùy chọn duy nhất tôi có thể nghĩ đến là tạo ra một ứng dụng di động đa nền tảng HTML5 sẽ hoạt động trên toàn phổ, có thể nói rằng, tôi có thể hiểu môi trường công ty muốn bám vào IE để hỗ trợ các ứng dụng ActiveX trong trình duyệt. đang khiến bạn nghĩ rằng Java trên máy tính để bàn giống như trên Android, điều này không đúng .

Đối với hầu hết các phần và tùy chọn thứ hai, SDK bao gồm một tập hợp con của Java 5, các bộ sưu tập, apache, v.v., cú pháp khôn ngoan, giống hệt nhau, do đó, có thể biên dịch lại logic nghiệp vụ và Giao diện người dùng mới cho giao diện người dùng cho Nền tảng Android. (Có, bạn có thể biên dịch lại việc nhắm mục tiêu SDK Android ...)

Nói tóm lại, không thể làm được trừ khi có động lực và nỗ lực xây dựng lại nó để tương thích với các thiết bị hiện tại và trong tương lai.

Chỉnh sửa

Sau khi bình luận bên dưới, để tóm tắt lại:

  • Trình duyệt không hỗ trợ chạy các applet Java trong chính nó. JRE! = Thời gian chạy Java của Android hay còn gọi là DalvikVM. Máy tính để bàn Java sử dụng JavaVM / JRE được chứng thực bởi Sun / Oracle và OpenJava JDK bị Oracle xử phạt. JRE = Môi trường chạy thi hành Java

  • Theo IDE blog này, đây là phiên bản rút gọn cực kỳ hạn chế của OpenJDK, đây là phiên bản duy nhất có sẵn cho ARM, theo blog này mà không thể làm mẹ đẻ Java Windowing apps như Swing hoặc JavaBeans vì lý do đơn giản rằng phiên bản của Java Runtime Environment là rất khác nhau dành cho Android, và tối ưu hóa cao cho các bộ xử lý bản địa.

Ngoài ra, DalvikVM không biết gì về Swing, JavaBeans, v.v ... do đó tại sao nó đi theo một cách nào đó để giải thích rằng Java trên máy tính để bàn không giống với Java trên Android.

Đối với quan điểm rằng Android rất giống với Linux, thì quan điểm của tôi là, đây không phải là Linux, hạt nhân là linux, nhưng các công cụ đất người dùng được cung cấp bởi busybox , hơn nữa, C chạy tự nhiên thư viện thời gian trong Android được gọi là bionic và bị giới hạn do các bộ xử lý nhỏ như ARM. Khi so sánh với phiên bản Linux dành cho máy tính để bàn, có thư viện thời gian chạy được cung cấp bởi gcc - Thư viện GNU C hay thường được gọi là glibc - hỗ trợ nhiều đặc điểm riêng của C / C ++ như STL, Boost, xử lý ngoại lệ hoàn toàn. Đó là quan điểm của tôi và tách biệt với chủ đề và đi lạc khỏi con đường bị đánh đập ở đây. :)


Hệ thống công ty cần java và tôi không thể làm gì về điều đó. Điều duy nhất tôi có thể làm là cấu hình máy tính bảng Android. Điều tôi không hiểu hoàn toàn là tại sao một trình duyệt nguồn mở cộng với jre không thể được tạo ra để hoạt động trên máy tính bảng Android.
felix

1
Trình duyệt không hỗ trợ chạy các applet Java trong chính nó. JRE! = Thời gian chạy Java của Android hay còn gọi là DalvikVM. Máy tính để bàn Java sử dụng JavaVM như được xác nhận bởi Sun / Oracle và OpenJava JDK ...
t0mm13b

Đúng. Tôi không hiểu tại sao openjava jdk không thể được biên dịch và cài đặt để chạy trong Android. Có lẽ tôi đã quá lạc quan khi xem android giống như linux đến mức nào?
felix

Thật thú vị, có terminal-ide.com chứa trình biên dịch java.
felix

1
Tôi đánh giá cao sự đi lạc khỏi con đường, cảm ơn! Bây giờ tôi càng bị thuyết phục rằng điều đó hoàn toàn có thể, chỉ là chưa có ai thực hiện công việc cấu hình và biên dịch. Tôi nên thêm rằng tôi biết dalvikvm bản địa là không liên quan. Câu hỏi của tôi không bao giờ về điều đó. Đó là về một người nào đó biên dịch jre cho máy tính để bàn cho Android. Tôi nghĩ đã có phiên bản ARM. Không phải là một Android.
felix

2

Gần nhất tôi tìm thấy là http://www.apogee.com/products/cjre-a

Thật không may như đã nêu trên trang đó:

Lưu ý rằng Apogee tạm thời đình chỉ phát triển thêm CJREs + A vào tháng 6 năm 2012, do không đủ nhu cầu cho họ. Vui lòng liên hệ với Apogee nếu bạn quan tâm đến CJRE + A được nhắm mục tiêu vào thiết bị chạy Android mà bạn chọn để phân phối "âm lượng" cho khách hàng và / hoặc các bên thứ ba khác.

... và không thể tìm thấy bản tải xuống / bản demo.

Lấy từ trang sản phẩm của họ http://www.apogee.com/products nghe có vẻ như đó là một điều tuyệt vời để có:

CJRE + A - The CJRE cho Android Android phù hợp cho các thiết bị chạy Android v4.x trở lên, cần thực thi các ứng dụng Java SE 5 và SE 6 ngoài việc thực thi các ứng dụng Android.

Chúng ta vẫn có thể mơ. Tôi đã không liên lạc với họ. Tôi biết nhiều công ty đang tìm kiếm chức năng này. Tôi không thể tưởng tượng nó sẽ giảm quá nhanh (hoặc nói chậm hơn flash)?

Tôi chưa liên hệ với Apogee, có thể đáng để thử ... Nếu bất cứ ai tìm thấy giải pháp, vui lòng cập nhật cho chúng tôi! Cảm ơn.


1

Android vẫn không hỗ trợ các applet Java, cũng như không có công việc chính.

Java trong Android không phải là Java thực - nó là phiên bản được viết tùy chỉnh của Google. Các ứng dụng Android có thể được viết bằng Java, nhưng chúng được chuyển đổi thành Dalvik tại thời điểm biên dịch.

Như vậy, sẽ không thể phát triển một trình duyệt có khả năng tương thích với các Ứng dụng Java.


Có lý do tại sao các trình duyệt bên thứ 3 không thể bao gồm hỗ trợ cho các plugin java không? Tôi nhận thấy rằng m0rtadelo tại stackoverflow.com/questions/2433338/ thật sự tuyên bố rằng nó đã làm cho nó hoạt động! Tôi thực sự chỉ quan tâm đến việc làm cho nó hoạt động trên máy tính bảng nếu điều đó làm cho bất kỳ sự khác biệt.
felix

1
@Felix vì Android không có trong hệ thống. m0rtadelo đã chạy toàn bộ HĐH bên trong thiết bị của họ và đó là cách họ làm cho nó hoạt động.
Liam W

OK .. Tôi không ngại làm điều đó trên máy tính bảng của mình như một cách giải quyết nếu nó không nguy hiểm và đó là lựa chọn duy nhất. Có lẽ đó là một câu hỏi riêng biệt.
felix

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.