Androidエミュレータから、ホストPCにある社内LANのデータベースに接続するのに
手間取ったのでメモ
・データベース:postgresql9.0
まず、エミュレータからホストPC内のpostgresは接続することはできた。
で、そのまま、ホスト名の部分を社内LANにあるDBサーバーのIPアドレスにしてみた所
DriverManager.getConnection(~ の行で
org.postgresql.util.PSQLException: The Connection attempt failed.
の例外が発生した。
ポート番号はデフォルトの5432で合っているし・・・
そういえばSQLServerでもTCP/IPを許可しないとだめだったなと思いだし、
postgresの設定を見て見る。
listen_addressは「*」となっていて、どこからの接続も許可してるみたい。
ここを細かく設定すれば、接続できるネットワークの制限が出来るのね。
次に、pg_hba.confを見て見る。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 127.0.0.1/32 md5
あれ?127.0.0.1って、ローカルだけしか許容してないぞ。 ということで
192.168.1.0/16 とかやってみる。
confをリロード後・・・ 無事エミュレータからつながった!
2010年12月17日金曜日
2010年12月15日水曜日
Androidの起動時にアプリを自動起動
Windowsのスタートアップのようなことをやるには。
①BOOT_COMPLETEDを受けるBroadCastReceiverをつくる
public void AutoStartReceiver extends BroadCastReceiver {
onReceiveメソッドをオーバーライド
②ReceiverをManifestで定義する
<receiver android:name=".AutoStartReceiver ">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android:intent.category.DEFAULT" />
</intent-filter>
</receiver>
①BOOT_COMPLETEDを受けるBroadCastReceiverをつくる
public void AutoStartReceiver extends BroadCastReceiver {
onReceiveメソッドをオーバーライド
②ReceiverをManifestで定義する
<receiver android:name=".AutoStartReceiver ">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android:intent.category.DEFAULT" />
</intent-filter>
</receiver>
非同期処理(ASyncTask)のメモ
onPreExecuteとonPostExecuteは、UIスレッド側の処理として動く。
doInBackgroundだけバックグラウンドで動く。
参考
http://blog.livedoor.jp/grs_man/archives/51636268.html
doInBackgroundだけバックグラウンドで動く。
参考
http://blog.livedoor.jp/grs_man/archives/51636268.html
2010年12月14日火曜日
今回の環境
DB PostgreSQL 9.0.1
WEB側開発 ASP.NET(.NET3.5)
ドライバ Npgsql(.net用)
WAS IIS 7.0(Vistaで検証)
WEBサービス WCFWEBサービスで作成
*手間取ったこと
・開発したWCFのデプロイ⇒ 発行でOK
・IISでWCFを動かす設定(コンパネより)
ASP.NET
.NET拡張性
ISAPI拡張
ISAPIフィルター
をインストール
.NET 3.0の中のWCFActivationをインストール(これにはまった)
2010年12月13日月曜日
2010年12月10日金曜日
Android端末の実機で開発中のアプリをデバッグ
1 端末側でUSBデバッグをON
2 PCとUSBケーブルで接続
3 ドライバをインストール
IDEOS携帯は、Mobile Partner(E:)のE:\drivers\adb_driverを指定してインストールした。
4 コマンドラインで、adb devicesとやって、List of devices attachedの下にデバイス名がでればOK。
5 ApplicationManifest.xmlを編集して、デバッグ可能(debugableをtrue)にする。
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
6 実行すると端末側でアプリが実行される。
ついでに
実機の画面キャプチャをとるには、DDMSを起動してDeviceメニューからScreenCaptureをクリック。
2 PCとUSBケーブルで接続
3 ドライバをインストール
IDEOS携帯は、Mobile Partner(E:)のE:\drivers\adb_driverを指定してインストールした。
4 コマンドラインで、adb devicesとやって、List of devices attachedの下にデバイス名がでればOK。
5 ApplicationManifest.xmlを編集して、デバッグ可能(debugableをtrue)にする。
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
6 実行すると端末側でアプリが実行される。
ついでに
実機の画面キャプチャをとるには、DDMSを起動してDeviceメニューからScreenCaptureをクリック。
AlertDialog勉強中...
まず AlertDialogを作るためのBuilderを作って
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
タイトル(っていうか表示する文字)を設定して
builder.setTitle("電話しますか?");
する場合と、しない場合のボタン表示とリスナーを設定
// 「する」場合の処理
builder.setPositiveButton("する", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
// 「しない」場合の処理
builder.setNegativeButton("しない", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
アラートダイヤログを生成して
AlertDialog dialog = builder.create();
表示
dialog.show();
で終わり。
画面遷移時にエラー(ActivityNotFoundException)
ApplicationManifest.xmlのApplicationタグの要素に
<activity android:name=".MenuActivity"></activity>
こんな感じで追加。最初にピリオドがないと落ちる。
Android DDMS起動時のエラー(SDK 2.3)
ddmsを起動しようとしたら、以下のエラーがでた。
原因:D:\android-sdk-windows\platform-toolsに adb.exeが移動していた。Failed to get the adb version: Cannot run program "adb": CreateProcess error=ここから文字化け
対処:%ANDROID_HOME%\platform-toolsにパスを通す。
参考URL:http://d.hatena.ne.jp/none53/20101209/1291850995
登録:
投稿 (Atom)