Problema al Generar APK en Android con Ionic 3

publicado por: Anonymous Saludos compañeros stackers, en esta ocasión ando estudiando el framework de Ionic, revisando los proyectos básicos que el framework te permite crear por defecto con comandos por consola. Usando Visual Studio Code 1.21.1, como plataforma base Android 7 y con versión de Ionic 3, teniendo mi proyecto básico listo para construir para…(Continue Reading)

WebAPIの実装方法

投稿者: Anonymous こんにちは Windows Server側でASP.Netで簡単なWebAPIを実装し、クライアント側(Cordova)でJavaScriptを使用してリクエストを投げようとしています。 WebAPIの実装はでき、ブラウザからhttp://IPアドレス/api/HealthValuesを実行すると正常に実行でき、結果が返ってきますが、Cordova内のJavaScriptから実行すると以下のようにエラーとなってしまいます。 XMLHttpRequest cannot load http://IPアドレス/api/HealthValues. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8100‘ is therefore not allowed access. いろいろ調べてみましたが、クロスドメインとなりブラウザのセキュリティ的に問題のある実装というような内容ばかりで、どのように解決するのが良いのかわかりません。 やりたいことはTwitterAPIのようにAPIを叩くとJSONでデータが返ってくるようなものをクライアントサイドから使いたいです。 手探りで作成しているため実装方法自体が間違っているかどうかの判断ができていません。 どなたか経験ある方にアドバイスいただければと思います。 参考までにクライアントサイドのコードを記載します。 return $http.get(‘http://IPアドレス/api/HealthValues’, {params: params}).then(function(response) { return response.data; }); 環境を追記します。 ・Cordovaバージョン: 6.0.0 ・対象とするplatform: 現在はbrowserで検証していました。最終的にはios, androidになります。 ・実行環境: クライアント:Mac OS X ElCapitan、サーバー:AWS EC2 解決 質問する際は環境を詳細に記載すると良いかと思います。 ・Cordovaバージョン ・対象とするplatform…(Continue Reading)

Error al instalar cordova por NPM

publicado por: Anonymous Estoy empezando en Ionic framework e intento instalar cordova con el comando npm install -g cordova pero me suelta este error, ¿alguien sabe por qué? [email protected]:~$ npm install -g cordova npm WARN deprecated [email protected]: Use uuid module instead npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules /usr/local/lib └─┬ [email protected] ├─┬ [email protected] │…(Continue Reading)

monaca/AndroidでWebViewで表示中の外部ページからローカルの音ファイルを再生したい

投稿者: Anonymous monaca/AndroidのWebViewで表示中の外部Webページのjavascriptから アプリローカルにある音ファイルを指定して鳴らす方法はありますでしょうか。 MediaAPIを使用しようとすると、表示したWebページでは new Media() は定義されておりませんのでエラーになります。 Mediaプラグインよりjsファイルを取り出し、Webページ内でロードさせますと 上記エラーは出なくなりますが、ローカルの音ファイルのアドレスを指定して読み込ませた所 読み込むことが出来ませんとエラーになります。 何か方法はありますでしょうか。 宜しくお願い致します。 解決 セキュリティ的な問題もありますので仰る方法ではありません。 まず、ローカルの絶対パスは”file:///”になりますが、 “file:///”パスは外部からはSecurityErrorではじかれます。 そして前者の理由からローカルのスクリプトを読めません。 cordovaはスクリプトを経由してネイティブのプラグインを呼びだすので、 MediaAPIを呼び出すことは出来ません。 同じ理由でローカルの音声ソースを参照することも出来ません。 ですので、どうしてもローカルと外部のページを共存して読み込みたいのであれば iframeを使用するか、外部ソースを読み込んで表示するなどして、 ローカルのページの中で外部ページを表示するしかないのではないでしょうか? 追記 ふと、思いついたのですが、 InAppBrowserを使用してローカルと共存も出来そうな気もします。 InAppBrowserのイベントからURLを取得できるので リクエストやハッシュなどを利用してURLからローカルにコマンドを送る方法ですね。 ただ、前述のiframeの方法もですが危険を伴います。 アプリから指定するページ以外からコマンドを送られた場合、 アプリをクラックされる恐れがあるからです。 外部ページを表示したい意図が分からないので実現方法として思い浮かぶのはコレくらいですね。 回答者: user10259

