「Android Debug Database」で SQLite の確認・操作する方法

Android内に、

ただ、これだけのテーブルを作って、


CREATE TABLE player (
  id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  number INTEGER NOT NULL,
  name TEXT NOT NULL,
  UNIQUE (number, name)
);

これだけのデータを入れて、


[
  { "number": 1, "name": "柴田勲" },
  { "number": 2, "name": "土井正三" },
  { "number": 3, "name": "張本勲" },
  { "number": 4, "name": "王貞治" },
  { "number": 5, "name": "シピン" },
  { "number": 6, "name": "高田繁" },
  { "number": 7, "name": "河埜和正" },
  { "number": 8, "name": "福嶋智春" },
  { "number": 9, "name": "新浦壽夫" }
]

で、実際にきちんと格納されているかどうか。

みんなはどうやって見てます?

 

コード上でログで吐く

selectAll() など書いてログに出力する。

うん、見づらい。

Flip Tables で List を見やすくログに表示する

 

コマンドラインとかSQLiteBrowser

.dbファイルをPC上にコピーして、それをそれらで開く。


$ sqlite3 test.db 
SQLite version 3.24.0 2018-06-04 14:10:15
Enter ".help" for usage hints.
sqlite> select * from player;
id          number      name
----------  ----------  ----------
1           1           柴田勲
2           2           土井正三
3           3           張本勲
4           4           王貞治
5           5           シピン
6           6           高田繁
7           7           河埜和正
8           8           福嶋智春
9           9           新浦壽夫

はい、いちいちPC上にコピーするのが面倒。

 

IDEのDatabaseビューア

dbファイルパーミッションの厳格化でIDEから直接見ることはできない。

ので、いちいち、PC上にコピー。

毎回、ビューアの設定やパスの指定や同期の確認。

はい、操作多すぎ。

 

Facebook製 Stetho

Stetho - A debug bridge for Android applications

デバッグコードを多少埋め込む。


dependencies {
  compile 'com.facebook.stetho:stetho:1.5.0'
}


public class MyApplication extends Application {
  public void onCreate() {
    super.onCreate();
    Stetho.initializeWithDefaults(this);
  }
}

埋め込んだら、Chromeで開く。

chrome://inspect/#devices

なんで、ID列が2列あるんだよっ!?

リードオンリー。

 

Android Debug Database

amitshekhariitbhu/Android-Debug-Database: A library for debugging android databases and shared preferences - Make Debugging Great Again

一行のみ。


debugImplementation 'com.amitshekhar.android:debug-db:1.0.4'

ログに出力されるURLをクリック。

ブラウザに表示される。

クエリー実行や行ごとの編集もブラウザから可能。

これにしよう。

「Make Debugging Great Again」ですね!

しかし、Room で見れない。
「room」 - Issues · amitshekhariitbhu/Android-Debug-Database

 

まとめ

どうにも、「File Explorer」を使ってのファイルコピー操作がだるい。

確認のたびに、接続や同期、ファイル上書き確認が必要。

しかも、コピーするファイルって、

data/data/your-application-package/databases 以下


your-database-name
your-database-name-shm
your-database-name-wal

の3つが必要なんじゃね?

しらんけど。

SQLiteのジャーナルモード - なべ’s blog


手動で行う AndroidX へのマイグレーション

The Reality of Migrating to AndroidX

Android Studio でやるなら

[Refectering] > [Migrate To AndroidX]

ということですが。

Googleから公開されてるようです、マッピングCSVファイル。

androidx-class-mapping.csv - developer.android.com

これを使って、Danさんのスクリプトで置換すると。

Simple AndroidX Migration Script

あら、build.gradle は?

消してインポート?

「Unresolved reference: R」と出る

Macにgnu-sedをインストールする – ルク – Medium


JetBrains Toolbox で Android Studio の Stable/Beta/Canary が同時に管理できる?

これ。

The New Toolbox App 1.13 with Android Studio inside! | JetBrains Blog

Jakeも何か言っています。


