この記事では、Android向けの本格的なPythonアプリケーションを作成する方法についてお話したいと思います。 いいえ、これはsl4aのスクリプトを作成するための別のマニュアルではありません。これはUIを備えた本格的なアプリケーションを作成するためのマニュアルであり、apkをビルドしてAndroidマーケットに配置する機能です。 同時に、google.playでの最初のアプリケーションを自慢したいと思います。これは、こんにちは世界ではなく、写真家にとっては便利なアプリケーションですが、それはあまり専門的ではありません。
おそらく、アプリケーション自体からストーリーを開始し、それがどのように行われたかについてのストーリーを終了するでしょう。
isortViewer
写真家として、写真の分類と選択に多くの時間を費やさなければなりません。 ノートパソコン、スマートフォン、タブレットを手元に置いているときは、常に稼働しているコンピューターに座っている必要はありませんが、数十ギガバイトの生またはjpegファイルをそこにコピーしてから、稼働しているコンピューターと同期するのは疑わしい喜びです。 そのため、プログラムisortManagerとisortViewerを作成しました。これにより、写真の並べ替えと選択が非常に容易になりました。 今、私は
説明とスクリーンショットのコピーと貼り付け:
isortViewerは、Androidスマートフォンやタブレットでの写真撮影から数千枚の写真(rawまたはjpg)をすばやく簡単に選択して並べ替えることができる写真家向けのプログラムです。 この場合、数十ギガバイトのjpgまたはrawファイルをデバイスにコピーする必要はありません。 お使いのコンピューターに無料のisortManagerプログラムを使用するだけで、1つの小さなプロジェクトファイルにすべてが保存されます。
1. 公式サイトからisortManagerをダウンロードして実行します 。
2.プロジェクトを作成し、写真付きのフォルダーを追加します。 サポートされる形式:jpgおよびraw(cr2、nef、orfなど)。 その結果、小さなプロジェクトファイル(jpg形式またはraw形式のいずれであっても、数千枚の写真に対して約150 MB)が得られます。
3.プロジェクトファイルをAndroidデバイスにコピーし、isortViewerで開きます。 写真に「削除用」のマークを付けたり、1〜5つ星の評価を付けたりできます。
4.その後、プロジェクトファイルをコピーして、変更をisortManagerに適用します。 選択した写真の削除に加えて、選択した写真をコピーまたは移動できます。 たとえば、「5つ星」の写真は「傑作」フォルダーにコピーでき、「1つ星」は「ジャンク」フォルダーに移動できます。
アプリケーションは完全に無料でgoogle.playで利用できますが、寄付は大歓迎です。
ソースは公式ウェブサイトで入手可能です!
どうだった
isortManager
isortManager for PCには問題はありませんでした。Windows用のGUIアセンブリの作成は長い間実行されていて、非常に簡単に動作します。 彼は、写真やメタデータ(写真へのフルパス、「削除」マーク、評価マーク)を保存するためのコンテナを使って独自のウェイトリップを発明しました。たとえば、zip形式やtar形式では、すべてのファイル。 ファイルは、ファイルの先頭のオフセットが保存され、ファイルの最後にメタデータブロックのサイズが書き込まれます。 GUIはTkinterで記述されています(記述の速度と最終アセンブリのサイズが小さいことから気に入っています)。スクリーンショット自体は次のとおりです。
はい、すべてLinuxで動作し、Windowsよりも高速です)
isortViewer for Android
合計で、Pythonアプリケーションを本格的なAndroidアプリケーションとして機能させる2つの方法を見つけました。これは、Androidおよびkivyプロジェクト用のpygameです。
Pygameは下位レベルであり、すべてのUIを手動で描画する必要があり、これには多くの時間を要したため、kivyフレームワークが選択されました。 だから:
キビー
これは、Windows、Linux、macOS、Android、およびiOS用の優れたライティングフレームワークです。 マルチタッチがサポートされ、OpenGLを介してUIが利用できるため、ハードウェアアクセラレーションが機能するはずです。 Kivy Showcaseデモアプリケーションをインストールすると、ウィジェットの動作を確認できます。 Androidモジュールを使用すると、振動や加速度計など、プラットフォーム固有の機能を使用できます。
特にapkはこのOSに組み込まれているため、開発にはLinuxの使用をお勧めします。
Hello Worldは次のようになります。
import kivy kivy.require('1.0.6') # replace with your current kivy version ! from kivy.app import App from kivy.uix.button import Button class MyApp(App): def build(self): return Button(text='Hello World') if __name__ == '__main__': MyApp().run()
さらに、このコードは宣言されたすべてのプラットフォームで機能します。 エミュレータでアプリケーションをテストする必要はありません。 お気に入りのIDEで実行するスクリプトを実行し、コンパイルを遅らせたり、エミュレーターを起動したりすることなく、コンピューター画面で結果を確認するだけで十分です。メモリと実行。 adb logcatでデバッグできます。
PCにはないAndroidライブラリを使用しているが、Androidだけでなくアプリケーションを実行する場合は、次の構成を使用します。
try: import android except ImportError: android=None ... if android: android.vibrate(0.05)
apkの構築は非常に簡単で、 このページで説明されています。 リリースを組み立てた後、アプリケーションに署名して( このマニュアルを使用しました )、Google Playに配置するだけで十分です。
キビーの長所:
- 実質的にコードの改良なしで、さまざまなプラットフォームの迅速な開発。
- 幅広いウィジェットが利用可能
- 高速。 Cモジュールですべてのリソースを消費します。 Android上のPythonインタープリター自体はネイティブに動作します。
- フレームワークには、アニメーション、キャッシュなどの多くのツールが含まれています。
- upd:カメラ、クリップボード、マイクへのアクセス。 ビデオプレーヤーはわずか20行で記述できます。
短所:
- 大きなサイズのapkファイル。 300 kbのリソース(スクリプト、グラフィックス)を持つプロジェクトは、7 mb apkになります。 ただし、何らかの形で最適化する機会があると思います。
- 最小化後に作業を復元できない(これまで)-アプリケーションが閉じます
次回の記事では、アプリケーションをゼロから作成し、コードのすべての行を噛むプロセスについて詳しく説明します。
「アンドロイドのみのJavaの場合、Pythonは不要です」というトピックのホリバーをすぐに停止したいと思います。 どのテクノロジーが内部にあるかは問題ではないと思います。主なことは、アプリケーションが高品質であることです。
kivyの範囲は広大です。 私のアカウントには、カスタム作成されたアプリケーションがいくつかあります。ここでは、pythonがkivyフレームワークを使用して良い面を見せています。 たとえば、正確に1時間で、サービスセンターのネットワーク用のアプリケーションが作成されました。 このアプリケーションはキオスクモードで動作し、ロビーに飾られている安価な中国語のタブレットにインストールされます。 クライアントは注文番号をダイヤルし、WiFiを介してタブレットがサーバーに接続し、注文のステータスを報告します。