Cordovaプラグインで電話発信を機能させたい

投稿者: Anonymous 知りたい内容 a href="tel:~" で電話発信するためのCordovaプラグインを知りたい。 背景・実現したいこと 現在MonacaでHTML5ハイブリッドアプリを制作しています。 対象OSはiPhone・Androidの2種類です。 Cordovaプラグインがデフォルトでインストールされているデバッガーでは、 <a href="tel:000-1111-2222">00-1111-2222</a> などと記述した箇所を 実機でタップすると電話発信されますが、リリースビルドをして実機テストを すると発信されません。 恐らく、リリースビルドとデバッグ環境ではCordovaプラグインの環境が 異なるため生じたバグではと疑っていますが、これを解決するための プラグインはどのようなものが想定できるでしょうか。 現在インストールされているCordovaプラグイン Geolocation InAppBrowser MonacaPlugin Splashscreen Whitelist 解決 OSはどちらになるのでしょうか? とりあえず説明だけ…… 実装方法はいくつかありますが電話番号のリンクは iOSではInAppBrowserの_system、 AndroidではWebIntentを使用して開きます。 上記はCordovaプラグインの設定から追加します。 また、他の方法では 文章中の電話番号の認識はMETAで封じているかと思います。 数字を全て電話番号として扱うのであれば、これを外すのも一つです (※実際に電話番号以外の数字もリンクしてしまうのであまりオススメは出来ませんが……) aタグでもtargetを記載すれば動いたような…… そのままaタグを使用すると1つ問題があり、現在のページを上書きしてしまいます。 (※今のMonacaを触っていないので、もしかするとアップデートに伴いWhitelistの関係で上書きできないかも……) ※自分の昔のコード見るとiOSはこれで飛んでいたっぽい…… location.href=”tel:”+tel_number; 恐らく現在のページにはcomponentsの読み込みがあるかと思いますが、 それが読み込まれなくなるとアプリは制御を失います。 ですので、出来る限りaタグで遷移するのではなくjavascriptで制御して遷移しましょう。 それがアプリと関係ないページであれば、尚更必要かと思います。 回答者: user10259

認証プロキシ環境下でのgradleの使用

投稿者: Anonymous Cordovaプロジェクトでandroid向けにビルドする際に以下のようなエラーが発生し、ビルドが成功しません。 java.io.IOException: Unable to tunnel through proxy. Proxy returns “HTTP/1.1 407 Proxy Authentication Required Gradleのプロキシの設定として、Users/<user-name>/.gradle/gradle.propertiesには以下のような設定をしています。 systemProp.http.proxyUser= *User* systemProp.http.proxyPassword= *password* systemProp.http.proxyHost= *host* systemProp.http.proxyPort= 8080 systemProp.https.proxyUser= *User* systemProp.https.proxyPassword= *password* systemProp.https.proxyHost= *host* systemProp.https.proxyPort= 8080 systemProp.jdk.http.auth.tunneling.disabledSchemes=”” 他に何か認証に失敗する要因がありましたら教えていただけないでしょうか。 追記、 gradlewには以下のオプションを追加しています。 # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to…(Continue Reading)

Almacenamiento en base de datos en Android e iOS con Cordova

publicado por: Anonymous He desarrollado aplicaciones para dispositivos móviles Android con Cordova que han utilizado localStorage para guardar los datos, porque eran pequeñas cantidades(configuración, records y mejores puntuaciones, etc.) y, hasta ahora, no he tenido ningún problema. Ahora estoy desarrollando un pequeño juego de trivial que se publicaría en Android e iOS, y voy a…(Continue Reading)

MonacaでCordova5.2にアップデートしたらAndroidビルドに失敗してしまいます

