Containableビヘイビアをご存知でしょうか?
もし、使用していならばこれを機にぜひ導入してみてください。
公式ページによると
ContainableBehavior は CakePHP のコアの新機能です。このビヘイビアは find を実行するときに関連したモデルを選別したり限定したりするために使用します。コンテイナブル(Containable)は、データベース中の不要なものを削減し、アプリケーションの速度やパフォーマンスを改善します。このクラスを使うと、ユーザに対するデータの検索とフィルタを、美しく一貫した方法で行うこともできます。
と、魅力的に説明されています。
使用方法や動作は、公式ページをみるのが手っ取り早いので割愛しますm(_ _)m
#ググってください
このビヘイビアのメリットはたくさんあるのですが、
特に便利だと思う点が
- recursiveやbindModelやunbindModelの記述がなくなって、ソースコードがきれいでわかりやすくなる
- あとで関連を選別できるからモデルの関連をモリモリの最大で書いておくことができる
の2点で、とにかく便利です。
さらに以下のサンプルのようにモデルのrecursiveのデフォルト値を-1としておけば、
何をcontainすればいいのか、しているのかがソースコードからわかりやすくなってお勧めです。
class UserModel extends AppModel {
public $recursive = -1;
public $actsAs = array('Containable');
}
Biglobeさんが運営する国内最大級のAndroidアプリ紹介サイトandronaviにて、弊社の音楽試聴AndroidアプリMusicFlyが『絶対入れたい定番アプリ』に選ばれました!
SimejiやIMoNiなどの超有名アプリと並ばせていただき、すごい光栄です。
その影響か週間アクセスランキングでも堂々の第5位となりました!
最近、Twitterなどでも、多くのコメントをいただき多くの方に応援されていることを実感しています。
引き続きよろしくお願いいたします。

絶対いれたい定番アプリ
CakePHPのPrefixRoutingは
例えばadmin_editという関数に対して、通常
/:controller/admin_edit
となるURLを
/admin/:controller/edit
とすることができるもの。
管理画面やWebAPIのために特別なURLを用意することができる。
このPrefixRoutingだが、設定の方法がCakePHP1.3より簡単なものに変更された。
そのやり方とは/app/config/core.phpで
Configure::write('Routing.prefixes', array('admin', 'api'));
とするだけ。
# サンプルとしてadminとapiというプレフィックスを設定
ね、かんたんでしょ。
CakePHP1.2の時は複数のプレフィックス設定するのはRoutesをいちいち書いて結構めんどくさかったなー
弊社BPSで開発しておりますAndroid端末向け音楽試聴アプリMusicFlyを先ほど1週間ぶりにアップデートしました。
今回のアップデートにより
XperiaMiniに代表される低解像度端末や、反対の高解像度端末などへの対応を果たし
全スクリーンサイズ対応のアプリケーションとなりました。
技術者向けの参考情報
また、以前より原因が解明できずにいたバグのいくつか解決することができました。
そのうちの一つがAndroid1.5でのみタブを利用した画面で強制終了してしまうクリティカルなバグであり、
今回無事解決しました。技術者向けの詳しい話はこちらで。
該当端末を利用している方にはご不便おかけしました。
音楽試聴AndroidアプリケーションMusicFlyが先日公開されたバージョン2.2.0より、他のアプリから呼び出すことが可能になりました。
アーティスト名もしくはアルバム名を受け取ってその検索結果一覧画面を表示させることができます。

他アプリケーション →

