【Android】SQLiteのデータベースを削除する

SQLliteのDatabaseをTable名を変更するために、Table削除、作成を行うよりDatabase削除をした方が簡単なので、Databaseを削除しようと思ったので、その備忘録です。

SQLliteのDatabaseは、/data/data/[アプリのパッケージ名]/databasesに在ります。
そして、Database削除を行うためには、そこにある2つのファイルを削除します。
「作成したDB名.db」と「作成したDB名.db-journal」です。

rm 作成したDB名.db*

※journalは消さなくてもいいかも?私は消しちゃいました。

ちなみに、adb shell で接続してもそのままのユーザ権限では、/data以下のファイルやディレクトリを表示できませんでした。
なので、su root して、root権限を取得して削除しました。
※他にも方法があるかもしれませんが、思いつかなかったので。。。

以上、SQLiteのデータベースを削除するでした。

【Android】別(呼び出し元)タスクの画面のオブジェクトへのfindViewByIdが未定義となる

メインスレッドからネットワーク処理ができないことで、HTTP通信を別タスクにしました。
サーバ処理結果を呼び出し元の画面に表示の際に、findViewByIdを使用したところ、未定義ですとなりエラーになってしまいました。

なぜか理解できませんでしたが、参照できていないんだろうと。。。。

そこでググったところ、AsyncHttpRequestを作る際に呼び出し元のActivityをとっておいて、その利用すれば良いことがわかりました。

private Activity mainActivity;
public AsyncHttpRequest(Activity activity) {
this.mainActivity = activity;
}

@Override
protected void onPostExecute(String result) {
TextView textview1 = (TextView)mainActivity.findViewById(R.id.textvew_result);
textview1.setText(result);
}

のような感じで正常に表示されるようになりました。
以上、簡単なことでしたが、備忘録まで。

【Android】httpClient.execute()で異常終了

AndroidからHTTP通信でサーバへデータを送信し、結果を受け取るプログラムを書いていたところ、httpClient.execute()を実施したところで異常終了を起こしてしまいました。
NetworkOnMainThreadExceptionというエラーが発生してしまうためでした。

ググったところ、Android3.0以上では メインスレッドからネットワーク処理を行うことを許していないらしい・・・ということが書かれていました。

そこで、AsyncTask・・・doInBackground()を使って、別タスクでhttpClient.execute()を行ったところ、正常に通信できるようになりました。
Android開発は初めて間もないので、変なところで詰まってしまします^^;

とりあえず、備忘録まで。

【nfcpy】ダウンロードができない。。。対応

nfcpyをbzrでダウンロードしようとしたところ、エラーになってしまいました。
しばらく経つと完全に忘れて同じことを繰り返しそうなので、とりあえず備忘録を残しておくことに。。。。

>C:\Python26\Scripts>bzr branch lp:nfcpy
>Value “C:\Python26\cacert.pem” is not valid for “ssl.ca_certs”
>No valid trusted SSL CA certificates file set. See ‘bzr help ssl.ca_certs’ for m
>ore information on setting trusted CAs.
>
>See `bzr help ssl.ca_certs` for how to specify trusted CAcertificates.
>Pass -Ossl.cert_reqs=none to disable certificate verification entirely.
>
>bzr: ERROR: _ssl.c:319: No root certificates specified for verification of other
>-side certificates.

SSLの証明書?はて?困った。。。。となってしましました。
どうしたものかと思っていると、「Pass -Ossl.cert_reqs=none to disable certificate verification entirely」とありましたので、
早速試してみした。

bzr branch lp:nfcpy -Ossl.cert_reqs=none (えいやーEnter!)

ファイルのダウンロードが始まりました^^ めでたしめでたし^^!

でも、まだやりたいことの先が見えないので、、、そうめでたくもないか。。。

【Android】ADBをTCPIP(Wifi)で接続する

NFCリーダーを使用した開発をしている場合など、ADBをUSB接続で行っていると、何かと不便です。
そこで、ADBをWifiを使用してTCPIPで接続すれば、NFCリーダーもUSBハブなどを介さずそのまま接続できます。

