Android実機デバッグでSQLiteのデータを見る

Androidアプリの開発中、データをSQLiteに保存してSQLiteの中を見たい時があります

adb -d shellとかで見ることができますが実機でデバッグしてると権限がないとか
そのままSQLiteにつなげないとかになります

そのときは


$ (Android Studioのディレクトリ)/sdk/platform-tools/adb -d shell "run-as (アプリ名) cat /data/data/(アプリ名)/databases/(データベース名) > /sdcard/output.db"
$ (Android Studioのディレクトリ)/sdk/platform-tools/adb pull /sdcard/output.db

なんてやると、手元にSQLiteファイルが持ってこれます

Eclipseの場合も同様にできると思います

[Android Studio]AndroidManifest.xml does’nt exist..の回避方法

Android Studio 0.8.9を使っていてProjectをOpen、実行しようとすると
AndroidManifest.xmlがないとかエラーが
AndroidStudio-error

AndroidManifest.xmlはあるのになー、と思いましたが
プロジェクトを保存してたディレクトリを移動したんでした

いったん、Close Projectして、Import ProjectでAndroid Studioに頑張ってもらうと
直りました
(Build>Rebuild Projectもしないとだめかもしれません)

[Android]ContentProviderのinsertで投げるSQLException

AndroidのContentProviderのinsertでSQLExceptionをthrowしようと
こんなソースコードで
[java]
public Uri insert(Uri uri, ContentValues contentValues) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
long rowId = db.insert(TABLE_NAME, null, values);

if (rowId > 0) {
Uri newUri = ContentUris.withAppendedId(MyContract.CONTENT_URI, rowId);
getContext().getContentResolver().notifyChange(newUri, null);
return uri;
}
throw new SQLException("Failed to insert row into:" + uri);
}
[/java]
IDEがエラー扱えない例外..とかエラーがでるとき
importが違ったみたいです

import java.sql.SQLException;
でなくて
import android.database.SQLException;
にすると直りました

Ingressでやっとレベル8になりました

ついにレベル8!!
ingress-level8

Googleの陣取りゲームIngressを始めて2ヶ月くらいかゆるりとしてましたが
レベル8に近いことに気づいて一気にレベルあげ頑張りました
リンクがたくさんついたpotalの破壊で一気にAPゲットがおいしいです

いま反省点としては
L4以下のレゾネーターが足りない..
敵potalを破壊して奪取、レゾネーターをさすのにL4以下がないと
L8 1つL7 1つ, L6 2つ, L5 2つ で5個させません
8つさせないので、リンクが貼れず..

無駄遣いしてました(アイテム2000個以上もてないので他のは使ったほうがいい)
ここまでがチュートリルとか言われてて、これからが本番のようですがゆるりとやります
L8のレゾネーターがさせるのがうれしいです

L9に向けては、さらに倍のAP(経験値)と条件が..(HackやLinkしまくらないと..)