2011年12月6日火曜日

[android] AppWidgetの表示変更時の注意

AppWidgetはActivityと違いUIの操作出来る範囲に制限があります。

そして操作するメソッドもAcitityの場合と違い、少し特殊です。

class TestWidget extends AppWidget {
   @Override
   public void onUpdate(Context context, AppWidgetManager awm, int[] awi) {
        // 全ての操作はRemoteViewsを介して行います
        RemoteViews rv = new RemoteViews(context,getPackageName(), R.layout.main);
        // id=textなTextViewのtextを変更します
        rv.setTextViewText(R.id.text, "Hello World!");
        
        // 反映させるにはAppWidgetmanagerに更新を通知します。(※これをしないと反映されません)
        ComponentName thisWidget = new ComponentName(context, TestWidget.class);
        awm.updateAppWidget(thisWidget, rv);
   }
}

よく反映のロジックを忘れるのでメモ

2011年11月30日水曜日

[音楽] Keep the faith / 氷室京介



文句なしにカッコいい。
こんな50代になりたいものです。

2011年11月7日月曜日

[android] XMLパーサ

Javaでパッケージ化されているXMLパーサは

などがあります。

その中でもfeed4jの導入が楽だったので紹介

http://www.sauronsoftware.it/projects/feed4j/download.php

ここからzipをダウンロードし

解凍したフォルダの中から
  • dom4j-1.6.1.jar
  • feed4j.jar
  • nekohtml.jar

をライブラリフォルダにコピーして、ビルドパスに追加します(パーサ機能のみで確認)

ソース上では以下のようにして、各内容を取得可能です。
URL url = new URL(site.getSite_url());
Feed feed = FeedParser.parse(url);
int max = feed.getItemCount();
for (int i=0; i< max; i++) {
 FeedItem item = feed.getItem(i);
 Log.d(TAG, item.getTitle());   // タイトル
 Log.d(TAG, item.getDescriptionAsText()); // 本文
 Log.d(TAG, item.getLink().toString());  // URL
 Log.d(TAG, item.getPubDate().toString()); // 投稿日時
}


※1.RomeはBOMが入っていると、うまく読めないそうです。。。
※2.informaは導入時点で断念しました。必要ライブラリが良く分からん

2011年11月6日日曜日

[android] 他アプリとの連携

ブラウザ起動
Intent it = new Intent(Intent.ACTION_VIEW);
it.setData(Uri.parse("http://hogehoge.hoge"));
startActivity(it);

設定画面
Intent it = new Intent("android.settings.SETTINGS");
startActivity(it);

メーラー
Intent it = new Intent(Intent.ACTION_SENDTO);
it.setData(Uri.parse("mailto:hoge@hoge.hoge"));
it.putExtra(Intent.EXTRA_SUBJECT,"title");
it.putExtra(Intent.EXTRA_TEXT,"body");
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(it);

電話コール
Intent it = new Intent(Intent.ACTION_CALL);
it.setData(Uri.parse("tel:090XXXXXXXX"));
startActivity(it);

マーケット(アプリ詳細)
Intent it = new Intent(Intent.ACTION_VIEW);
it.setData(Uri.parse("market://details?id=" + app_id));
startActivity(it);

2011年11月4日金曜日

[android] AppWidgetの動的背景変更

ステータスを表示するアイコンなどで、背景画像を動的に変えたい事があると思います。

通常のアプリを作る場合であればsetBackgroundDrawableやsetBackgroundResource等が使えますが、AppWidgetの場合使えません。

なので切り替える画像全てをFrameLayout内に格納し、setViewVisibilityで表示・非表示を切り替えるしか方法が無さそうです。

RemoteViews view = new RemoteView(getPackageName(), R.layout.main);
view.setViewVisibility(R.id.btn_lock_on, View.VISIBLE);
view.setViewVisibility(R.id.btn_lock_open, View.GONE);

2011年11月3日木曜日

[音楽] I Was Right / New Years Day





これもTSUTAYA経由

http://www.werockcity.com/2010/06/19116.html プロフ拝借

NEW YEARS DAYは2005年初頭、Ashley Costello(Vo)、Dan Arnold(Gt,Vo)、Anthony Barro(Ba,Vo)、Russel Dixon(Dr)の4人にてカリフォルニアで結成、活動開始後ににパトリック・スタンプ(FALL OUT BOY)とジャスティン・ピエール(MOTION CITY SOUNDTRAC)に見出され、JIMMY EAT WORLD、THE ALL AMERICAN REJECTS、THE PLAIN WHITE T’S、THE RED JUMPSUITE、APPARATUSと共演。

