2012-07-22 38 views
26

我準備好開始一點Android開發,並且需要選擇一種語言。我知道Python,但必須學習Java。我想從您的那些人那裏知道在Android上使用Python的限制是什麼。另外,是否有比Java更多的好處?Python在Android上的侷限性是什麼?

+1

你可以從這個線程開始:http://stackoverflow.com/questions/3346970/starting-with-android-java-or-python-sl4a – Tarik 2012-07-22 12:47:22

+0

尼斯鏈接dorian。謝謝你。 – NlightNFotis 2012-07-22 14:56:58

+0

感謝您的鏈接。這很好,但兩歲。 – 2012-07-22 15:46:51

回答

16

我最近因爲類似的原因調查了這個。我的結論是,我不能用Python開發一個本地外觀應用程序,這正是我當時想要的。具體做法是:

  • Python不能從Java UI類接收回調,所以你不能使用任何本地Java UI元素,如ListView控件,等等。只有對話框等容易獲得。如果你有一個完全自定義的用戶界面,比如遊戲,你可以試試PyGame for Android,或者你可以看Kivy,它也使用PyGame。

  • Python應用程序的封裝非常困難,特別是因爲Python解釋器默認不包含在Android中。 Kivy和PyGame團隊正在此間歇性地取得進展。

  • 由於上述問題,Python本質上從未用於製作應用商店中發佈的完整應用程序,因此有關如何處理SL4A(Scripting Layer For Android)許多雜項問題的文獻非常薄弱。

所以,如果你想使用原生UI元素,你實際上可以分佈在Play商店,或兩者的應用程序,Python是令人遺憾的是沒有一個選項。

+2

您可以打包Play商店,並且可以使用網頁瀏覽和任何HTML5內容來構建GUI。 jQuery Mobile UI適用於簡單的東西。我有一個基於jQuery Mobile和Python的應用程序,打包爲可安裝的APK,包含解釋器和其餘所有內容。這是Play的一鍵安裝。 – 2013-02-07 02:18:13

+0

@CarlSmith謝謝你的提示。你用什麼來捆綁翻譯?你的用戶是否必須安裝SL4A軟件包? – 2013-02-07 03:57:05

+0

我使用了這個項目的代碼(http://code.google.com/p/android-python27/)並從那裏開始。它爲您提供了所需的所有鉤子,但在您完成設置之前,這只是一個糟糕的工作流程。你不需要Eclipse,但最好先使用它,看看它是如何組合在一起的。 – 2013-02-10 00:13:48

23

安德魯提到的大部分觀點,我只是想提一提,python可以被用來發布在GooglePlay甚至iOS上的完整應用。我不能說其他框架,但以下是使用Kivy發佈的應用程序的一些示例。

  1. 加工工藝Google PlayiOS
  2. Fantasy War hammer
  3. PreseMT is a multitouch presentation maker
  4. Memo robots
  5. Ground Truth
  6. Kaleidoscope
  7. Showcase demo example from Kivy project
  8. DefelectTouch遊戲iOS
  9. Bargenius還有更多...

在包裝上,我們試圖使它儘可能簡單,我們還提供

  • 預建VM,可以是用於使你的apk與你不必做任何事情,除了 複製你的項目目錄並運行一個命令。

在GUI上,是的,用戶界面默認是自定義的(嘗試匹配Android的Holo主題)。然而,它可以定製爲類似於其他外觀和感覺,儘管我沒有親自嘗試。

哦,只要有人在談論Android上的基於python的應用程序,我發現這個項目在stackoverflow上提到PyMob,他們的apps頁面提到了一些有趣的應用程序。

4

我已經開發出市場上使用Python編碼的Android應用程序。缺點:

  1. 到目前爲止我的用戶還必須下載解釋器,但他們會立即提示這樣做。 (更新:請參閱下面的註釋。)
  2. 腳本無法正常退出,因此我添加了一個webView頁面,要求他們轉到:Settings:Apps:ForceClose(如果發生此問題)。
+5

我已經移植了所有我的sl4a應用程序eclipse apk,它嵌入python解釋器,不需要安裝任何應用程序,除了谷歌播放! A)Android Eye(計算機視覺),拍攝照片並告訴你它是什麼(物體識別): https://play.google.com/store/apps/details?id=com.androideye.androideye B)請參閱Say(OCR)Picture to Speach,供視障人士使用。你可以從字面上讀它的書: https://play.google.com/store/apps/details?id=com.seesay.seesay D)標準化的智商測試(基於Stanfod-Binet): https ://play.google.com/store/apps/details ID = com.iqtest.iqtest – 2012-10-15 08:21:05