2015年10月23日金曜日

CrosswalkでARMのAPKをアップロードしたのにx86が含まれる




apkをzipに拡張子を変更して開いてみるとlibの中にx86のライブラリが入っています。sqliteプラグインを外して再度インストールを行うとなくなりました。



2015年10月2日金曜日

ファイルを扱う

Fileプラグイン自体の使い方は簡単なので割愛します。
FileプラグインはHTML5のFile APIに準拠しているそうなのでFile APIの使い方をメモ。
コールバック地獄へ入るのでAngularを使っている場合はng-cordova, そうでない場合は何らかの手段でpromiseを使用するのが必須だと思います。(FileAPIを簡易に扱うためのライブラリをいくつか試しましたがこれというものがありませんでした)

FileEntryオブジェクト

filesystem: FileSystem
fullPath: "/hoge.txt"
isDirectory: false
isFile: true
name: "hoge.txt"
nativeURL: "file:///storage/sdcard0/hoge.txt"

ファイルかディレクトリかの判断はisDirectory,isFileで可能

資料

2015年10月1日木曜日

com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs;


UNEXPECTED TOP-LEVEL EXCEPTION:
        com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs;
                at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
                at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
                at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
                at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
                at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
                at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
                at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
                at com.android.dx.command.dexer.Main.run(Main.java:246)
                at com.android.dx.command.dexer.Main.main(Main.java:215)
                at com.android.dx.command.Main.main(Main.java:106)

MFileChooserを使おうとして上記のエラーが出ました。
エラー原因は読んでそのままですが、修正がとても難しいです。
絶対に間違っている方法だと思いますが重複している片方のプラグインのconfig.xmlで依存をコメントアウトしました。。。。。。。

zip圧縮・解凍を行う

ng-cordovaで使われているのはcordova-plugin-zipですが、こちらのプラグインは解凍のみです。Androidのみとなりますが圧縮・解凍を行うプラグインがありました。(未検証)

jjdltc-cordova-plugin-zip


2015年9月27日日曜日

アプリデータバックアップ・リストア[Android](調査中)

Android backup service を簡単に扱えるようなプラグインがあるかと思いましたが見当たらないようです。

SQLite pluginのデータのある場所


databasesにopenDatabaseで指定したデータファイル(例: data.db)が入っているのでこれをバックアップすれば良い。


参考

2015年9月21日月曜日

OnsenUIでIE11に対応する

「他のブラウザはOKだけどIEは動かない」、というのはもちろんOnsenUIにも当てはまりました。ですが、デザインはボロボロに崩れて、動作はガクガクというような状況ではなく、少し習性を覚えて置いて修正が必要という程度でした。

Angularjs関連


バインドが反映されない

  • タグのstyleなどに直接 {{}} を記載しても反映されない。
  • ng-styleなどを使う必要がある。

細々したアラート・エラーが出る


  • タイミング依存の再現性のないアラート・エラーなどが出ます。なぜかアプリがクラッシュ・フリーズするようなものは出ません。


2015年9月20日日曜日

ダウンロードバッジの入手方法

ダウンロードバッジとは下記のようなものです。
公式サイトなどで作る事ができます。

Android app on Google Play