さ らにMySpace RecordsのコンピレーションCD『Volume 1 compilation CD』やサウンドトラックでフィーチャー。2006年秋に5曲入りEPをリリース、ファースト・シングル「I Was Right」は、MTV buzzでプレイ。2007年春、デビュー・アルバム『My Dear』をリリース。
Warped Tour 2007でもメインステージで演奏と、全米ガールズロック界を席巻するトップスターの階段を上り詰めるまさにシンデレラ・バンドだった。

 が、人気急上昇中に突然所属レーベルが破産、悲劇に見舞われた。しかし、バンドに計り知れないダメージと試練を乗り越えたバンドは、2010年ついに権利を取り戻し復活、 更にこの7月にニューアルバムで遂に日本デビューを行う運びとなった。

PARAMORE(パ ラモア)のヘヴィなポップパンク・サウンドに、HEY MONDAY(ヘイ・マンデー)のキャッチーなメロディ、そしてさらにゴスなテイストを加えた風味」と目されるそのサウンドは、日本ガールズ・ロックファ ンの間にも、新鮮で熱い旋風を巻き起こすに違いない。Lady Gaga(レディー・ガガ)のヒット曲やDEPECHE MODE(デペッシュ・モード)の名曲のカヴァーにも挑戦する等、バラエティ感溢れる構成にも様注目だ。Warped Tourへの参加も既に決定、再始動から一気に日本でビューへと傾れ込むニュー・イヤーズ・デイ。新たな黒船カールズ・ロックの登場に、心して注目すべ し。


・・・画像をググると高確率で正月、元旦の画像が出てくる

2011年11月1日火曜日

[android] fill_parentとmatch_parentの違い

Android2.2(Froyo)から追加されたmatch_parentですが、fill_parentと違いは無い様です。

2.2以下の下方互換をしたいのであればfill_parentを使うが吉?かも

2011年10月31日月曜日

[android] Androidブラウザの共有時のIntentデータ

標準ブラウザの共有から暗黙的Intent遷移時に受け取れるパラメータの種類

Bundle extras = getIntent().getExtras();
extras.getString(Intent.EXTRA_TEXT);  // URL
extras.getString(Intent.EXTRA_SUBJECT); // サイト名

[android] resources.ap_生成エラー

Error generating final archive: java.io.FileNotFoundException: resources.ap_ does not exist 

こんなエラーが出た場合はEclipseの「プロジェクト」→「クリーン」で直る場合が多いと思われるが、今回は違った。


Eclipseのcleanな起動をしても駄目。多パッケージをEclipse上で扱っているとなるようだ。


解決方法としては新しいワークスペースを作成し、そこにソースを移動する。

2011年10月30日日曜日

[音楽] Starlight / Tonight Alive


去年TSUTAYAでレンタルしてから、ヘビロテになってるアーティスト

http://www.spinninginc.jp/m_lineup/tonight_alive.html よりプロフィール抜粋
Tonight Alive is:
Jake Hardy: Guitar
Cam Alder: Bass/Vocals
Jenna Mcdougall: Vocals
Whakaio Taahi: Guitar/ Vocals
Matt Best: Drums

オーストラリアのシドニー出身、17歳のJenna Mcdougallを中心に2008年終わりに結成。
2009年終わりには、3OH!3やMestとオーストラリアを10日間ツアー、シドニーで一番新しくてホットなPOP/PUNKバンドとして注目されバ ンドはすぐにブレイク、その勢いで初のヘッドライナー・ツアーを決行し、1,000人以上を集客、チケットは全てソールドアウトとなる。

2010年3月にはLostprophetsとThe Blackoutが行ったオーストラリア・ツアーに同行。
2010年7月にオーストラリアでデビューEP『All Shapes and Disguises』をリリース、日本では9月に、アメリカでは10月にデビューが決定。
秋にはOwl Cityとのオーストラリア・ツアーが予定されている。
次作は大手メジャーでワールド・ディールが決定しており、今後、世界規模の活躍が期待されているアーティストの1つ。

2011年10月28日金曜日

[Ubuntu] 11.10のUnityをClassicに変更

Ubuntu11.10が去る10/13にリリースされました。


http://www.ubuntulinux.jp/News/ubuntu1110

11.04からnetbook向けにunityというGUIが適応され、IFが一新されています。

















このUI、結構曲者で以前のGNOMEのUIに慣れている人は、若干戸惑うかと思います。

そのような場合、以前のGNOMEに戻す方法があります。

手順は簡単でaptでgnome-session-fallbackをインストールし、再起動⇒セッションの選択をするだけ