deviceが複数ある場合は、deviceを選択してから実施することになると思いますが、1つしかない場合は、以下の手順でいけます。
1)USBで接続
2)adb devicesで確認
3)adb tcpip 5555
 ポート番号5555はデフォルト値みたいですが、私は他のポート番号で接続しています。
4)adb connect xxx.xxx.xxx.xxx:5555
 5555で接続すると5555:5555となるので、5555の場合は要らないかも。。。
 予め、タブレットのIPアドレスを確認しておくこと。
5)adb devicesで確認
6)USBを切離し

※タブレットがスリープになると接続が切れるらしいです。
やったことはないのですが、その場合は、多分再度4)のconnectから接続してあげる必要があると思います。

※追記(2013/11/21)
手持ちのタブレットでconnectしたのち、USBを切り離すとTCPIP(Wifi)経由の接続も切れてしまうものが発生。
USBを切離し後にconnectすると接続できない。。。
原因はわかりませんが、全部が全部できないみたいです。
ちなみに、Android4.2.2で発生しました。

ADB Wirelessというアプリで上のタブレットも無事にTCPIP(Wifi)で接続できました。(root権限が必要です)

以上

【Android】AD702のADB接続

マウスコンピュータのAD702をADB接続する際の「android_winusb.inf」用のインターフェース記述の備忘録です。
(他の開発マシンに設定する際の備忘録です。)

;AD702
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED&MI_01

「adb_usb.ini」への追加は「PLOYER / momo9 III」と同じベンダーIDだったので今回は編集していません。

以上

【Android】momo9 IIIのADB接続

中華PADの「PLOYER / momo9 III」をADB接続する際の「android_winusb.inf」用のインターフェース記述の備忘録です。

;momo-9 3
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0003
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0003&MI_01

「adb_usb.ini」への追加はしなくても接続できたので今回は編集していません。

以上

【Android】Log.dでログが表示されない

ある開発PCでLog.dでログが出力されないままでした。
AndroidManifest.xmlのdebuggerbleはtrue設定しています。

そこでググったところ、Platform-toolsのパスを追加すれば幸せになるとの記述が有ったので実施しました。
追加後、eclipseを再起動して確認したところ正常に表示されました。

以上、備忘録まで

【Android】eclipseで外部jarをlibsへ配置するには

eclipseで外部jarをlibsへ配置するには。。。
どうやって実施すれば良いのか、わかっていませんでしたが、なんとなくこれでOKというのを発見しました。

今までは、どうやってインポートするのかなぁ?と思いつつ、いろいろ試してもlibs配下に入らず、余所のフォルダに入ったり、展開されて入ったりしていました。
しかし、サンプルソースとかを見ると、ちゃんとLibsに入っているので、どうやるんだろうと??思っていました。

そこで、試行錯誤で試してみたところ、
PCのエクスプローラーからファイルをドラッグして、libsに落としてやると実現できました。
こんな簡単なことに気が付かなかったとは、、、、

以上、備忘録まで

【Android】Ainol Novo7 Venusのドライバ切り替えの備忘録

Ainol Novo7 Venusのドライバ切り替えの個人用備忘録

一台のPCを常はandroidアプリ開発として、ごくたまにファームウェアのアップデートで使用します。
ファームウェアのアップデートを行う時に、ドライバを切り替える必要があるので、その備忘録。

eclipseで実機デバッグを行うためには、
  「Android Composite ADB Interface」をインストール
  「android\sdk\extras\google\usb_driver\android_winusb.inf」を使用

ファームウェアのアップデートを行うためには、
  「Actions USB 2.0 (HS) WinUSB Device」をインストール
  「Hero 4 nuclear upgrade tool\Driver\AdfuWinUsb.inf」を使用
  ※最新版ダウンロードでは適宜追加が必要
    AdfuWinUsb.inf内の[Actions] 、[Actions.NTx86] 、[Actions.NTamd64] に
    %USB\VID_10D6&PID_0C02&MI_01.DeviceDesc%=WINUSB_DEV, USB\VID_10D6&PID_0C02&MI_01
    最後の[Strings] 部分にも
    USB\VID_10D6&PID_0C02&MI_01.DeviceDesc = “Actions USB 2.0 (HS) WinUSB Device”

以上