web-dev-qa-db-ja.com

AndroidでのPython)の制限は何ですか?

Android開発を開始するため、言語を選択する必要があります。Pythonは知っていますが、Javaを学ぶ必要があります。 Python on Android=を使用している人から知ってください。また、Javaに勝る利点はありますか?

27
Dave K

私は同様の理由でこれを最近調査しました。私の結論は、私がPythonを使用してネイティブに見えるアプリケーションを開発することはできないということでした。

  • PythonはJava UIクラスからコールバックを受信できないため、ネイティブのJava ListViewなどのUI要素は使用できません。ダイアログボックスのみゲームなどの完全にカスタムなUIがある場合は、 PyGame for Android を試すか、PyGameを使用する Kivy を確認できます。 。

  • Pythonアプリケーションのパッケージ化は、特にPythonインタプリタがAndroidにデフォルトで含まれていないため、非常に困難です。そしてPyGameチームはこれに関して断続的な進歩を遂げています。

  • 前述の問題のため、Pythonは、本質的にアプリストアで公開される本格的なアプリケーションの作成には使用されないため、SL4A(Scripting Layer For Android)のさまざまな雑多な問題を処理する方法に関する文献は)は非常に薄いです。

したがって、ネイティブUI要素を使用するアプリケーションを作成する場合、実際にPlayストアで配布できる場合、またはその両方の場合、Pythonは残念ながらオプションではありません。

16

Andrewが述べたポイントのほとんどは、pythonは、GooglePlayやiOSで公開されている本格的なアプリで使用でき、使用できることです。他のフレームワークについて話すことはできませんが、以下は、Kivyを使用して公開されたアプリの例です。

  1. プロセスクラフト Google PlayiOS
  2. ファンタジーウォーハンマー
  3. PreseMTはマルチタッチプレゼンテーションメーカーです
  4. メモロボット
  5. グラウンドトゥルース
  6. カレイドスコープ
  7. Kivyプロジェクトのショーケースデモ例
  8. DefelectTouchゲーム iOS
  9. Bargenius などなど...

梱包については、できる限りシンプルにするよう努めましたが、

  • ビルド済み [〜#〜] vm [〜#〜] これを使用してapkを作成すると、プロジェクトディレクトリをコピーして1つのコマンドを実行する以外は何もする必要がありません。

GUIでは、はい、UIはデフォルトでカスタムです(AndroidのHoloテーマに一致させようとします)。ただし、私は個人的には試していませんが、他のルックアンドフィールに似せるようにカスタマイズできます。

ああ、人がAndroid上のpythonベースのアプリについて話している限り、私はこのプロジェクトがstackoverflow PyMob で言及されていることを発見しました apps ページいくつかの興味深いアプリについて言及しています。

25
qua-non

私はAndroid Pythonでコード化されたアプリを開発しました。欠点:

  1. これまでのところ、ユーザーはインタープリターもダウンロードする必要がありますが、すぐにダウンロードするように求められます。 (更新:以下のコメントを参照してください。)
  2. スクリプトが適切に終了しないため、この問題が発生した場合にgoto:Settings:Apps:ForceCloseを要求するwebViewページを含めます。
4
Diamond Dave