# apt-get install gnome-session-fallback

再起動し、ログイン画面にてセッションでGnome Classicを選択すると使えるようになります。

今回9.04からアップデートしたので、無線LANアダプタのドライバが初期化?され、ネットワークにつながらない状態になりました。

[参考]
https://forums.ubuntulinux.jp/viewtopic.php?id=12224

http://matea2.blogspot.com/2011/10/ubuntu-1110-lan.html

使っていたのはcoregaのCG-WLUSBNM









Realtekから該当するドライバをDLしておきます。

http://www.realtek.com/downloads/downloadsView.aspx?Langid=4&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#RTL8188SU

本家がなくなった場合の予備としておいておきます。

https://sites.google.com/site/devsyokin/RTL8188SU_usb_linux_v2.6.6.0.20110401.zip

上記 zipを解凍し、driverフォルダにあるrtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401.tar.gz

を解凍します

その後解凍したフォルダにcdし

# make
# make install

wlan0を有効化します

# ifconfig wlan0 up

2011年10月27日木曜日

引っ越し記念テスト

忍者ブログよりお引っ越し。
イケてないAndroidアプリで試してみる

画像がオリジナルサイズでアップされたみたいだ。
レイアウトも糞もあったもんじゃねぇ

そしてSyntaxhighlighterの改行がおかしい。


2011年10月26日水曜日

[ブログ] 忍者ブログ⇒blogger 引越し手順

いつからか愛用していた忍者ブログに自動的にでかでかと広告が入るようになったので

このbloggerに引っ越すことにした。その手順をまとめておく

1.ログのエクスポート
















管理画面にログイン後、「便利ツール」より「ログのエクスポート」をクリック
















文字コードは「UTF-8」、形式は「MT形式」(画像は忍者ブログ形式となっているが注意) を選択し、エクスポート

2.MT形式のファイルをblogger形式にコンバート


これは以下のURLから行う。
http://movabletype2blogger.appspot.com/

※ただし、このままインポートを行うと記事の投稿日時がインポートした日時になってしまう。

記事日時が気になる場合


http://shop-chihiro.blogspot.com/2009/09/bloggermt.html

pythonスクリプトを書いてくださっている方がいるので、pythonが使える環境の方はそれを利用

記事数が少ない場合は手作業で

DATE: MM/DD/YYYY HH:mm:ss      となっている部分を

DATE: MM/DD/YYYY HH:mm:ss AM or PM と12時間表記に編集する

3.bloggerの管理画面からインポート















「インポートされたすべての投稿を自動的に公開」にチェックを入れて「ブログをインポート」をクリック。

未公開のままだと、公開にした日時で登録されてしまうため、それでも良い場合のみチェックをはずす。

※コメントは全て公開扱いで登録されてしまうようです。スパム等はあらかじめ削除しておくべきでしょう。

2011年9月19日月曜日

[サーバー構築] aptの使い方を復習

aptとはDebian系のディストリのパッケージ管理コマンドのこと



RedHat系はyumコマンドを使いますが今回は割愛



使い方

aptとはいうものの"apt"というコマンドは存在しません。

apt-getもしくはapt-cacheを実行します。

# apt-get update                        ※パッケージ情報の更新
# apt-cache search <パッケージ名>      ※パッケージ名の検索
# apt-get upgrade <パッケージ名>      ※パッケージ名の更新
# apt-get upgrade                  ※インストール済みパッケージの更新
# apt-get install <パッケージ名>      ※パッケージ名のインストール
# apt-get remove <パッケージ名>      ※パッケージ名のアンインストール



基本的には↑を押さえればOK

2011年8月30日火曜日

[mysql] mysqlじゃないけど

SqliteではWHERE句でよく使う「&&」「||」は使えないのね。

今さらな話だけどメモ

2011年8月22日月曜日

[android] Opera mini

GalaxyS2に入れてみました。



結論から言うと、すごく惜しい(>_<)
他のブラウザと比べてスワイプ時のスクロールがちゃんと指に追随している感覚があり、軽いし他のアプリとの連携もバッチリ!UIも洗練されていて、細々としたアニメーションも然り気無くて良い。

ですが、Flash未対応なのとブックマークの取り込みが出来なかったのが、おしい。(プラグインがあるのかも?)

Firefoxもそうですが、もう少し痒いところに手が届けば、メインのブラウザとして使えそうですね。

2011年8月1日月曜日

[デジモノ] SPモードメール

いやはや、各種ニュースサイトにも上がってましたが、docomoさんやっちゃいましたなー

