幸福なプログラマ

プログラマは幸福になれる。

2014-05-01から1ヶ月間の記事一覧

非同期処理にはThreadを直接使わずにExecutorServiceを使用する

一個前の記事 で MyRunnable runnable = new MyRunnable(); Thread thread = new Thread(runnable); thread.start(); みたいな感じでThreadクラスのコンストラクタにRunnable実装したサブクラスを渡して非同期処理をしようと書いたけれど、以下の観点からお…

Threadクラスの継承ではなく、Runnableインタフェースを実装したクラスに処理を委譲する

javaで非同期処理を実現する際、以下のようにThreadクラスを継承したサブクラスを作成し public class MyThread extends Thread { @Override public void run() { // 非同期処理 } } 下記のように呼び出すと思います。 MyThread thread = new MyThread(); th…

javaのenumで要素数を取得する

enum Sample { ONE, TWO; } private int getSampleLength() { return Sample.values().length; } values()でenum型の配列が取得できるので、lengthを呼べば配列の要素数を取得できる。

AndroidでSQLiteを使用する

データ定義 AndroidでSQLLiteを扱うにはSQLiteDatabaseクラスを使用します。 このSQLiteDatabaseのインスタンス生成を簡略化してくれるのがSQLiteOpenHelperです。 SQLiteOpenHelperは抽象クラスであり、DBオープン時、テーブルのバージョンアップ時の実装を…

Android4.1以下でRelativeLayout.LayoutParamsの相対位置指定を動的に削除したい

RelativeLayoutの相対位置をプログラム中で動的に削除する際RelativeLayout.LayoutParams#removeRuleを使いたいのだけれどAPIレベルが16以下の場合実装されていないため使うことができない。(NoSuchMethodErrorが発生する。) RelativeLayout.LayoutParams …

Androidで振動の実装

AndroidManifestに設定を追加して <uses-permission android:name="android.permission.VIBRATE"/> 以下の1行を書くだけ。 ((Vibrator)getSystemService(VIBRATOR_SERVICE)).vibrate(100); vibrateの引数にミリ秒を渡すことでその時間だけ振動を続けます。 これで震えなかったら当該端末がVibratorに対応していないという</uses-permission>…

ノンデザイナーズ・デザインブック 4つの基本原則

デザインの4つの原則 上手なデザインに共通して見つけることができる4つの基本原則の概要を示す。 1.近接 関連する項目は近づけてグループ化する。いくつかの項目が互いに近接しているとき、それらは1つの視覚的ユニットとして認識される。 これにより情…

Mac OS X のDock風の表現をcssで実現する

css

やりたいこと できあがったもの コード <section id="dock"> <img src="http://f.st-hatena.com/images/fotolife/j/javabayashi/20140503/20140503131045.jpg?1399090451" /> <img src="http://f.st-hatena.com/images/fotolife/j/javabayashi/20140503/20140503131045.jpg?1399090451" /> </section>

floatでいろいろ寄せる

css

左に寄せる こんな感じで見出しを左に寄せたいときは、cssでfloat:leftの設定を行う。 同様にfloat:rightを設定すれば見出しは右に寄ります。 h1 { float:left; } floatプロパティによる流し込みを解除する float: both; 画像を並べて表示する 先行するフロ…