monacaで作ったファイルをシステムに認識させる
code{white-space: pre;}
moanacaで文字を画像化するアプリを作るのに困ったこと
今回作ったもの
文字画像 Narumium 価格:0
文字をいろんな色、フォントで画像化するアプリ 使ったもの:canvas
MONACAでメディアスキャンができないので何とかする
monacaではファイルをローカルに保存しても他のアプリから見ることはできません(アルバムアプリとか)。 ContentResolverやMediaScanConnectionによってファイルをシステムに認識させる必要があります。
結論
monacaではできません。 GOLD以上のプランなら独自プラグインを使えるのでそれで対応できるかもしれません。 お金がないので今回はcordovaで作ることにします。
monacaからプロジェクトエクスポート
まずはmonaca上で作っていたアプリを吐き出します。 プラグインは吐き出されません。 ビルドの設定は吐き出されるので先にmonacaに登録しておけば後々楽です。
cordovaのインストール
node(npm)のインストール
npm install -g cordova
monacaからcordovaへ
cordova ベースでプロジェクトを作成します
cordova create フォルダ名 パッケージ名 アプリ名 -d
cordova create folder com.hoge.fuga HogeFuga -d
cordova platform add android
www,platforms\resフォルダの中身を置き換える
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); });
デプロイ(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ができる
署名: keytool -genkey -v -keystore keystore.private -alias alias -keyalg RSA -validity 10000
パスワードは2つ必要になる
monacaだと普段1つしか使わないので忘れていたらあきらめる
最適化:zipalign -v 4 android-release.apk android-release-opt.apk
必須。これをしないと配布できない。
感想
monaca使うとかなり楽できてるのが実感できた。 phonegap使おうと思ったらしょっぱな404だったけどあれはいったいなんなのか。











