[解決済み] PythonでAndroidアプリを完全開発する方法とは?[クローズド]
質問
Play Storeで配信する(かなりシンプルな)androidアプリを開発したい。完全にpythonで行いたいと考えています。しかし、ネットで調べてもあまりピンと来ません:ほとんどのコメントが古いか(>1年前、それ以降はpythonの統合が進んでいるような気がします)、または、以下のような話ばかりです。 Pythonの実行 をアンドロイドにインストールしました(例 ここで ).
したがって、質問に関する情報を探しています。
- アプリを完全にpythonで開発することは可能ですか?また、そのためのツールは何ですか?(例えばKivyが推奨されますか?)
- もしそうなら、これを実装するために最適なソフトウェア環境は何ですか?(Android Studioを使おうとして失敗しましたが、そこでpythonのコードを実行する方法が分かりませんでした。)
私はアプリ開発のかなりの初心者で、まだ知らないJaveなどではなく、pythonで行うことの手がかりがあれば非常にありがたいのですが。
よろしくお願いします。
解決方法は?
最初の質問にお答えします。 はい、純粋なPythonでアンドロイドアプリケーションを開発することは可能です。 を使用することをお勧めします。 ビーウェア であり、これは単なる Python ツール群 これらは非常によく連動しており、パイソンでプラットフォームネイティブなアプリケーションを開発することができます。
チェックアウト この動画 BeeWareのクリエーターが、その応用を完璧に説明し、実演しています。
仕組み
PythonでAndroidアプリケーションを書きたい場合、Java Virtual Machine上でPythonのコードを実行する方法が必要です。これは、次のようなものです。 VOC が行います。 VOC Pythonのソースコードを受け取り、CPythonバイトコードにコンパイルし、そのバイトコードをJava互換のバイトコードにトランスパイルするものです。最終的には、Pythonのソースコード・ファイルはJavaの.classファイルに直接コンパイルされ、Androidアプリケーションにパッケージすることができます。
また、VOCでは、ネイティブのJavaオブジェクトをPythonオブジェクトのようにアクセスしたり、PythonクラスでJavaインターフェースを実装したり、PythonクラスでJavaクラスをサブクラス化したりすることができます。これを利用すれば、AndroidのネイティブAPIに対して直接Androidアプリケーションを記述することができます。
ネイティブのAndroidアプリケーションを書いたら、次は ブリーフケース を使用して、PythonのコードをAndroidアプリケーションとしてパッケージングします。
ブリーフケース は、Python プロジェクトをスタンドアロンのネイティブアプリケーションに変換するためのツールです。のためのプロジェクトをパッケージ化することができます。
- Mac
- ウィンドウズ
- リナックス
- iPhone/iPad
- アンドロイド
- AppleTV
- tvOSです。
あなたは、このネイティブAndroidを確認することができます チックタックトーのアプリ Pythonで書かれ、BeeWareスイートを使っています。
BeeWareツールの他に、アプリケーションをテスト実行するためにJDKとAndroid SDKがインストールされている必要があります。
良い環境とは、テキストエディタやコマンドライン、IDEなど、あなたが快適に使用できるものであれば何でもかまいません。 パイチャーム 同じ会社が作っているので、android studioと似たような環境になっています。
ご参考になれば幸いです。
関連
-
[解決済み】getCheckedRadioButtonId()が無駄なintを返す?
-
[解決済み】googleコンソールエラー`OR-IEH-01`について
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Edit Textのandroid:ems属性とは何ですか?[重複しています]
-
[解決済み】コンテンツには、id属性が「android.R.id.list」であるListViewが必要です。
-
[解決済み】Android Studioです。「プロジェクトが C ドライブに作成されている場合、「タスク ':app:mergeDebugResources' の実行に失敗しました。
-
[解決済み】Android Studio 3.2 - com.android.tools.build:aapt2:3.2.0-4818971 を見つけられませんでした。
-
[解決済み】'dependencies' を '(groovy.lang.Closure)' に適用できない。)
-
[解決済み】アクティビティにない場所でのgetLayoutInflater()の呼び出し
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] Android: @drawable/picture を drawable に変換するのに失敗しました。
-
[解決済み] setBackgroundDrawable() 非推奨