JetBrains のIDEのパッケージ群を管理したり起動できるランチャーのようです。

それに、新たに AndroidStudio も使えるようになった。ということでしょうか。

インストールしてみます。



 

Toolbox Extension

そして、それをChrome上のGitHub画面から起動できるChromeエクステンションも登場しています。

JetBrains Toolbox Extension - Chrome ウェブストア

GitHubページに表示されるアイコンをクリックすると、ソースをダウンロードして、ローカルで起動しようとします。

 

Toolbox(本体)

アドビのパッケージ管理のウィジェットにも似た雰囲気です。

OS画面上部の常駐のバー(?)にアイコンが表示されるのでそれから起動します。

ローカル内のプロジェクトの選択してのIDEの起動と、それぞれのIDEパッケージのバージョン管理が可能になります。

アドビのパッケージマネージャ的なやつと思ったらいいでしょう。

Android Studio/Intellij は、複数のバージョンが並行利用できそうです。

無料です。

👉 AndroidStudio 利用する Java (JDK) の選択・設定の方法 hatena-bookmark
👉 Android Studio Chipmunk の起動時がかわいい件 


ハンガリアン記法の話でよくある反論

以下、どっちがいいか。


void setScore(int score) {

  this.score = score;

}


void setScore(int score) {

  mScore = score;

}

もう、ええわ。

ありがとうございました。

Does Android team starts to abandon Hungarian Notation? : androiddev


Pixel3を購入してどうだったのか。

そんな記事を見かけながら私も書いてみる個人的な感想。

Android フラッグシップなシリーズは以下の様に購入してきましたが。

Nexus One

Galaxy Nexus

Nexus 4

Nexus 5

Nexus 6

Pixel

Pixel 3

今、思いつく順に書いてみる。

 

値段が高い

高い。

数年で2-3倍となって約10万円。

値段ほど機能が変わった感もない。

中華でなく国産の低価格な機種とか欲しい。

 

キャリアやベンダーの無駄アプリや機能がない

良い。

差別化を図るために付加価値のつもりで付ける無駄な機能やアプリ。

一見派手さはあるが操作方法や未対応アプリやバグなどで混乱させているだけ。

開発者たちはバグの多さやクソ加減をよく知っている。

通知も静かになるし、アプリドローワもすっきり。

 

カメラの良さ

「シングルレンズながらカメラが良い。」というような記事を見かけるが素人にはいまいちピンとこない。

夜間モードはわかりやすく使えると思う。

 

モッサリ感はなくスムーズ

いつの時代も Nexus/Pixel系はその同時期端末の中での挙動は一番スムーズでなめらかで速い。

これは間違いない。

OS

対応が早いので、OSにまつわる新機能を早く使える。

「ピルボタン」が使いやすい。

Goole Chorome Cast や Air Play に対して飛ばせるキャストが便利。

YouTube のバックグラウンド・連続再生に便利に使っている。

最近は、YouTubeアプリの改変で使いづらくなったようにも思いながら混乱中。

 

バッテリー

充電が早い。

が、減るのも早いような気がする。

いろいろ設定を変えるといいのだろうが。

Qi も使えるが、コンセントから有線充電が早いのでそれをよく使っている。

 

ボディ

重い。つるつる滑る。硬い。

表面が傷がつきやすいように見えるが、傷ではなく汚れだった。

時間が経つと元に戻る。

あと、電源ボタンの色が本体に合わなくね?

 

まとめ

いざ書こうと考えてみると、まともに思い浮かばない。

結局、「OS が Pie になった」ということでしか。

使い方の変化は、いろいろ試したつもり。

→ Android Pie の使い方

その程度だったのか、Pixel3。

今後は、機能の追加でなく、

分かりやすさ

速さ

なめらかさ

長持ち

安さ

てな整理整頓なシンプル化方面に進んで欲しいです、Android。

だれも上手に使えないようなややこしい機能ばかりが増えてないか?

低価格重視の中華スマホの方向性はある意味良いと思う。

まあ、買わんけども。


Related Categories :  AndroidGoogle