バージョン4700にアップデートした人の一部で、メールが消えた。もしくはメッセージRのフォルダに入ったまま移動できない。と言う不具合が起こってしまったようです。

私は幸いアップデート前にレビューを見て思い止まったのですが、自動アップデートに設定している方は問答無用で更新されてしまうので、文句のひとつも言いたくなるのは理解できます。

公式のしかも唯一のメールクライアントなのに、この不具合の多さ。酷すぎますね。
しかも、謝罪をすぐしない。4800をリリースしたときも何の謝罪もなかった。


ソフバンからMNPしたばかりですが、この対応の悪さに少し辟易しています。

2011年7月24日日曜日

[デジモノ] SC-02C バックアップツール

プリインされているバックアップアプリですが、端末に入っている全ての情報が保存される訳では無いようです。

例えば、SPモードメール。
これはSPモードメールアプリからバックアップしないといけません。

アプリのバックアップはGoogleアカウントが自動?でやってくれるようなので特には必要ないかと思われます。(SDに入っているアプリ除く)

2011年6月20日月曜日

[デジモノ] Galaxy S2の発売日

6/23で確定のようですね。



梅淀初日に500人近く捌くつもりのようですけど、果たして捌ききれるんでしょうかね?



私は仕事帰りに行くつもりなんですが、その日に手に出来るのか・・・



某所では機種変の事前予約とキャンセルでそこまで混雑しないとの情報がありますね



acroと同時に予約してて、今日?7/9に発売予定ということが発表されたので、少しでもそちらに



流れてくれれば。。。。



Docomo本家 acro詳細ページ



2011年6月14日火曜日

[デジモノ] Galaxy S2を買う前に準備したいもの

色々ありますね

個人的にバッテリーカバーケース /ハードケースカバーが気になります



まずは

ケース




docomo galaxy s2 sc-02c ケース グレー シリコン ¥800





sc-02c ケース ブルー シリコン ¥800





GALAXY S II SC-02C 本革横型ポーチケース¥3,980





GALAXY S2 SC-02C用ハードケース/カバー(透明、クリアー)SA117 ¥480





galaxy sⅡ SO-01C ケース デコが人気!ギャラクシーS2 【バンビ/ONEカラー/ブラウン 】 - DECOxCHU|スワロフスキー・デコレーション¥9,300





docomo galaxy s2 sc-02c ケース ゴールド パール小 ¥2,900







保護シート




バッテリーカバーケース /ハードケースカバー ¥1,349





[docomo GALAXY S II (SC-02C)専用]反射防止保護フィルム(2枚セット) RT-SC02CF2/AG[6月下旬入荷予定]¥880







オプション




GALAXY S II SC-02C クレードル充電器スタンド&予備バッテリー11点パーフェクトセット ¥7,980


2011年5月25日水曜日

[デジモノ] Galaxy S2 SC-02C実機を触ってきました

梅田で今日からdocomoがスマートフォンラウンジを開店したとの情報があったので、仕事帰りに寄ってみました。

閉店間際に滑り込んだからか、そこまで混雑せずに見ることができました


全面から。液晶綺麗です。


横から。少し背面カバーがめくれているような?


背面から。