MusicFly
右の画像はサンプルアプリケーションから【hoge】という単語でMusicFlyにアーティスト検索を起動させています。
サンプルアプリケーションのコードを載せておきますので、参考にしていただいて、ぜひとも素晴らしいアプリを開発してください。
// 入力フィールド
final EditText editText = (EditText) findViewById(R.id.text);
// アーティスト検索ボタン
final Button artistBtn = (Button) findViewById(R.id.btn_artist);
artistBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 入力フィールドのテキストを取得
String input = editText.getText().toString();
// アーティスト検索を実行
Uri uri = Uri.parse(String.format("musicfly://search?type=artist&name=%s", input));
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});
// アルバム検索ボタン
final Button albumBtn = (Button) findViewById(R.id.btn_album);
albumBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String input = editText.getText().toString();
Uri uri = Uri.parse(String.format("musicfly://search?type=album&name=%s", input));
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});
先ほど音楽試聴Androidアプリ MusicFlyをバージョン2.2にアップデートしました!!
新バージョンの主な特徴は、
- 楽曲の購入をより分かりやすく
- Tweitterとの連携を強化
- 他アプリからの起動が可能
となっています。

楽曲の購入をより分かりやすく
楽曲の購入をより分かりやすく
MusicFlyは音楽試聴アプリであり、試聴していただき気に入ったものがあれば購入していただくことを目的としています。
しかし、ユーザーの方々から購入遷移がわかりずらいとの声をいただき、それを解消するため、今回のアップデートでより分かりやすい仕組みを導入しました。気に入ったアルバムがあれば再生画面の【Buy Now】ボタンからお願いします。

Tweitterとの連携を強化
Tweitterとの連携を強化
MusicFlyの主な機能のひとつに気にいったアーティスト、アルバムをお気に入りとしてブックマーク登録できるというものがあります。そして、TwitterとMusicFlyの連携を許可していれば、お気に入り登録時に自動でその旨をつぶやくことができました。
今回のアップデートではこのTwitterとの連携を強化し、お気に入り登録時にTweetするのかしないのか、するならばそのメッセージ内容を編集できるようになりました。

他アプリからの起動が可能
他アプリからの起動が可能
Twitterのあるユーザーさんの発言がきっかけとなり、開発しました。
他アプリから検索キーワードをMusicFlyに投げると、その検索結果を表示できます。
詳しい利用方法は後日別の記事にまとめます。
謝辞
気がつけばMusicFlyもバージョン2.2となり、初期開発から数えると半年以上のプロジェクトとなってきました。ここまでこれたのも、応援、ご協力していただいている多くの皆さまのおかげであり、感謝の次第であります。
そして、今後もよりよいサービスを提供できるよう、ますますの応援、ご協力をよろしくお願いします!!
弊社で開発していおりますAndroidアプリ MusicFlyとカタぞうではバグ報告システムによって収集しているデータがそこそこの量になってきたので、このたび、グラフとして現在のAndroid情勢を比較してみました。
バグ報告システムとは何ぞやという方はこちらの記事をどうぞ。
この仕組みを参考にさせていただきました。
*注 データとしてあまり信頼はしないでください。あくまで参考程度に。
デバイスのシェア

SDKのバージョン

みなさん、本当にお待たせしました!!
音楽生活をより楽しくするための音楽試聴AndroidアプリケーションMusicFlyが満を持して本日バージョン2.1にアップデートしました!


今回のアップデートの目玉は
- 人気アーティスト、アルバムランキング機能
- 気まぐれアルバム検索機能
- 検索キーワード履歴
です。
他にも細かい修正や、機能追加など盛りだくさんの内容ですので
ぜひとも、あなた自身の目で、耳で、その違いを体感してください。
新バージョンのMusicFlyのダウンロードはこちら
弊社の人気サービスである音楽試聴AndroidアプリケーションMusicFlyが
AuのAndroidアプリ紹介サービスAuOneマーケットにおいて
月間ランキング
週間ランキング
に輝きました!!

多くの方に愛され、応援していただき
ありがとうございます。
もうじき待望のバージョン2.1をリリースしますので
ご期待ください。
ベータテスターの募集は終了しました。
ご協力くださった皆様、ありがとうございました。
順調いけばMusicFlyを来週中に2.1にアップデートします!!
今回のアップデートの目玉は2点です。詳しくはお楽しみに。
ということで2.1を公開前にテストしていただくベータテスターを募集します。
新機能をいち早く試してみたいユーザーさんはぜひ協力してください。
応募は下のコメントフォームからお願いします。