投稿者: Anonymous MonacaでCordova4.1からCordova5.2にアップデートしたところ、Androidビルドに失敗するようになりました。 ビルド設定などの対応方法があれば、お教えください。  ・Cordovaアップデート前はビルドに成功していました。  ・ビルドではなくMonacaデバッガーで動作させた場合、特にエラーはなく動作します。  ・デバックビルド、リリースビルド両方ともビルドに失敗します。  ・iOSビルドの場合、問題なくビルドに成功します。 ビルド失敗後のメッセージには、ビルド設定に間違いがある可能性があるので下記の設定を再確認してください と表示されます。  ・AndroidManifest.xmlは正しく設定されていますか?  ・キーストアの設定が正しいですか? →これらの設定はCordovaアップデート前から変更していません。 以下はビルド失敗時のログになります。 Temporary folder: /private/tmp/monaca/565bfce4fd1734416071b4f9 Downloading project Download complete Running for 5.2 plugin add mobi.monaca.plugins.Monaca No ALTQ support in kernel ALTQ related functions disabled pf enabled Installing &quot;mobi.monaca.plugins.Monaca&quot; for android No ALTQ support in kernel ALTQ related functions disabled pf disabled plugin add…(Continue Reading)

cordova-plugin-purchaseで課金を実装したが、sandboxユーザーではうまくいくのに審査ではクラッシュしてしまう

投稿者: Anonymous cordova-plugin-purchaseで課金を実装し、sandboxユーザーでは正常に動作したため審査に提出したのですが、審査員から課金ボタンを押すとクラッシュするという審査結果が届きました。 ・審査員からは iPad Pro 、iPad Air でクラッシュを確認したと連絡がありました。 ・cordovaを10にアップグレードしても症状は同じでした。 ・プラグインをcc.fovea.cordova.purchaseに入れ替えても症状は同じでした。 ・審査通過前だからなのか、sandboxユーザーの場合は正常に課金処理できるのですが、通常のAppleIDではAppleStoreに接続できないというエラーが出てしまう。 クラッシュログなどを見ても活用方法が分からず問題解決にいたっておりません。 どなたかお気づきの点があれば教えて下さい。 解決 いろいろ調査をしたのですが、うまく動作をせず下記のプラグインに変更しました。 cordova-plugin-inapppurchase 回答者: Anonymous

MONACAアプリ内部のHTMLへのアクセス

