【なっちゃってスマホ】スマホ購入

Huawei GS03を手に入れました。
価格は、消費税込みの12,960円。
割と安く手に入りました。

SIMフリーのスマホが手に入ったので、安心してMVNOのSIMの契約をネットで申し込みました。
フリーSIMは予定通りDTIの「ServersMan SIM LTE」です。
数日で来ると思います。

このSIMは、LTEと3Gのどちらでもサポートしているので、WCDMAの2100MhzのFomaエリアでつながる予定です。
ネットで検索しても繋がっているとの掲載も多いので間違いないと思います。
届くのが、楽しみです^^

なんちゃってスマホ

最近、イオンのスマホのようにかなり安いスマホが出回ってきていますね。
私は個人的にスマホですることが余り無い(LINEとかしない)ので、ガラケーで十分だったのですが、維持費が安いのなら考慮する価値が有るように思えてきました。

そこで、SIMフリーのスマホを購入し、フリーSIMを契約して、どんな感じになるか試してみたいと思っています。
ちなみに、フリーSIMは、今のところ一番安いDTIの「ServersMan SIM LTE」を使おうと考えています。
ServersMan SIM LTEは、Xi®網、FOMA®網対応で全国どこでもご利用可能となっていますので、使用できるスマホはWCDMA 2100MHzか、LTEが可能な
ものになります。LTE対応のスマホは高そうなので、とりあえずはWCDMAだけを対象に考えたいと思っています。
海外スマホも考えたいのですが、電波法のことも有るので、とりあえず国内で流通しているものでHuawei GS03当たりを考えています。

購入したら続きを書きたいと思います。

【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を再起動して確認したところ正常に表示されました。

以上、備忘録まで