読者です 読者をやめる 読者になる 読者になる

プログラミングノート

一からものを作ることが好きなエンジニアの開発ブログです。

ccacheでAndroid NDKビルドの高速化

Androidのビルド遅いなーと思っていたらこんな記事を見つけたので早速導入。

matsukaz.hatenablog.com

続きを読む

cocos2d-xのAndroidプロジェクトをビルドする方法について

これまでcocos2d-xの環境構築メモで調べた手順でAndroidをビルドして開発していたところ、Google Play servicesをインポートしてEclipseでビルドしようとするとエラーが頻発するようになり一切ビルドできなくなるという状況に..。環境全部作りなおしたり、プロジェクト何回も作りなおしてみたりと色々試して何とか再度ビルドできるようになったのでまとめておく。

続きを読む

iフォトアルバムが書籍で紹介されました

2012年度より継続的に開発、もうすぐリリース3周年を迎えるiフォトアルバムですが、いつもアプリのレビューでお世話になっているApplivさんから発売されたiPhone/iPadアプリランキング2015の書籍で紹介されました。しかも画像・動画カテゴリーで第1位!とのことで、バナー画像まで作って頂けました。

f:id:ntaku:20150210100652j:plain

開発当初に実現したいと思っていたことなどはとっくに全て実装を終えてしまったのですが、その後はレビューで頂いた要望からなるほどなー、などと思いつつ3年間改善を続けています。色々なアプリが大量に増えて来る中で、ありがたいことにまだ無料の写真ランキングで100位以内、トップセールスでも30位前後に居続けられていますので、今後も継続して取り組んでいきたいなと思います。

500万人の声でわかった! 本当につかえるiPhone/iPadアプリランキング2015

500万人の声でわかった! 本当につかえるiPhone/iPadアプリランキング2015

MediaScanがKitKat(4.4)で動作しない件について

Androidではギャラリーアプリに出てくる画像や動画は全てContentProviderで管理されているため、写真アプリなどでファイル操作を行った場合、ContentProviderのデータについても正しくアップデートをかける必要があります。

4.3まではファイル変更後、下記のようにACTION_MEDIA_MOUNTEDを投げるだけでオールオッケーだったのですが、これを4.4で実行するとExceptionが発生するようになり利用出来なくなってしまいました。

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

どうしたもんかなーと悩んでいたのですが、結局のところは全ての変更を一つ一つ通知するか、直接ContentProviderのデータベースをアップデートするしか方法がないようでしたので、ファイル、フォルダ変更に対応できる処理を作りました。

続きを読む

Androidのリソース対応メモ

リソース定義

画面密度 倍率 端末 備考
ldpi 120dpi x0.75
mdpi 160dpi x1.0 基準サイズ
hdpi 240dpi x1.5
xhdpi 320dpi x2.0 Nexus4, 7, 9, SO-02G HD(1280x720)
xxhdpi 480dpi x3.0 Nexus5, 10 フルHD(1920x1080)
xxxhdpi 640dpi x4.0 Nexus6 主に4K解像度用

mdpiが基準値なので、100pxの画像を解像度別に準備する場合は下記サイズで準備する。ldpiはほぼ考慮しなくていいので作らなくていい。デザインする際はxxhdpiの1920x1080をベースにデザインしてそれぞれサイズ合わせて行くのが良さそう。

  • mdpi = 100px
  • hdpi = 100px x 1.5 = 150px
  • xdpi = 100px x 2.0 = 200px
  • xxdpi = 100px x 3.0 = 300px
  • xxxdpi = 100px x 4.0 = 400px

タブレット用

サイズ 対象
sw600dp 7インチタブレット
sw720dp 10インチタブレット

アイコン画像サイズ(px)

アプリアイコン ActionBarアイコン (実描画範囲)
ldpi 36x36 24x24 (18x18)
mdpi 48x48 32x32 (24x24)
hdpi 72x72 48x48 (32x32)
xhdpi 96x96 64x64 (48x48)
xxhdpi 144x144 96x96 (64x64)
xxxhdpi 192x192 128x128 (96x96)

こちらもmdpiを基準にそれぞれ倍率をかけたサイズになっている。

ActionBarアイコンのカラー

RGB #333333 #FFFFFF
有効時 60% opacity 80% opacity
無効時 30% opacity 30% opacity

IconPackも活用する。