「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


Google Play の残高 で LINEスタンプ を買う方法

 

Google Play の残高でLINEスタンプを買いましたがややこしかったので。

 

「GooglePlay残高」の確認

アプリを探したりインストールする「Playストア」から。

Playストアを開く

左上メニューから「お支払い方法」

無駄に 1720円 あります。

Google アンケート モニター - Google Play のアプリ

これでスタンプ買います。

 

LINEのややこしさ

LINE内の通貨的なものがいくつかあります。

「LINEクレジット」
「LINEコイン」
「LINE Pay」
「LINEプリペイドカード」
「LINEギフトコード」
「LINE ボーナスコイン」

全部調べるのも面倒です。

あくまで

「Playストア残高でLINEスタンプを買う」

ということで進みます。

 

「GooglePlay残高」 → 「LINEコイン」

「GooglePlay残高」

で買えるのは

「LINEコイン」

だけ(?)のようです。

LINEアプリの「設定」から「コイン」。

右上の「チャージ」をタップ。

これで「LINEコイン」が購入できました。

 

LINEスタンプショップで探す

「ウォレット」から「スタンプショップ」。

ここから進むと「LINEコイン」で購入することができます。

しかし、日本語で検索して特定のスタンプを検索することは有名どころ人気スタンプ以外ほとんど無理です。

 

まとめ

「Google Play 残高」から「LINEスタンプ」を購入するには、

1. 「GooglePlay残高」を「LINEコイン」に変換する。
( 「設定」→ 「コイン」 )

2. LINEアプリ上の「スタンプショップ」から購入する。
( 「ウォレット」→「スタンプショップ」 )

という、ごく限定的な分かりづらい操作が必要になります。

👉 【Android 公式】正しいアプリの終了方法 ← 

 

おまけ

こういうWEBリンクから遷移した画面からでは、「LINEコイン」で購入することはできません。

https://store.line.me/stickershop/author/691565

「LINEコイン」で購入できないということは「GooglePlay残高」で購入できない、ということになります。

しかし以下リンクをスマホでクリックすると買える。

https://line.me/S/shop/sticker/author/691565


~ $ curl -I https://line.me/S/shop/sticker/author/691565
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Sat, 26 Jan 2019 06:53:40 GMT
Content-Type: text/html
Content-Length: 154
Connection: keep-alive
Location: https://store.line.me/stickershop/author/691565
Cache-Control: no-cache

「line.me」から始まるリンクをクリックでスマホLINEアプリがインテント拾って、LINEコインで購入可能。

「store.line.me」からの方はあくまでWEB向け表示でLINEコインで購入不可。



手動で行う 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