Hatena::ブログ(Diary)

しかじろうがプログラム作るよ! RSSフィード

2012-02-07

Android Facebook SDKの認証サンプルが動かないので

f:id:re_shikajiro:20120208013617p:image

Facebookの使い方を間違えて落ち込んでいるしかだよ。(´・ω・`)

AndroidのFacebook SDKを使いたくてとりあえずAndroid Tutorial - Facebook Developersを動かそうとしたら、ずっとローディングのまま・・・。それを動かすまでの話です。

Jan 18, 2012のcommit: c58af0b64d85a853f1c79f2ee207c6d9992d31baの状態のsdkを利用しました。

facebook sdkの準備

Android Tutorial - Facebook Developers

とか

takutlessのメモ: Facebook Android SDK を使ってみる

を参考にしましょう。

ソースコード

fb.authorize(this, new Facebook.DialogListener() {...});

の部分を

String[] permissions = {};
fb.authorize(this, permissions, Facebook.FORCE_DIALOG_AUTH, new Facebook.DialogListener() {...});

って書くととりあえず動きます。

f:id:re_shikajiro:20120208013618p:image

2012-01-12

起動しているアプリの使用メモリ情報を見る

adb shell dumpsys meminfo [パッケージ名]

サンプル

shikajiro-MacBook-Air:~ shikajiro$ adb -s HT0B4RX02342 shell dumpsys meminfo jp.shikajiro.app
Applications Memory Usage (kB):
Uptime: 10275836 Realtime: 15606411

** MEMINFO in pid 7176 [jp.shikajiro.app] **
                    native   dalvik    other    total    limit   bitmap nativeBmp
            size:     6148     5823      N/A    11971    32768      N/A      N/A
       allocated:     6138     4121      N/A    10259      N/A        0     1912
            free:        9     1702      N/A     1711      N/A      N/A      N/A
           (Pss):      706      184     6501     7391      N/A      N/A      N/A
  (shared dirty):     2772     1984     5520    10276      N/A      N/A      N/A
    (priv dirty):      664      108     5464     6236      N/A      N/A      N/A
 
 Objects
           Views:        0        ViewRoots:        0
     AppContexts:        0       Activities:        0
          Assets:        3    AssetManagers:        3
   Local Binders:        5    Proxy Binders:       11
Death Recipients:        0
 OpenSSL Sockets:        0
 
 SQL
               heap:        0         MEMORY_USED:        0
 PAGECACHE_OVERFLOW:        0         MALLOC_SIZE:        0
 
Uptime: 10275873 Realtime now=15606448

2011-12-20

pythonアプリケーションの多言語化 Printrunの場合

お知り合いのエンジニアさんからpythonアプリの日本語化方法について尋ねられたので調べて見ました。

日本語化するのはこちら。

Printrun

ちなみにwinで動かしたいので、vmwareで準備しました。

既に多言語化に対応したアプリなので、設定がうまく出来ればすぐできそう。

環境構築

まずはreadmeの言う通りに環境を構築する。

  1. http://python.org/ftp/python/2.7.2/python-2.7.2.msi
  2. http://pypi.python.org/packages/any/p/pyserial/pyserial-2.5.win32.exe
  3. http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-unicode-2.8.12.0-py27.exe
  4. http://launchpad.net/pyreadline/1.7/1.7/+download/pyreadline-1.7.win32.exe

忠実にインストール

pathの設定

環境変数でpythonにpathを通す。localeのツールも使うので、\Tools\i18nにもpathを通す。

C:\Python27;C:\Python27\Tools\i18n

これで msgfmtが使えるようになります。

日本語化ファイルの準備

Printrunをzipダウンロードして、とりあえずC:\直下に展開。

README.i18nではpygettextしてjaディレクトリ作ったりとかする様に書いてるけど、めんどいので locale/de をコピーして locale/ja を作成。de.poもjp.poに名前を変える。

注意

ここで必要な文字をpoファイルに書くんだけど、テキストのエンコードutf-8にしないとエラーになるので注意。秀丸とかエンコードが選べるエディタで編集しました。

次はpoファイルのコンパイル

cd locale/ja/LC_MESSAGES/
msgfmt.py -o pronterface.mo ja.po

ロケールファイルをコンパイルする。

README.i18n には{newlang}.mo {newlang}.po って書いてるけど、moファイルは pronterface.mo って名前じゃないと動かないみたい。

起動

後は実行するだけ。言語指定はsetで。

set LANG=ja
pronterface.py

出来上がり

f:id:re_shikajiro:20111220153040j:image

ちゃんと日本語なった。やったね。

macで動かす

pythonの環境が整っていれば、その上で動くPrintrunは同じものが使える。

win

set LANG=ja
pronterface.py

mac

LANG=ja python pronterface.py

それぞれのショートカットを作っておくと便利。

f:id:re_shikajiro:20111226112958p:image

win と mac のスクリプト

win

start.bat

set LANG=ja
pronterface.py
mac

start.app

applescriptエディターで新規ファイルを作ってアプリケーションで保存。

--- 現在のディレクトリを取得
tell application "Finder" to set current_dir to parent of (path to me)
--- POSIX形式でディレクトリを取得 /User/みたいな
set current_dir to POSIX path of (current_dir as Unicode text)
--- do shell script でディレクトリを移動して実行
do shell script "cd '" & current_dir & "'; LANG=ja ./pronterface.py"

2011-12-09

Androidのbrowser "Dolphin"の中の人達と会ってきた

3rd partyのbrowserとして上位のDL数を誇り、最近spy wareとして叩かれてたDolphinのCEO達とのmeetupが非公開で開催されたので会って来ました。

Dolphin Browser | Smart Phone, Clever Browsing

dolphin browserのあらまし

まずは動画の紹介

D

Androidが出た当初、プリインストールブラウザの使いにくさ、3rd partyのbrowserの少なさから、使いやすいsmartphone browserに可能性を感じて起業

日本はアメリカに次いで2番目にユーザー数が多い。

特徴

  • addon 機能の拡張
  • ジェスチャー タップ入力いらずのショートカット
  • tab pcブラウザーのようなタブを再現

ユーザーが自分で使いやすいようにカスタマイズできる

日本語対応

最近日本語に対応した。

日本は携帯普及率が高い。リテラシーもとても高い。

日本はまだビジネスパートナーが少ないので今探してる。

日本向addonの計画中。

Q&A

スパイウェアどうよ

謝罪。(すいませんでした。)個人情報の漏洩はありません。安心して使えるように取り組んでいる。

騒動以降、リリースの度にテスト会社(ちょっとうろ覚え)にチェックを行い、万全を期している。

競合

他のbrowserアプリより、普通のアプリそのものが競合。いかにブラウザーを使ってもらうか。

マネタイズ

今はユーザー数を増やすことに専念。

将来的にはプリインストール状態のブックマークを載せる権利の販売などを計画。

翻訳はどうやっている?

ボランティアによる翻訳

開発は中国、デザインやマーケティングはサンフランシスコで行なっている。

addon

APIを公開する予定がある。

感想

以前dolphin使ってて、spyware騒動で速攻アンインストールした僕ですが、再インストールしました。

記事読んだり話を聞く限り、spywareに悪意は無かったみたいですね。騒動が起きた時の対応もしっかりしてたし、これからどんどん伸びていきそうです。

中国の起業だし、福岡に呼べたらいいなぁ。

写真はMoBoTapの3人とAndroidのド肝のtagaさんと鹿。

f:id:re_shikajiro:20111210032820j:image

2011-11-21

xmlのボタン切り替えselectorでstate_pressedが効かないと思ったらitemの順番に意味があった

タッチしたときに画像が切り替わるボタンを作るのでxmlをselectorで作りました。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/nav_gallery"></item>
    <item android:state_pressed="true" android:drawable="@drawable/nav_gallery_hover"></item>
</selector>

なぜかタッチしても切り替わらない・・・。(´・ω・`)

android:drawableを一番下に指定しないとだめみたい。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/nav_gallery_hover"></item>
    <item android:drawable="@drawable/nav_gallery"></item>
</selector>

切り替わりました(`・ω・´)シャキーン