デザインは…(ry ですが(笑)サクサク具合と薄さはかなり満足出来そうです。

早くこいこい発売日笙ャ

2011年5月19日木曜日

[デジモノ] Galaxy S2 SC-02C

ひっさびさのエントリーです



最近はめっきりデジモノに興味が薄れていたのですが

今手持ちの携帯が、ぼちぼち買い換えてから2年というわけで

スマホデビューをすべく機種変を・・・と



ソフバンのサイトや店舗で機種をいじり倒したりしていましたが、これと言ってよいのが無く

2011春モデルで機種変を考えていたのですが、夏までずれ込んでもいいかーと待ちガイルになっていたんです。



んで一度興味を持ったものにはとことんな私でして、今年の夏モデルはどんなもんが出るんじゃい!と

各種先行(リーク)情報を掲載しているサイトをまわりまくってみると、今年はソフバンは震災の影響で機種発表は自粛するとの事

それのせいかは分かりませんが、ネット上に2011夏のソフバン機種の情報が皆無



で、前回の機種変時にdocomoへのMNPを考えていたのを思い出し(家の親族はほとんどdocomoなので)

試しにdocomoの2011夏の機種情報を集めると



・Xperia acro(arcのガラケー機能つき)

・Galaxy S2(日本発売スマホ初デュアルコアCPU搭載)



というものがあるのを発見。調べていくうちにGalaxyS2は私にとってデザインを除けば全てマッチする端末だという事が発覚!
(過去記事でサムスンざまぁ!とか言ってました 汗)

はじめは家電がsonyが多いのでXperia arc(acro)に・・・と思ってたのですが、嫁から「サクサク動かないと暴言吐くでしょ。機械に」と諭され昨日梅淀にてめでたく予約をしてまいりました。

(昨日でU-X番目でした。やっぱ注目度高いですねー)



以下からヨドバシカメラで予約した方は入荷状況が確認できます。

http://www.yodobashi.com/ec/support/news/1213374176901/index.html



すでに10年以上ソフバンと契約していますが、iPhoneは端末的にも月々の料金的にも魅力的ではあるのですが

Touchとの2台構成も何か変ですし、かといってソフバンのandroidはなんだかなぁという感想



MNPの際に移転元のキャリアの契約期間を保持できるのはソフバンだけみたいで、その辺はdocomo,auともに見習って欲しいですね。

2011年3月21日月曜日

[PHP] cakephp+sencha-touchでiphoneWebアプリ開発<停滞章>

iphone(ipod touch)でセッションが保持できないの件は

毎回(AJAX通信含む)のリクエストでセッションIDを生成しなおしているのが原因ぽい

ページリクエスト時のとAJAX時のサーバーのリクエストヘッダを見て判明した。



iphoneのsafariだとリクエストヘッダにCookie: ......がない

のでサーバー側で新たに生成してしまっている



ってことはsenchaの非同期通信機構にバグがあるのか?それともsafariの仕様なのか?



いずれにせよ解決にはまだ時間がかかりそうだ



2011年3月9日水曜日

[PHP] cakephp+sencha-touchでiphoneWebアプリ開発<序章その2>

セッションの件はわからないけれど、携帯用にSJIS出力する際のメモ

基本文字コードはUTF-8で統一ですが、一部ガラケーはUTF-8に対応していないので、Shift-JISに変換する必要があります。



app_controller.php(自分の場合はすべてのcontrollerの基底クラスとして定義) 内に以下のメソッドを定義します。




function beforeRender() {
parent::beforeRender();
if ($this->RequestHandler->isMobile()) {
if ($this->__isSmartPhone()) {
$this->viewPath = 's';
$this->layoutPath = 's';
} else {
$this->viewPath = 'm';
$this->layoutPath = 'm';
Configure::write('debug', 0);
$this->RequestHandler->respondAs('html', array('charset' => 'Shift_JIS'));
}
}
}



※beforeRender内ではレイアウトパスの変更と、文字コードヘッダの指定を(デバッグモードを切っておかないと面倒なようです)

この場合だとviews/layout/s/内にスマホのviews/layout/m/内にガラケー用のレイアウトファイルを配置します


function afterFilter()
{
parent::afterFilter();
if ($this->RequestHandler->isMobile() && !$this->__isSmartPhone()) {
//header("Content-type: text/html; charset=Shift_JIS");
//Configure::write('App.encoding', 'Shift_JIS');
$this->output = mb_convert_kana($this->output, 'rak');
$this->output = mb_convert_encoding($this->output, 'SJIS-win', 'UTF-8');
//$this->RequestHandler->respondAs('xhtml', array('charset' => 'Shift_JIS'));
}
}



※afterFilter内では出力するhtmlの文字コードを変換します。

後は送信データのコンバートをしないといけない(追記予定)

2011年3月8日火曜日

[PHP] cakephp+sencha-touchでiphoneWebアプリ開発<序章>

タイトルのとおり



iphone(ipod touch)のセッション引継ぎがなかなかうまくいかん

ブラウザから認証情報を非同期でpost⇒認証おk⇒セッションに値格納⇒ブラウザにレスポンス返す⇒レスポンスおkならリダイレクト

ってな流れで処理しているのだけど、なぜかiphone版に作った画面では引き継がれない



関係ないかもしれないけど、この問題がクリアになったら是非試したい情報があったのでメモ



認証情報保持時にクッキーの変わりにローカルストレージを使う

http://suin.asia/2009/09/13/iphone_local_strage_for_email_password_remainder



週末までには解決したいなぁ



2011年2月18日金曜日

[サーバー構築] fedora13⇒14後にphpがエラーを出す現象&対策

fedoraを13⇒14にアップデート後、こんなエラーが出るようになった

※ちなみにPHPはソースからのコンパイルでインストール




php: error while loading shared libraries: libgdbm.so.2: cannot open shared object file: No such file or directory

原因はよくわからないが、gdbmの一部パッケージがアップデートと同時に紛失してしまった様子




# yum install compat-gdbm

を実行して解決!