Qpython3 sqliteデータベースを作成しスマホで操作できるようにする

スマホでpythonプログラムが実行できる「Qpython3」を使いsqlite3のデータベースを作成し、データ登録から削除など、なんでもスマホからpythonスクリプトでできるようにします

AndroidアプリではなくQpythonを使う

スマホでsqliteを使う場合、アプリに組み込んで使うのが通常らしいですが、アプリ作成が非常にめんどくさいので(やろうと思えばたぶんできる)「Qpython」を使って、データベースを作成します。

pythonにはsqlite3モジュールが標準でついているようなので、それを読みこんでsqliteデータベースを作ることができます。と同時にデータベース登録や削除などの操作もpythonプログラムを作成してQpythonで実行させることにより、スマホでもデータベース操作を行うことができます。

Qpython3の使い方

主に使用するのはConsoleEditorになります。

以下がEditorの画面になります。ここでファイルを開いたり、新しいファイルを作成することができます。また、ファイルの実行もここでできます。

Consoleの画面はこれです↓インタラクティブな操作をすることができます。

左上にQEdit – ?と書かれています。この画面にいくにはちょっとコツがいります。この画面でファイルを保存すると「新しいファイル」として保存することができます。

まず知っておきたいのはQphthon3のカレントディレクトリについてです。画像に表示されているパス /storage/emulated/0/qpython がqpythonのカレントディレクトリになります。先ほどの画像のQEdit – ?の画面でファイルを保存すると保存場所を選べますが、それ以外の場合はScript3フォルダにファイルが保存されます。

なおこの情報は「Qpython3」の情報になります。通常のQpython(python2をサポートしている)の場合は保存されるフォルダも異なります。しかしこの2つのアプリはカレントディレクトリの場所は同じになります。

Qpython3のモジュール管理

Qpython3のモジュール管理は通常とは少しやり方が異なります。パソコンで作業をする場合、通常だとなんらかのインタラクティブシェルを起動してコマンドを入力し、モジュールをインストールするのが一般的かとは思いますが、Qpython3の場合を見ていきましょう。

Qpython3のホーム画面にいき、ハンバーガーメニューのボタンをクリックすると以下のような画面に推移しますので、ここでPIP Consoleと書かれているところをタップします。

するとPIP Consoleが立ち上がり、以下のような画面になります。

通常のpipコマンドとは少し異なります。以下のように pip3 と入力します。

pip3 install modulename

インストールされたモジュールを確認したい場合は以下のようにコマンドを入力します。

pip3 list

コーディング

コーディングはパソコンで作って、それをスマホに送る感じでよいかと思います。「Qpython3」にもエディターはついています。スマホでコーディングがやりやすいアプリは「I<code> Go」というアプリになります。

以下は当サイトのブログ記事になりますが、pykakasiやcsvからsqliteデータベースへの登録など、記事に書かれあるpythonスクリプトは全て「Qpython3」で正常に動作することを確認しました。

今回の作業ではまったこと

今回の作業でいくつかのエラーに遭遇しましたので、エラーとその解決策も書いておきます。尚、等エラーは「Qpythonが原因」のエラーではありません。pythonを使っていればよく遭遇するエラーです。

  • invalid character in identifier: 変な文字が入ってないか確認。(全角スペースなど)
  • ImportError: cannot import name ‘xxxxxx’: まずインタラクティブシェルでプログラムを実行し、問題なく動作するのであれば、モジュール名とファイル名が一緒になってないか確認してください。読み込んでいるモジュール名とファイル名が一緒だとこのエラーが発生します。

参考

当記事とは直接関係しませんが、参考文献としてリンクを貼り付けておきます。
AndroidでSQLiteのDB操作をするための基礎知識 (1/3):Androidで動く携帯Javaアプリ作成入門(6) – @IT