2009-09-27
androidのservice
andoroidでサービスを使う場合は
バインドを使う方法とIntentを利用する方法がありますが、
バインドを使う方法で、サービスのメソッドをActivityのOnResumeやOnCreateで
呼び出すとヌルポが出る。
(サービスをバインドするには時間がかかってしまうため)
とりあえずOnResumeで呼び出したい場合は、
インテントでサービスを起動しよう。
もし、サービスからコールバックが必要な場合はインテントで起動する前に
バインドすればOK
2009-09-16
Ubuntuのmysqlに外部から接続
開発環境として、ホストOSにWindows、VirtualBoxにUbuntuをインストールしている状態で
WindowsからゲストOSのUbuntuのmysqlにログインするためのメモ。
1:まずはVirtualBoxの設定のネットワークでブリッジを選択
(デフォルトはNATですが、これだとホストとゲストが通信できません)
2:UbuntuのIPアドレスを確認後、PINGなどで通信できるか確認
3:Ubuntuにmysqlをインストール(ついでにRubyの接続用も。)
sudo apt-get install mysql-server mysql-client libmysqlclient15-dev -y
4:mysqlのデフォルトのポートが3306なので、iptables -Lでポートが開いているか確認
(Ubuntu9.04のデスクトップをインストールするとデフォルトではなんでも通しますw)
5:mysqlで外部接続するユーザを追加
mysql>use mysql; mysql>SELECT Host,User,Password,Select_priv,Insert_priv,Update_priv, Delete_priv FROM user;
外部接続できるか確認
(デフォルトでは接続できないようになっています。)
外部接続するためのユーザを追加します。
mysql>grant all privileges on *.* to hogehoge@"%" identified "password" with grant option;
ユーザ情報の変更を反映
mysql>flush privileges;
これでhogehogeユーザ、パスワードpasswordで外部からログインできるようになりました。
さぁWIndowsからログインだ!って出来ない・・忘れてました。。。
sudo netstat -tlpn
で確認。mysqlが外からの受付していません。
my.cnfの設定変えなきゃいけません。
sudo vi /etc/mysql/my.cnf
でmy.cnfを編集します。
#bind-address = 127.0.0.1
↑の文のようにコメントアウトすればOK
sudo /etc/init.d/mysql restart
参考画像↓
sudo netstat -tlpnで確認


