つぶのみをTwitter API version 1.1対応しました

https://dev.twitter.com/blog/current-status-api-v1.1
https://dev.twitter.com/blog/changes-coming-to-twitter-api

検索APIが認証必須に変わっているので、対応しないと検索などが何れできなくなってしまいます。

で、重い腰を上げて対応しました。
と、言ってもtwitter4Jをバージョンアップしただけです。
検索の結果もユーザータイムラインやホームタイムラインの結果と同じ内容のツイートのデータを返すようになった為、若干の作業が必要になりましたが、大した苦労なく対応できました。

twitter4J本当便利。ありがたいことです。

つぶのみはこちら

つぶのみ、かおポト開発時のAndroidの覚書メモ


情報は大体こちらで参照されてるところと公式にあたった。
http://d.hatena.ne.jp/moto_maka/20110117/1295205374

暗黙インテントの受け取りが最初できなくて調べたやつ


暗黙インテントの受信を望んでいるアクティビティは、インテントフィルタに android.intent.category.DEFAULT を含める必要がある。android.intent.action.MAIN と android.intent.category.LAUNCHER をフィルタに設定した場合は例外。

            <intent-filter>
                <action android:name="android.intent.action.SEND"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="text/plain"/>
            </intent-filter>
orientation


未設定の場合もhorizontalに設定した時のように,左から右にレイアウトされる。

Layout height, Layout width


fill_parentを設定すると画面一杯に表示。wrap_conentを設定すると,表示に必要な幅と高さを自動で調整。

Stringからlongへの変換
long nanigasi = Long.parseLong(String);
デフォルトのタイトルを変更する場合


AndroidManifest.xml を編集する。

<activity
	android:name=".activity.SampleActivity"
	android:label="@string/app_name">
</activity>

android:label="@string/app_name" の部分を書き換え。任意の文字列リソースが指定可能。


実行時に動的に変更する場合は、Activity クラス内で次のように記述

setTitle("新しいタイトル");

setTitle メソッドに渡せる引数はCharSequence(String, StringBuilder など)、文字列リソースIDの2種

Android Buttonの表示/非表示


Buttonの表示/非表示を設定するにはview#setVisibility(int visibility)メソッドを使用。
引数には可視状態を表す定数を指定。
view.VISIBLE・・・表示
view.INVISIBLE・・・非表示(非表示にしたスペースは詰めない)
view.GONE・・・非表示(非表示にしたスペースを詰める)



途中からコード見れば分かるとか思ってメモしなくなった。メモっといた分だけ残しておく。

つぶのみ、かおポトでボツにしたコード等メモ

ボツにしたコードをなんとなく残しておきたかったので記録。


カメラでのイメージキャプチャへの暗黙インテントにおいて。
保存先など特に指定しないでintentを送ると画像が荒すぎたので、putExtraを使わない暗黙インテントは使用しなかった。

Bitmap bitmap = (Bitmap) data.getExtras().get("data");

使わなかった保存先

// /mnt/sdcard/DCIM/Camera/yyyyMMdd_HHmmss.jpg
     File mediaFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath()+
                File.separator+"Camera"+File.separator+timeStamp + ".jpg");

exifから取得したサムネイルは少し荒かったので没。
別ロジックを採用

    private Bitmap getExifThumbnail(ExifInterface exifInterface){
        if(exifInterface != null) {
            // get thumbnail
            byte[] thumbnail = exifInterface.getThumbnail();
            if(thumbnail != null) {
                return BitmapFactory.decodeByteArray(thumbnail, 0, thumbnail.length);
            }
        }
        return null;
    }

ArrayListの重複を除く

    private ArrayList<String> normalizeArrayList(ArrayList<String> arrayList) {
        ArrayList<String> list = new ArrayList<String>();
        for (String s : arrayList) {
            if (!list.contains(s)) {
                list.add(s);
            }
        }
        return list;
    }

コワーキング + おいしいごはん 「Jelly in カフェ ガレリア」に参加してきました

http://d.hatena.ne.jp/sendaiworkspace/20120614/1339681105

http://atnd.org/events/30111

カフェでのコワーキング体験会に参加してきました。
霊屋下は、仙台中心部から近いのに、豊かな自然があって、いい場所ですよね。


会場のカフェガレリアさん。


始まる前と、始まってからも途中、瑞鳳殿方面を少し散歩したのですが、自然が感じられてのんびり出来ました。天気も良かったですし。




紫陽花が群生していて綺麗でした

額紫陽花も


ランチのタイグリーンカレー

ランチ後は、参加者全員で雑談したりして、適度に交流も出来て良かったです。
ちなみに作業としては、火水に引き続き、かおポトに機能追加してました*1


自転車久々に漕いでへばりましたが、たまには街の喧騒を離れて、こんな場所で仕事するのもいいですね。
集中するときは集中して、黙々と作業し、疲れたら適度に息抜きしたり、雑談したり、自然を散策したり。しかもランチ付き、コーヒー飲み放題で1000円。なかなか良かったんじゃないでしょうか。

追記:参加者中、割りと顔見知りな方が多かったので、内輪感が出すぎていなかったかが少し気にかかりました。今回初めてお会いした方に、また会う機会があったら聞いてみたいですね。

参加の皆様お疲れ様でした。

*1:FacebookのGraph APIで、今のところメッセージが送れないという事が、最後に判明して作業自体は残念な感じで終わったんですけど

6/26オープンアワー報告

今日は4人。初参加の方が1名。

先日のRails勉強会@東北で、藤岡さんからFacebookのメッセージを見ていない事でツッコミが来たので、かおポトにメッセージを見る機能を追加していました。

参加の皆様お疲れ様でした〜*1

*1:本当はまだ終わってないけど

5/30のオープンアワー報告

朝活3人、オープンアワー4人。
朝にバグを発見して、結局かおポトをいじってました。

それと、今日は朝活、夜活、オープンアワー通算で66回なので、突発的ですが、これから参加者の皆様とランチに行って、参加費を還元する予定です。

参加の皆様お疲れ様でした。