Google製Javaライブラリ Guavaを使ってみた。

Posted on 日 03 3月 2013 in articles

しかだよ。Guavaってライブラリが良いってインターネットに書いてたので調べてみたよ。 サンプルソースのほとんどは本家からコピペしたよ。

guava-libraries - Guava: Google Core Libraries for Java 1.6+ - Google Project Hosting

Basic

Using/avoiding null

nullぽを避けるための仕組み {% highlight java %} Optional possible = Optional.of(5); possible.isPresent(); // returns true possible.get(); // returns 5

Preconditions

引数の値チェックなど、前提条件をチェックする仕組み。assertとかに似てると思う。 条件がfalseだと対応するExceptionがスローされる。

Ordering

Comparatorをスマートにしたやつ。Comparatorはめんどいよね・・・。

{% highlight java %} Ordering byLengthOrdering = new Ordering() { public …


Continue reading

Ubuntu Touch Developer Preview を Nexus7にインストールしてみた

Posted on 火 26 2月 2013 in Android, Ubuntu, Nexus

しかだよ。 Glaxy Nexus、Nexus7, Nexus10, Nexus4 でubuntu phone or tabletのデモ版がインストールできると聞いたので、早速やってみました。

割りと簡単に出来ました。DLに時間がかかるので、全部で2時間くらいかかりました。
Touch/Install - Ubuntu Wiki

Desktop Setup

ubuntu os が必須です。 インストールはめんどいので、仮想ハードディスクを使いました。 vmware, virtualboxで動きます。適当にセットアップします。

Ubuntuの入手 | Ubuntu Japanese Team

sudo add-apt-repository ppa:phablet-team/tools

で、ubuntuのパッケージ管理システムにubuntu phone用のURLが追加されます。 んで、

sudo apt-get update
sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot …

Continue reading

ADT 21.0.0新機能紹介

Posted on 火 19 2月 2013 in Android, ADT

しかだよ。 Android Developer Toolのリリース文をまとめてるよ。 しかの意訳なので気をつけてね。

Layout Editor

複数の端末画面が同時にプレビューできるようになりました。

詳しくはGoogle I/Oの20:30を見てね。

Added multi-configuration editing feature that was previewed at Google I/O developer tools talk in June. For an overview, see the session recording (starting at: 20:30).

FragmentまたはListViewのレイアウトの変更が、コンフィグレーションにも適用されるようになりました。

ってことだと思う。

Modified the layout logic so that setting a …


Continue reading

ADT 21.0.1新機能紹介

Posted on 月 18 2月 2013 in Android, ADT

アプリケーションや依存ライブラリパッケージ名の重複を検出するようになりました。

Updated build to detect and handle package name conflicts between an application and the libraries it depends on. Libraries cannot share package names unless all of them share the same package name. (Issue 40152, Issue 40273)

DEXフラグの追加

DEXフラグは、DEXファイルをマージして壊れたDEXファイルになることを防ぐために使用します。 設定をこんな感じにするとマージを使わなくなり、古い方のDEXファイルになります。 {% highlight text %} dex.disable.merger=true {% endhighlight %} 遅くなる原因になるので気をつけてね …


Continue reading

SublimeTextのpluginの作り方

Posted on 日 17 2月 2013 in sublimetext, python

しかだよ。 SublimeTextの簡単なプラグイン作成の依頼があったのでちょっと作ってみたよ。

お題

コピーしたテキストの最終行の行末に改行があった場合、その改行を消してペーストしたい。

新規プラグイン

tool > new plugin でテンプレートが作れます。

{% highlight python %} import sublime, sublime_plugin

class ExampleCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.insert(edit, 0, "Hello, World!")

{% endhighlight %}

クリップボードの取得

sublime.get_clipboard()

でクリップボードのデータを取得できるみたい。 あとはpythonの正規表現で良い感じにする。

テキストの差し替え

command + v の処理を上書きするので、ペーストと同じ働きをさせたい。

self.view.insert

だと、挿入になってしまい、範囲選択した状態でペーストすると置換されなくなっちゃう。なので

self.view …

Continue reading

ADT 21.1.0 新機能紹介

Posted on 金 15 2月 2013 in Android, ADT

しかだよ。(`・ω・´) ADTが21.1.0にアップデートしてたので、新機能をまとめてみたよ。

ADT Plugin | Android Developers

notificationとblank fragmentとlist fragmentのテンプレートができたよ。

Added new code templates for notifications, blank fragments and list fragments.

今更気づいたけど、テンプレートがすごい充実してた。知らなかった・・・・。 notificationのテンプレートを作ったらこんな感じになる。

ソースコードはこんな感じ。 {% highlight java %} package com.example.adtsample;

import android.annotation.TargetApi; import android.app.Notification; import android.app.NotificationManager; import android.app …


Continue reading

MapFragmentをTabの要素として表示したい

Posted on 木 14 2月 2013 in Android

しかだよ。 MapFragmentをTabの一つとして表示したいんだけど、色々問題が出てきつつ解決できたのでメモ。

前提条件

  • Android 4.x
  • TabはActionBarを使用
  • Mapはgoogle-play-servicesを使用

とりあえずActionBarにタブを設定するソースコードはこんな感じ。

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

mActionBar = getActionBar();
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
TabListener tabListener = new ActionBar.TabListener() {
    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        if (tab.getText().equals("Map")) {
            if (mMapFragment == null …

Continue reading

Arduino Fioでスーパーマリオなノックシステム作った

Posted on 月 07 1月 2013 in articles

しかだよ。 Arduino を使ってスーパーマリオな玄関ノックをつくってみたよ。 まずは動画をどうぞ。

タッチするとマリオの「チャリーン」が鳴ります。一定回数以上タッチすると1upします。

扉の裏側はこんな感じ。やっつけ感がすごい。部品にはArduino Fio、リチウムイオンバッテリー、 ブレッドボード、スピーカーを使ってます。

タッチする部分はNintendo DSのタッチパネルの部分を使ってます。 アダプタ込みで1,000円ちょい。 スイッチサイエンス/商品詳細 Nintendo DSのタッチスクリーン(コネクタ別売)

ブレッドボード配線はこんな感じ。適当なので参考程度に。スピーカーの配線が気になる。
リチウムイオンバッテリー使ってるんだけど、すぐ電池が切れちゃう。省エネな使い方があるはずだけど、どうやって運用したらいいのかなぁ。

ソースコード等はこちら。 shikajiro/MarioTouch

んじゃまた。


fritzingに最初から入っているはずのパーツを使えるようにする

Posted on 火 25 12月 2012 in articles

しかだよ。 ブレッドボードの配線の設計やメモに最適なツールと言えばFritzingですね。 Download - Fritzing

最初から色々パーツが入っているのですが、拡張版(?)のパーツのデータが抜けてる。検索はできるのに・・・。

というわけでなんとかしました。

ソースコードを落とす

google code から落とせます。 Source Checkout - fritzing - From prototype to product - Google Project Hosting

以下の2箇所のデータをまるっとコピー。

cp fritzing-read-only/fritzing/pdb/user /Applications/Fritzing/pdb/user
cp fritzing-read-only/fritzing/parts/svg/user /Applications/Fritzing/parts/svg/user

こんな感じでNintendo DS のタッチパネルも使えます。素敵ですね。


Arduino FioとPCをXBeeで繋いで開発する「ワイヤレスプログラミング」はXBee-ZBではできない

Posted on 火 25 12月 2012 in articles

Arduino FioはPCとXbee接続してワイヤレスでプログラムをアップロードできます。 しかし、XBEE-ZBではワイヤレスプログラミングできないので注意が必要です。

Arduino - ArduinoBoardFioProgramming

two XBee or XBee Pro 802.15.4 XBee modules. These are also known as Series 1 modules, for those who've worked with XBees for awhile. You can't use the DigiMesh or ZB series radios (aka Series 2 or 2.5). Those modules do …


Continue reading