Tôi đang sẵn sàng để bắt đầu một chút phát triển Android và cần phải chọn một ngôn ngữ. Tôi biết Python nhưng sẽ phải học Java. Tôi muốn biết từ những người bạn của những người đang sử dụng Python trên Android những hạn chế là gì. Ngoài ra, có bất kỳ lợi ích nào trên Java không?Những hạn chế của Python trên Android là gì?
Trả lời
Tôi đã điều tra điều này gần đây vì những lý do tương tự. Kết luận của tôi là tôi không thể sử dụng Python để phát triển một ứng dụng tìm kiếm bản địa, đó là những gì tôi muốn vào thời điểm đó. Cụ thể:
Python không thể nhận cuộc gọi lại từ lớp UI của Java, do đó bạn không thể sử dụng bất kỳ phần tử giao diện người dùng Java nào như ListView, v.v. Nếu bạn có giao diện người dùng hoàn toàn tùy chỉnh như trò chơi, bạn có thể thử PyGame for Android hoặc bạn có thể xem Kivy, cũng sử dụng PyGame.
Việc đóng gói các ứng dụng Python là rất khó khăn, đặc biệt là do trình thông dịch Python không được đưa vào Android theo mặc định. Các đội Kivy và PyGame đang thực hiện một số tiến bộ liên tục về vấn đề này. Về cơ bản, Python về cơ bản không bao giờ được sử dụng để tạo ra các ứng dụng chính thức được xuất bản trong kho ứng dụng, và vì vậy tài liệu về cách xử lý nhiều vấn đề lặt vặt với SL4A (Scripting Layer For Android) là rất mỏng .
Vì vậy, nếu bạn muốn tạo ứng dụng sử dụng phần tử giao diện người dùng gốc, bạn thực sự có thể phân phối trong Cửa hàng Play hoặc cả hai, Python đáng tiếc không phải là một tùy chọn.
Bạn có thể đóng gói cho Cửa hàng Play và bạn có thể xây dựng GUI bằng cách sử dụng các bản xem trước web và mọi nội dung HTML5. jQuery Mobile UI hoạt động tốt cho các công cụ đơn giản. Tôi có một ứng dụng dựa trên jQuery Mobile và Python được đóng gói dưới dạng APK có thể cài đặt, với người phiên dịch và tất cả phần còn lại của nó được bao gồm. Đó là một cú nhấp chuột cài đặt từ Play. –
@CarlSmith Cảm ơn bạn đã tip. Bạn dùng cái gì để gói bộ thông dịch? Người dùng của bạn có phải cài đặt gói SL4A không? –
Tôi đã sử dụng mã từ dự án này (http://code.google.com/p/android-python27/) và đi từ đó. Nó cung cấp cho bạn tất cả các móc bạn cần, nhưng đó là một quy trình làm việc tồi tệ cho đến khi bạn thiết lập mọi thứ. Bạn không cần Eclipse, nhưng tốt nhất nên sử dụng nó lúc đầu và xem nó phù hợp với nhau như thế nào. –
Hầu hết các điểm được đề cập bởi Andrew đứng, tôi chỉ muốn đề cập đến rằng python có thể được và được sử dụng cho các ứng dụng chính thức được xuất bản trên GooglePlay và thậm chí cả iOS. Tôi không thể nói cho các khung công tác khác nhưng dưới đây là một số ví dụ về Ứng dụng được xuất bản bằng Kivy.
- Process Craft Google PlayiOS
- Fantasy War hammer
- PreseMT is a multitouch presentation maker
- Memo robots
- Ground Truth
- Kaleidoscope
- Showcase demo example from Kivy project
- DefelectTouch trò chơi iOS
- Bargenius và nhiều hơn nữa ...
Mở bao bì, chúng tôi đã cố gắng để làm cho nó càng đơn giản càng tốt, chúng tôi cũng cung cấp
- Một pre-built VM có thể được được sử dụng để làm cho apk của bạn với bạn không phải làm gì ngoại trừ việc sao chép thư mục dự án của bạn và chạy một lệnh.
Trên GUI, có tùy chọn mặc định là ui (cố gắng khớp với chủ đề Holo của Android). Tuy nhiên nó có thể được tùy chỉnh để trông giống với giao diện khác, mặc dù tôi đã không thử nó cá nhân.
Oh và miễn là người ta đang nói về ứng dụng dựa trên python trên Android, tôi thấy dự án này được đề cập trên stackoverflow PyMob, trang apps của họ đề cập đến một số ứng dụng thú vị.
Tôi đã phát triển Ứng dụng Android trên thị trường, được mã hóa bằng Python. Nhược điểm:
- Cho đến nay người dùng của tôi cũng phải tải xuống thông dịch viên, nhưng họ ngay lập tức được nhắc làm như vậy. (UPDATE: Xem bình luận dưới đây.)
- Kịch bản không thoát đúng cách, vì vậy tôi bao gồm một trang webView yêu cầu họ goto: Cài đặt: Ứng dụng: ForceClose nếu vấn đề này xảy ra.
Tôi đã chuyển TẤT CẢ các ứng dụng sl4a của mình sang nhật thực apk, nó nhúng với trình thông dịch python, không cần phải cài đặt bất cứ thứ gì ngoài ứng dụng tắt google play! A) Mắt Android (Tầm nhìn máy tính), chụp ảnh và cho bạn biết đó là gì (Nhận dạng đối tượng): https://play.google.com/store/apps/details?id=com.androideye.androideye B) Xem Say (OCR) Picture to Speach, cho người khiếm thị. Bạn theo nghĩa đen có thể đọc sách: https://play.google.com/store/apps/details?id=com.seesay.seesay D) Kiểm tra IQ tiêu chuẩn (dựa trên Stanfod-Binet): https : //play.google.com/store/apps/details? id = com.iqtest.iqtest –
Bạn có thể bắt đầu với chuỗi này: http://stackoverflow.com/questions/3346970/starting-with-android-java-or-python-sl4a – Tarik
Liên kết đẹp dorian. Cảm ơn vì nó. – NlightNFotis
Cảm ơn bạn đã liên kết. Nó tốt nhưng hai tuổi. –