少しAndroid開発を始める準備をしているので、言語を選択する必要があります。私はPythonを知っていますが、Javaを学ぶ必要があります。AndroidでPythonを使用している皆さんから、制限事項について知りたいと思います。また、Javaに勝る利点はありますか?
3 に答える
Andrewが述べたポイントのほとんどは、PythonがGooglePlayやiOSで公開されている本格的なアプリである可能性があり、使用されていることを述べたかっただけです。他のフレームワークについて話すことはできませんが、Kivyを使用して公開されたアプリの例をいくつか示します。
- プロセスクラフトGooglePlayiOS
- ファンタジーウォーハンマー
- PreseMTはマルチタッチプレゼンテーションメーカーです
- メモロボット
- グラウンドトゥルース
- 万華鏡
- Kivyプロジェクトのデモ例を紹介する
- DefelectTouchゲームiOS
- バルジェニウスともっとたくさん...
パッケージングについては、可能な限りシンプルにするよう努めており、
- プロジェクトディレクトリをコピーして1つのコマンドを実行する以外に何もすることなく、apkを作成するために使用できるビルド済みのVM 。
GUIでは、はい、UIはデフォルトでカスタムです(AndroidのHoloテーマに一致しようとします)。ただし、個人的には試していませんが、他のルックアンドフィールに似せるようにカスタマイズできます。
ああ、AndroidでPythonベースのアプリについて話している限り、このプロジェクトがstackoverflow PyMobで言及されているのを見つけました。彼らのアプリのページでは、いくつかの興味深いアプリについて言及しています。
私は最近、同様の理由でこれを調査しました。私の結論は、Pythonを使用してネイティブに見えるアプリケーションを開発することはできなかったということでした。これは、当時私が望んでいたことです。具体的には:
PythonはJavaUIクラスからコールバックを受信できないため、ListViewなどのネイティブJavaUI要素を使用することはできません。ダイアログボックスなどのみを簡単に使用できます。ゲームなどの完全にカスタムなUIをお持ちの場合は、Android用のPyGameを試すか、 PyGameを使用するKivyをご覧ください。
Pythonアプリケーションのパッケージ化は、特にPythonインタープリターがデフォルトでAndroidに含まれていないため、非常に困難です。KivyチームとPyGameチームは、これに関して断続的な進歩を遂げています。
前述の問題のため、Pythonは基本的にアプリストアで公開される本格的なアプリケーションを作成するために使用されることはありません。したがって、SL4A(Android用スクリプトレイヤー)で多くの雑多な問題を処理する方法に関する文献は非常に少ないです。
したがって、ネイティブUI要素を使用するアプリケーション、Playストアで実際に配布できるアプリケーション、またはその両方を作成する場合、残念ながらPythonはオプションではありません。
私はPythonでコード化されたAndroidアプリを市場で開発しました。欠点:
- これまでのところ、ユーザーはインタプリタもダウンロードする必要がありますが、すぐにダウンロードするように求められます。(更新:以下のコメントを参照してください。)
- スクリプトが正しく終了しないため、この問題が発生した場合にgoto:Settings:Apps:ForceCloseを実行するように求めるwebViewページを含めます。