投稿者: Anonymous MONACAアプリでHTMLファイルをダウンロードして (場所はcdvfile://localhost/persistent/test.htmlとします。) 上記のファイルをInAppBrowerで開きたいのですが、 アドレスをどのように設定すればよいのでしょうか? ダウンロードしたファイル名(iFunBoxではmonaca/Documents)の一覧が表示されています それをクリックすることでブラウザを開く予定です function readFileで開く予定です <!DOCTYPE HTML> <html> <head> <meta charset=”utf-8″> <meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no”> <script src=”components/loader.js”></script> <link rel=”stylesheet” href=”components/loader.css”> <link rel=”stylesheet” href=”css/style.css”> <script> var directoryEntry; document.addEventListener(‘deviceready’, init, false); function init() { //window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, getFilesFromDirectory, fail); window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, getFilesFromDirectory, fail); document.getElementById(‘download’).addEventListener(‘click’, downloadFile, false); } function getFilesFromDirectory(fileSystem) { //directoryEntry…(Continue Reading)

Como obtener la información de un objeto promise en angular

publicado por: Anonymous Realizando un return de una consulta en SQLite a una variable, el objeto queda como si estuviera encapsulado o no se como se llama, pero en la consola aparece como Promise, dentro de el la información esta dentro de un value, la cual esta dentro de un $$state. Esta es la forma…(Continue Reading)

レンタルサーバでweinreを使える?

投稿者: user10259 お世話になっております。 現在デバッグツールとしてweinreを使用しているのですが ローカル環境でweinreを使用すると同一LAN内でないと使えないので、 外からでもさくらインターネットなどのroot権限の無いレンタルサーバ上でweinreが使えないかと考えております。 weinreを見ている感じですと、weinre>webを公開しているので webディレクトリを設置すれば使用できないかと思いましたがダメでした……。 なにか方法はないでしょうか?よろしくお願いいたします。 解決 weinreは別のブラウザからデバッグコンソールを使えるようにするツールですが、そのようなことを実現するにはデバッグする側・される側のブラウザが相互に通信できなければなりません。仮に直接ブラウザ間で通信するとなると、どちらかをサーバーとして通信を受け付けられるようにしなければなりませんが、ブラウザにそのような機能はありません(最近また変わってきてはいますが)。 そのためweinreは次のような構成を取っています。 デバッグする側のブラウザで動かすJavascript デバッグされる側のブラウザで動かすJavascript 両者の間の通信を仲介する、Node.jsベースのサーバープログラム root権限はなくても構いませんが、Node.jsでサーバーを動かせる環境でないといけないので、よくある「Perl・PHP・Rubyが動きます!」みたいなレンタルサーバーでは厳しいかと思います。動かせる環境の例としては・・・Herokuとか。時々しか使わないなら無料プランで足りるかもしれません。 例 https://github.com/pmuellr/weinre-heroku また、厳密には「同一LAN内でないと使えない」という制約はありません。–boundHost オプションを正しく設定し、外部からサーバーにアクセスできるようルーターなどの設定を行えば、自宅のPCで動かしたweinreサーバーを外から使うことも可能です。 なお、weinreのサーバーはあまりセキュリティについて考慮されておらず、SSLを使っていないのはもちろん、アクセス制限の機能も持っていません。weinreサーバーにアクセスできる人は誰でも、デバッグ対象のブラウザ上で任意のスクリプトを実行できる、という点には注意してくださいね。 回答者: Anonymous

HealthKitから歩数を取得したい

投稿者: user10259 お世話になっております。 現在Monacaで開発を進めており、 Cordovaプラグインを利用してHealthKitから歩数を取得しようと考えました。 こちらのプラグインを拝借し、 Monacaへ下記のように組み込み実際に歩数を取得するところまで出来ました。 そこで問題なのですが、この歩数…ヘルスケアアプリを開くまで更新されません。 ヘルスケアアプリを開かなくても、アプリから命令を送り更新することはできないでしょうか? よろしくお願いいたします。 var hk = null; var isHK = false; document.addEventListener(“deviceready”, function(){hk_init();}, false); /** * HealthKit Initialized and Support Check. **/ function hk_init(){ //モジュールが存在しない if(typeof window.plugins.healthkit === ‘undefined’ || window.plugins.healthkit == null){return false;} if(typeof hk === ‘undefined’ || hk == null){hk=window.plugins.healthkit;} hk.available( function(res){ if(res){ isHK=true; console.log(“healthkit ready.”);…(Continue Reading)

Error al instalar Cordova con npm en Windows 10

publicado por: Anonymous Al ejecutar en consola (cmd) npm install -g cordova me aparece el siguiente error: npm ERR! Unexpected end of JSON input while parsing near ‘…:”^4.3.x”,”shelljs”:”‘ npm ERR! A complete log of this run can be found in: npm ERR! C:UsersusuarioAppDataRoamingnpm-cache_logs2018-06-06T01_00_41_336Z-debug.log el log es el siguiente: 0 info it worked if it ends…(Continue Reading)

Error: Requirements check failed for JDK 1.8 or greater

publicado por: Anonymous Querio lanzar los comandos: ionic build android ó ionic run android –device pero siempre me lanza este eror: Error: Requirements check failed for JDK 1.8 or greater la version de java que tengo es 1.8.0_111, tengo las variables de entorno definidas, pero no se porque me da este error. Volvi a desargar…(Continue Reading)

Cambiar el estilo de un DIV cuando este sea presionado

publicado por: Anonymous Tengo un problema con una aplicación móvil híbrida. Quisiera cambiar el estilo de un div cuando este sea cliqueado. Actualmente tengo algo como: <div id=”foo”> Lorem ipsum dolor… </div> y aplico en mi documento css: #foo:active{ background-color: red; } Sin embargo, en mi aplicación móvil, cuando doy toques rápidos (clics rápidos) el…(Continue Reading)

MonacaIDEへのカスタムプラグインのインポートについて

投稿者: Anonymous MonacaIDEに自作したCordovaプラグインをインポートすることはできますか。 解決 Gold プラン以上が必要になりますが、自作の Cordova プラグインをインポートして利用することが可能です。 参考: Asial BLOG: Cordova/PhoneGapプラグインを使おう 回答者: Anonymous

cordova-imagePickerで画像を表示・選択する方法

投稿者: Anonymous お世話になります。タイトルで書いたことをやりたいのですがエラーが発生します。 最初から順に書きますので漏れなどあればご教示ください。 Monacaを使用しています。 1.新規プロジェクトから「Onsen UI最小限のテンプレート(ユニバーサルアプリ対応版)」を選択 2.「ファイル」-「Cordavaプラグインの管理」から「Cordovaプラグインのインポート」をクリック 3.「ZIP形式のプラグイン」を選んで、配布元から落としたZipをインポート インポート結果が下記画像になります。 4.index.htmlのscript内を下記に変更 <script> ons.bootstrap(); if(typeof device === ‘undefined’){ document.addEventListener(“deviceready”, onDeviceReady, false); }else{ onDeviceReady(); } function onDeviceReady() { try{ window.imagePicker.getPictures( function(results) { for (var i = 0; i < results.length; i++) { console.log(‘Image URI: ‘ + results[i]); } }, function (error) { console.log(‘Error: ‘ + error); }…(Continue Reading)

Generar apk cordova

publicado por: Anonymous Cuando genero el apk con cordova Agrego la paltaforma de android cordova platform add android luego construyo la aplicación cordova build android Se genera la aplicación. Pero como se que api esta tomando del sdk(si instale varios en mi sdk). ¿? solución Primeramente necesitas conocer las siguientes definiciones: minSdkVersion : indica desde…(Continue Reading)

Creando un nuevo AVD, ¿qué CPU/ABI debería seleccionar?

publicado por: Anonymous Después de bastante tiempo, actualicé mi versión de Cordova y las diferentes herramientas de Android. Se descargaron nuevas APIs y me decidí a crear un nuevo Dispositivo Virtual de Android (Android Virtual Device o AVD) llegando al siguiente menú: Lo cierto es que nunca me había fijado mucho en el campo CPU/ABI…(Continue Reading)

Cordova Uncaught ReferenceError: test is not defined at file:///android_asset/www/js/index.js:24

投稿者: Anonymous Cordova Pluginを開発しているのですが、 Androidで確認したところ以下のエラーが発生し、Nativeコードまで処理がいきません。 Uncaught ReferenceError: test is not defined at file:///android_asset/www/js/index.js:24 この類の原因は、おそらく.xmlの設定ミスやファイルの置き場所などが考えられますが、test.jsはbuildまたはrunしてもしっかりとwww/jsのディレクトリに存在しています。 また、ソース類は以下のようになっております。 【plugin.xml】 <?xml version=”1.0″ encoding=”utf-8″?> <plugin xmlns=”http://www.phonegap.com/ns/plugins/1.0″ id=”cordova-plugin-test” version=”1.0.0″> <name>cordova plugin test</name> <engines> <engine name=”cordova” version=”>=3.1.0″/> </engines> <asset src=”www/test.js” target=”js/test.js”/> <js-module src=”www/test.js” name=”test”> <clobbers target=”test” /> </js-module> <!– pratform add android –> <platform name=”android”> <config-file target=”res/xml/config.xml” parent=”/*”> <feature name=”CordovaPluginTest”> <param name=”android-package”…(Continue Reading)

Android SDK Tools rev25.3 以降の Windows + cordova 開発環境でのavd設定ができない

投稿者: Anonymous <環境> 開発環境OS: Windows7 64bit android studio: v2.3.2(SDK同梱版) node: v4.1.2 npm: v2.14.4 cordova: v7.0.1 <状況> https://cordova.apache.org/docs/ja/latest/guide/cli/index.html 上記、公式サイトの通りに以下の手順にてhelloworldアプリを作成して みましたが、avd 関連が上手く設定できていなくて、emulator が起動しません。 $ cordova create hello com.example.hello HelloWorld $ cd hello $ cordova platform add android $ cordova build andoroid $ cordova emulate android 具体的には「cordova emulate android」実施後に以下が表示されます。 … BUILD SUCCESSFUL Total time: 8.616 secs Built the…(Continue Reading)

cordovaで作成したアプリのバージョン情報を取得方法

投稿者: Anonymous cordovaを使用して作成したハイブリットアプリのバージョン情報を取得する方法があるでしょうか? やりたいことは下記のようなことです。 ◎「インストールされているアプリのバージョンをチェックし、ストアに誘導する」 http://qiita.com/jakais0041/items/0220685c6d3a724fd0d6 解決 以下のようなCordova pluginならありますが、要望にあってますか? https://github.com/whiteoctober/cordova-plugin-app-version 以下のようにしてJavascriptからアプリのバージョンを取得できます。 cordova.getAppVersion.getVersionNumber(function (version) { alert(version); }); 回答者: Anonymous

Android エミュレーターへAPKファイルがインストール出来ない

投稿者: Anonymous CordovaでAndroidアプリの開発をしています。 cordova run –emulator で、デバッグビルドは無事にエミュレーターにインストールすることが出来るのですが cordova run –release –emulator とすると、インストールに失敗してしまいます。 stack traceを見ても不明なエラーとなり原因がわかりません。 お力添えのほどよろしくお願いします。 ◆ 開発環境 Windows8.1 JDK1.8.0_05 cordova: 5.1.1 ◆ ログ Running command: cmd “/s /c “~appplatformsandroidcordovarun.bat –release –emulator”” ANDROID_HOME=~AppDataLocalAndroidandroid-sdk JAVA_HOME=C:Program FilesJavajdk1.8.0_05 Running: ~appplatformsandroidgradlew cdvBuildRelease -b ~appplatformsandroidbuild.gradle -PcdvBuildArch=arm -Dorg.gradle.daemon=true :preBuild ~中略~ :cdvBuildRelease BUILD SUCCESSFUL Total time: 5.134 secs Built the following apk(s): ~appplatformsandroidbuildoutputsapkandroid-release-unsigned.apk…(Continue Reading)

monacaでファイル選択ダイアログを表示する方法

投稿者: Anonymous monacaにて、ローカルファイルを選択してパスを取得する方法がわかりません。 具体的には、端末にある音声ファイルを選択し、アプリに登録したいと考えています。 画像に関してはCameraプラグインという便利なものがありますが、 画像以外のファイルについては、同様のことをどのように実現すればよいでしょうか? よろしくお願いします。 解決 別の方法です. <input type=”file”> を含むページを作れば,そこからファイル選択ダイアログが出せます.そこで選んだファイルを,このinput要素から何らかの方法で取得してやればよいはずです. AngularJS なら,ngModel と類似した機能を持つ fileModel という以下のようなディレクティブを定義すれば,適当な変数にバインドできます. app.directive(‘fileModel’,function($parse){ return{ restrict: ‘A’, link: function(scope,element,attrs){ var model = $parse(attrs.fileModel); element.bind(‘change’,function(){ scope.$apply(function(){ model.assign(scope,element[0].files[0]); }); }); } }; }); (http://qiita.com/zaburo/items/f03433caa710902d599f から引用) HTML側では, <input type=”file” file-model=”src”> のようにすれば,srcにfileオブジェクトがバインドされます. 回答者: Anonymous

Cordova+Middleman環境のデバッグ方法について

投稿者: Anonymous 私は、CordovaとMiddlemanを使って、AndroidとiOS両対応のアプリを開発しています。 構成は単純で、MiddlemanとCordovaのプロジェクトを別々に作り、Middlemanのbuild出力先をCordovaプロジェクトのwwwに指定しているだけです。 開発が進みcordova.jsを用いた機能を作る事になりましたが、いくつか問題が発生しました。 Middleman上ではcordova.jsというファイルは無い Middlemanのserverで実行した際に、deviceOnReadyイベントも飛んでこない なので、現状、いちいち実機(シミュレータ)に転送してデバッグしています。 簡単にデバッグ可能なうまいやり方は無いでしょうか? 解決 通常のブラウザで動作確認したい、かつcordova.js使いたい場合には、 browser platformを追加するとブラウザ用のcordova.jsを利用できるようになります。 $ cordova platform add browser $ cordova prepare 上のコマンドをcordovaプロジェクト内で実行すると、platforms/browser/www以下にプロジェクトのファイルを生成してくれます。Middlemanでこのディレクトリをホストするとブラウザでもdevicereadyイベントが発火するようになるはずです。 このbrowser platformはCordova4から新しく追加されたplatformで、ブラウザで動作確認したい時の開発用のplatformです。このplatformに対応しているプラグインであれば通常のブラウザでも動作するようになっているようです。 browser platformの詳細については以下の記事で紹介されているので参照してみてください。 http://www.raymondcamden.com/2014/09/24/Browser-as-a-platform-for-your-PhoneGapCordova-apps ブラウザではなく実機でなるべく素早く動作確認したい場合には、ライブリロードを行ってくれるMonaca LocalkitやPhoneGap Developer Appなどの専用のツールを使うことを検討すると良いでしょう。 回答者: Anonymous

JavaScriptでのSQL文の難読化

投稿者: Anonymous Cordovaを使用してJavaScript、HTML、CSSでスマホアプリを作成しています。 その際、スマホ端末内でデータベース(WebSQL)を利用しています。 したがって、JavaScriptファイル内にSQL文を記述するのですが、 それらのファイルを、Uglifyでミニファイ(難読化)しても容易にデータベース構造が解読される状態になります。 例えば、次のようなコードの場合、()内が文字列のため、難読化されないと思われます。 tx.executeSql(‘CREATE TABLE … ‘); データベースを暗号化して使用する場合、データベースの中身は分からないにしても、 データベース構造が容易に分かってしまうのは危険性が高いと考えますが、 JavaScriptを使用する場合、仕方がないのでしょうか。 それとも、データベースの構造を難読化する解決策はあるのでしょうか? 解決 いろいろ質問への回答では無いことも書きますが、お許しください。 とりあえず、一番簡単なのはWebSQLをやめてLocalStorageを使いkeyを分かりにくい名前にすることです。まずローカルでSQLを使わないと管理できないほどのものを扱っているのでしょうか。あとWebSQLはW3Cの標準からは抜けたので今後どれだけメンテされるか怪しいです。 また データベースを暗号化して使用する場合、データベースの中身は分からない というのは正しくありません。ローカルでデータベースを読み書きしている以上鍵もローカルにあるので少し頑張ればデータは読めてしまいます。 なのでJavaScript内のSQLクエリを難読化することに意味があるかというと、自分は努力に見合う効果は無いと思います。コードのuglifyもぶっちゃけソースを小さくすること以外そこまで効果は無いです。 それでもSQLクエリを難読化したい場合、JavaScriptに記載する文字列を事前に暗号化しておき、それを分かりにくい関数を用いて復号化するという感じになります。実際にやるならば、PerlなどでJavaScriptのソースからクエリを抜き出し暗号化したものへ置き換えるスクリプトを作り、リリース前にすべてのソースをそのスクリプトを通すという流れになると思います。 function decryptSql(sqlQuery) { //復号化する関数を用意 } //スクリプトで以下のようなコードを自動で置き換える //tx.executeSql(‘CREATE TABLE … ‘); tx.executeSql(decryptSql(‘暗号化された文字列’)); 回答者: Anonymous

monacaでlandscape時のスプラッシュスクリーンの表示方法(android)

投稿者: Anonymous いつもお世話になっております。 monacaを利用して、cordovaハイブリッドアプリを開発しています。 スプラッシュスクリーンが表示されない問題が発生しています。 (指定した秒数の間は画面が暗転し、その後トップページが表示されます) こちらで試した内容は以下の2点です。 いずれもスプラッシュスクリーンは表示されませんでした。 1.アプリを新規作成  アプリの設定 > [Android] > 画面の向き:[Landscape]として設定  デバッグビルド 2.アプリを新規作成 アプリの設定 > [Android] > 画面の向き:[Landscape]として設定 横画面用の9.png画像を用意し、config.xmlを <splash src=”/res/android/screen/splash-land-mdpi.9.png” density=”land-mdpi”/> と変更し、デバッグビルド 2を試した際、ビルドログには cp: no such file or directory: /private/tmp/monaca/*************/project/res/android/screen/splash-land-mdpi.9.png と表示されてしまいます。 スプラッシュファイルの設定画面には画面の向きごとの設定もないので、一括でいけるものかと考えていたのですが、どうやら違うようです… 解決策をご存知の方、ご教授頂けますでしょうか? プロジェクト構成と、config.xmlは以下のになります。 ○プロジェクト構成 [HelloWorld]  ∟[.monaca]  ∟[platforms]  ∟[res]   ∟[android]    ∟[icon]    ∟[screen]      ∟ splash-land-hdpi.png      ∟ splash-land-ldpi.png      ∟ splash-land-mdpi.png      ∟ splash-land-xhdpi.png      ∟…(Continue Reading)

InAppBrowserで外部ブラウザ起動しない

投稿者: Anonymous お世話になります。 題目通りです。すでに何回か質問されてるようで重複の可能性がありますがよろしくお願いします。 InAppBrowserプラグイン追加しました。 (1)var ref = window.open(url,’_system’,’location=no’); (2)var ref = window.open(url,’_system’,’location=yes,hidden=no’); (3)・・・・ (4)・・・・ など考えられるパターンをネットで見つけて手当たり次第試しましたが、一切外部ブラウザで立ち上がりません。WebView内ばかりで表示されます。 現在ベーシック会員だからできないのでしょうか? そのか設定やJSなどの読み込み、XMLの追加など何かあるのでしょうか? IDEからの実機デバッグなので実感しないのでしょうか? 全くお手上げ状態です。 大変申し訳御座いませんが御指導願いします。 また重複と思われ不快に感じる方には、この場で陳謝いたします。 追記:はじめてMONACAを使ってます。この場での質問はダメなのでしょうか?それさえも判断がつきません。申し訳御座いません。 ありがとうございました。 解決 Monacaのサイトより抜粋 var ref = cordova.InAppBrowser.open(url, target, options); target: URL の読み込み先として使用するブラウザーの種別。任意のパラメーターです。デフォルトでは、_self となります。 (String) ・_self: ホワイトリストに対象の URL が登録されている場合には、Cordova WebView を開きます。それ以外の場合には、InAppBrowser を開きます。 ・_blank: InAppBrowser を開きます。 ・_system: システム標準の Web ブラウザー ( system’s web browser…(Continue Reading)

Monaca InAppBrowserプラグインでWebView表示後、Web SQLで「no such table」エラーが発生する

投稿者: Anonymous MonacaでWeb SQLを使用したアプリを開発しましたが、Androidにおいて次の現象が解決できません。 ※Cordova InAppBrowserプラグイン有効。 ※Monacaデバッガー、リリースビルドで現象を確認。 下記の例を起動すると、page1で10件分のリストが表示されます。 page2に切り替え、「stackoverflow」ボタンをタップするとWebViewが表示されます。 「×」ボタンまたは「戻る」ボタンをタップして閉じ、page1に切り替えると、エラーコード:5 メッセージ:”no such table: t_test”が発生します。 実際は、Dropbox datastore APIの認証でWebViewを使用しています。 ログイン画面で「×」ボタンまたは「戻る」ボタンをタップして閉じ、一覧などの表示画面に切り替えると上記エラーが発生します。 ※API内のwindow.openで”_blank”以外は認証に失敗します。 また、appC cloudプラグインでもカットイン広告の画面遷移にWebViewを使用しており、「戻る」ボタンで戻ると同様のエラーが発生するため、導入を断念しました。 作りが悪いのか、諦めるしかないのか、ご教示のほどよろしくお願いします。 関連した内容と思われるリンク 1.inAppbrowser and webSql failure 2.Apache Cordova <!DOCTYPE HTML> <html la=”ja”> <head> <meta charset=”utf-8″> <meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no”> <script src=”components/loader.js”></script> <link rel=”stylesheet” href=”components/loader.css”> <script> var app = ons.bootstrap(“myApp”, [“onsen”]); // DB初期化…(Continue Reading)