■
昔書いた「タオルケットをもう一度」の電波感想文に、コンスタントに検索して来てる人がいるっぽい。
Android Studio 0.52 で エミュレータを起動するまでにハマったところ
https://github.com/mixi-inc/AndroidTraining で、サンプルプロジェクト実行までに色々ハマったのでメモ。
Android Studio 0.52を使用。
AVD Manager でデバイス追加ができない
具体的には AVD Manager の OK ボタンが押せない。
Android SDK 22.6 のバグの模様。 [参考 java - Cannot create or edit Android Virtual Devices (AVD) from Eclipse, ADT 22.6 - Stack Overflow]
Android Studio 0.52 付属の Android SDK は 22.6.2 で、このバグが残っている。
エミュレータにアプリを転送する際にエラー
アプリケーションを run すると下記のエラーが出る。
Error: Could not access the Package Manager. Is the system running?
現在
Gradle 楽しい✌ ('ω' ✌ )三 ✌ ('ω') ✌ 三( ✌ 'ω') ✌
Sublime Text 2 + vintage で Emmet の Ctrl+E を使う時は 挿入モードで。
最初コマンドモードで Ctrl+E してて何か変だな?ってなってた。
挿入モードならすいすい動きます。
WindowsのSassでエラーになる時
Windows で Sass を使おうとすると以下のようなエラーが出ることがある。
Encoding::UndefinedConversionError on line ["NUMBER"] of C: "\x[HEX-CODE]\x[HEX-CODE]" from Windows-31J to UTF-8
この対策として、コマンドプロンプトの文字エンコーディングをUTF-8にすることが挙げられている。以下のコマンドを実行することでできる。
> set LANG=ja_JP.UTF-8
しかしこれでも同じエラーが出ることがある。コマンドプロンプト自体のエンコードは変わっていない場合だ。
その時は以下のコマンドを実行しよう。(一時的に画面がおかしくなるが、 compass w するのに支障はない。また、別のコマンドプロンプトを開けばもとの状態になっている。)
> chcp 65001
この問題で4時間ハマってしまった。
File::move() は存在してない。
FuelPHP のバージョンは 1.6 です。
ドキュメントの File_Handler_File::move() には
The move method is a shortcut to File::move.
http://fuelphp.com/docs/classes/file/handlers.html#/method_file_move
つまり File::move() のショートカットだと書かれている。
しかし File::move() は存在してない。
まあ普通に File_Handler_File::move() を使えばいいだけなんだけど、
何故無いんだろう? File::rename() で同じ事ができるから?
FuelPHP1.6 の Orm\Model::find() で取得した Model からデータを取り出す。
$entry = Model_Hoge::find($id);
とした時に、レコードを連想配列で取り出すには to_array()を使う。
これでViewに渡したりできるようになる。
$entry = Model_Hoge::find($id);
$record = $entry->to_array();
return Response::forge(View::forge('view', $record));
基本的なところだと思うけど、なかなか情報が出てこなくてハマった。
ちなみに where とかで取り出した時はget()を使う。
参考: CRUD - Orm Package - FuelPHP ドキュメント
FuelPHP1.6 の oil generate model で SET や ENUM 型のカラムを作る
MySQL は 5.5.31-0ubuntu0.12.04.2
$ oil generate model table_name column1:set['one','two','three'] column2:enum['a','b','c']
とか。
重要なのは要素の間にスペースを入れないこと。
例えば
column1:set['one', 'two', 'three']
って書いちゃうと、中身が空のSETになる。