monacaで作るアプリでメディアスキャンを行う方法 ============================================== moanacaで文字を画像化するアプリを作るのに困ったこと --------------------------------------------------- 今回作ったもの `文字画像 `__ .. figure:: ../image/mojigazou-icon.png :alt: | 文字をいろんな色、フォントで画像化するアプリ | 使ったもの:canvas MONACAでメディアスキャンができないので何とかする ------------------------------------------------ | monacaではファイルをローカルに保存しても他のアプリから見ることはできません(アルバムアプリとか)。 | ContentResolverやMediaScanConnectionによってファイルをシステムに認識させる必要があります。 結論 ---- | monacaではできません。 | GOLD以上のプランなら独自プラグインを使えるのでそれで対応できるかもしれません。 | お金がないので今回はcordovaで作ることにします。 monacaからプロジェクトエクスポート ---------------------------------- | まずはmonaca上で作っていたアプリを吐き出します。 | プラグインは吐き出されません。 | ビルドの設定は吐き出されるので先にmonacaに登録しておけば後々楽です。 cordovaのインストール --------------------- 1. node(npm)のインストール 2. ``npm install -g cordova`` monacaからcordovaへ ------------------- 1. cordova ベースでプロジェクトを作成します - ``cordova create フォルダ名 パッケージ名 アプリ名 -d`` - ``cordova create folder com.hoge.fuga HogeFuga -d`` - ``cordova platform add android`` - www,platforms\\resフォルダの中身を置き換える 2. pluginの追加(monacaで使ったものとMediaScan) - ``cordova plugin add https://github.com/apache/cordova-plugin-file.git`` - ``cordova plugin add https://github.com/apache/cordova-plugin-file-transfer.git`` - ``cordova plugin add https://github.com/apache/cordova-plugin-splashscreen`` - ``cordova plugin add https://github.com/Pandazaur/cordova-plugin-android-mediascanner`` - プラグインの使い方 :: window.plugins.scanmedia.scanFile( FILEPATH, function (msg) {console.log("Success ScanMedia");}, function (err) {console.log("Fail ScanMedia: " + err); }); 3. デプロイ(jdkとandroid-sdkが必要) - 準備 - ``..\jdk\bin\``\ と\ ``sdk\build-tools\[version]\``\ を環境変数\ ``Path``\ に追加する - 署名のためにmonacaから\ ``keystore.private``\ をダウンロード - ビルド:\ ``cordova build --release`` - ``folder\platform\android\build\outputs\android-release-unsigned.apk``\ ができる - 署名1: ``keytool -genkey -v -keystore keystore.private -alias alias -keyalg RSA -validity 10000`` - 署名2: ``kjarsigner -verbose -keystore keystore.private xxx.apk alias`` - パスワードは2つ必要になる - monacaだと普段1つしか使わないので忘れていたらあきらめる - 最適化:\ ``zipalign -v 4 android-release.apk android-release-opt.apk`` - 必須。これをしないと配布できない。 感想 ---- | monaca使うとかなり楽できてるのが実感できた。 | phonegap使おうと思ったらしょっぱな404だったけどあれはいったいなんなのか。