写真集

Camera:Panasonic LUMIX DMC-LX3
Vine Linux と Ubuntu の設定方法など

NetworkOnMainThreadException の対応

2012-01-28 22:31:49 | Android
Android 2.3では動作していたのに, Android 4(ICS)では動作しなくなったときの対応です。
3.0 からView設計が変更されたらしい。
1.1 NetworkOnMainThreadException
 メインのスレッドから時間がかかる処理を外せってことみたいです。
 なので別のスレッドを走らせるようにします。
 GUIが反応しないのを防ぐようにとAndroidのView設計が変わったみたいです。

 時間がかかる処理の例
 POSTやGET
 SQLよるデータ処理
 Fileの読み込みや書き込み

1.2 CalledFromWrongThreadException
 別スレッドでVIewにあるテキストなどの変更をするなということみたい。
 HandlerとMessageを使って処理終了のやり取りをする。
 まあViewにイベント処理として扱えばいい。

 githubにコードを載せました。


Android Emulator を別のPCで起動してdebugする

2012-01-24 14:38:07 | Android

EclipseとAndroid Emulatorを別々のPCで起動してデバックできないかを試してみました。

エミュレータとの接続に使われるLocal portを別のPCにforwardさせるスクリプトファイルを作成します。
sshサーバとエミュレータが動いているのPCは同一でIPアドレスが、192.168.0.xの場合

chadb
------------------------------
#!/bin/sh
ssh -N -f -L 5554:localhost:5554\
 -L 5555:localhost:5555\
 userName@192.168.0.x
------------------------------

スプリクトを読み込みます。
$ . chabd
エミュレータを起動させておきます。
うまくローカルポートが、エミュレータが動いているPCのローカルポートに、フォーワード(転送)されているかを確認します。
$ android-sdk-linux/platform-tools/adb devices
List of devices attached
emulator-5554 device

Eclipseのデバック設定をManualにします。


下記のように別のPCのエミュレータが表示されているので選択してデバックします。


萌え時計をMacOS X Lionで動かしてみた

2012-01-07 20:59:56 | MacOS

GIMP2.6のpygtkを利用して、萌え時計をMacOS Xで動かしてみた。
GIMPをインストールするとGTKが入っているので利用できないかなと試して見ました。
macports で GTK と pygtk をインストールするのはちょっとなあと言うことなのです。

萌え時計2013/01/15時点のバージョンでは動作する様になりました

  1. moeclock.pyのソースを変更します。
    pygtkのimport方法の変更します。
    glibをgobjectに変更します。
    -----------------------------------------------------------
    import sys
    import pygtk; pygtk.require('2.0')
    import gtk
    #import glib
    import gobject

  2. moeclock.pyのソースを変更します。
    glibからgobjectに変更します。8箇所あります。
    -----------------------------------------------------------
    self.timeout = glib.timeout_add_seconds(int(self.timeout_interval),self.timeout_callback,self)
    self.timeout = gobject.timeout_add_seconds(int(self.timeout_interval),self.timeout_callback,self)

  3. /opt/Gimp.app/Contents/Resources/script をコピーして2行変更と最後に2行追加します。
    -----------------------------------------------------------
    #!/bin/sh
    # (c) 2008, Simone Karin Lehmann, simone at lisanet dot de
    # GPL version 2 or later
    # script 1.3 Leo

    #この行を変更します。
    #DIR=`dirname "$0"`
    DIR="/opt/Gimp.app/Contents/Resources"
    cd "$DIR/../.."
    APPDIR=`pwd`
    cd - > /dev/null
    # edit the next line to match version file
    VERSION=2.6.11
    LNDIR=/tmp/skl/Gimp.app
    if [ ! -e "$LNDIR/Contents/Resources/v$VERSION" ]; then
    rm -f "$LNDIR"
    mkdir -p /tmp/skl
    chmod a+w /tmp/skl
    ln -s "$APPDIR" "$LNDIR"
    fi

    CWD="/tmp/skl/Gimp.app/Contents/Resources"

    # update fonts cache from 2.6.1 to 2.6.2
    "$CWD/bin/update-fc-cache"
    # setup gimp user directories
    "$CWD/bin/setup-gimpdir"
    # setup help, for more information see bin/help-locale
    rm -f /tmp/skl/Gimphelp
    ln -s "$DIR/share/gimp/2.0/nohelp" /tmp/skl/Gimphelp
    "$CWD/bin/help-locale"
    # this only exists on Leopard, set font size
    if [ -e "$CWD/bin/set-fontsize" ]; then
    "$CWD/bin/set-fontsize"
    fi

    cd ~/ > /dev/null

    # この行をコメントアウト
    #exec "$CWD/bin/gimp" "$@"

    #この2行を追加
    export PYTHONPATH=/opt/Gimp.app/Contents/Resources/lib/python2.5/site-packages
    python ~/moeclock/moeclock.py

    moeclock.shでファイルを保存

実行

$ chmod a+x moeclock.sh
$ ./moeclock


ちゃんと動きませんなあ、絵も切り替わらない。残念

他のGTKアプリもこの方法で起動できるのかなあ

萌え時計2013/01/15時点のバージョンでは動作する様になりました