ハイブリッドアプリ

ionic(cordova) config.xmlを環境(development、production)毎に分ける

以前から気になっていた内容。 ionic か corodova の標準の機能でありそうだけどドキュメント眺めたり検索してもよくわからない。みんな必要な機能な気がするがどうやるのが正しいのだろうか。解決したかったこととしては以下 ・アプリのBundle Identifierや…

【ionic2】ログイン機能を実装する

はじめに 今回やりたかったのは、まぁ普通のログイン機能をもつアプリ。実装したい要件としては以下 ・未ログインの場合は、ログイン画面を表示。 ・ログイン済の場合は、他の画面が見れる。実装方法としては以下のような形で行ってみた。 ・ログイン済みか…

【ionic2】apiリクエストをproviderで共通処理化する

はじめに 今回やりたかったことは以下 ・APIのURLを開発と本番で切り替えられるようにしたい ・アプリ全体で認証トークンをhttpヘッダーに含めたいこれらを満たすAPIリクエストの共通処理実装したのでメモしておく。 APIのURLを開発と本番で切り替える こち…

【ionic2】ionicPageで各画面をurlに対応させる

はじめに ionic1のルーティングまわりはui-routerで検索すれば色々出て来たけどionic2で何で検索すればよいのかまだよくわかってないけどとりあえずやり方はわかったのでメモしておく。デバッグのときとかはブラウザでリロードしたいし。あれ、けど目的はそ…

【ionic2】画面遷移のアニメーションを変更する

やりたかったこととしては画面の遷移の際のアニメーションでandroidでもiosみたいに左から右にスライドするようにしたいとういこと。 本来はプラットフォームごとに奨励されているアニメーションを使うべきだとは思うのだがやっぱりiosをベースで考えている…

ionic(cordova)でdatepickerを使う

日付入力のUIを当初は「input type="date"」で実装していたのだが、「消去」ボタンを消したかったのだがこれのやりかたがわからず。。素直にDatepicker使うことにした。プラグインインストール $ ionic plugin add cordova-plugin-datepickerテンプレート <ion-view ng-controller="SampleCtrl"> <input type="date" readonly ng-click="openDatepicker()" ng-model="date" /> </ion-view>…

【cordova】Androidプラグイン開発でgradleに設定を追加する

こんな感じでいけるみたい。plugin.xml <platform name="android"> ・・・ <framework src="src/android/sample.gradle" custom="true" type="gradleReference" /> </platform>sample.gradle allprojects { repositories { maven { url "https://maven.google.com" } } } dependencies { compile "com.android.support:appcompat-v7:25.4.0"…

ionic(cordova) 開発で使ったcordovaプラグインやライブラリまとめ

最近、ionicを使ってハイブリッドアプリをいくつか作ったのでそのときに使ったcordovaプラグインとionic・angular関連のJSライブラリを忘れる前にまとめておく。 ionic系 ion-slides-tabs タブの画面遷移をスワイプでも実装するのに使用。アプリぽいUIが実現…

ionic(cordova)にてLineログインを実装する

ionicでのアプリ開発でLineログインを実装したかったのだが、当初はWeb版で実装すれば良いかと思っていた。が、試したところSafariでないと自動ログインが有効にならずに毎回メールとパスワードを入力させる必要があり不便だった。少し調べるとこの記事が丁…

ionic(cordova)にてion-nav-viewで$ionicHistory.goBackで2つ以上前に戻る

今回たまたまやる機会があったのでメモしておく。 $ionicHistory.goBack(-2);これだけ。以上です

ionic(cordova)にてinstagram でのログインを実装

やりたいことは、instagramアカウントでのログインの実装。調べたところではSDKがなさそうで、webと同じような実装になりそう。また、投稿したりシェアしたり?のプラグインはあるみたいだけどログインはできなそうなので今回は自前で作る。やることは以下。 …

ionic(cordova)にてtwitterログインを実装

やりたいことは、Twitterアカウントでのログインの実装。 前提としては、fabricへは登録済みであること。やることは以下 ・fabricからorganizationsを作成 ・twitterアプリを作成 ・twitter-connect-pluginプラグインの導入 ・プログラム実装 fabricからorga…

ionic(cordova)にてGoogle+ログインを実装

簡単なものかと思ったらけっこう時間かかった。。手順はざっくり以下 ・ionicプロジェクトを作成 ・Googleコンソールからプロジェクトを作成 ・作ったプロジェクトに認証情報を作成 ・cordova-plugin-googleplusプラグインを導入 ・プログラム実装 ionicプロ…

ionic(cordova)でiOSでのキーボード入力で完了ボタンを表示する

inputタグでキーボード表示したあとに何かたりないと思ったら、完了ボタンがなかった。 ionic startで作ったプロジェクトだとデフォルトで非表示に設定されてるぽい。app.js angular.module('starter', ['ionic']) .run(function($ionicPlatform) { $ionicPl…

【ionic】collection-repeatで行の高さを動的にする

まだ調査中。無限スクロール実装するときにng-repeatよりcollection-repeatを使った方がパフォーマンスが良いらしい。とのことで。試していたら行の高さが1行目の高さに合わせられてしまうようで、高さを動的にする場合は高さを計算してやる必要がありそう。…

ionic(cordova)にて$ionicPopupをカスタマイズしてモーダルを作る

今回やりたかったのはこんな感じの画面。 初めはionicModalのサイズを変えてやろうとしていたのだが、モーダルのサイズを中のテキストとかにあわせてリサイズするのを自前で実装するのが手間でした。 で、少し調べたらionicPopupをカスタマイズしたら簡単に…

ionic(cordova)にてアプリをリロードする

今回やりたかったことは、アプリでログアウトしたときなどにアプリをはじめから実行しなおしたい。ということ。いくつか試してみてうまくいくパターンとうまくいかなかったパターンをメモしておく。・うまくいかなかったパターン $state.go('path/to'); $win…

ionic(cordova)にて無限スクロールが途中で止まった時の対応

なんのこっちゃというタイトルですが。無限スクロール実装して、実機で検証していると意図せず途中で止まってしまうことがあった。不定期なので気づきずらかった。ちなみに無限スクロールに実装サンプルはこちらに書いて見た。で、以下のコードを無限スクロ…

ionic(cordova)にて無限スクロールを実装する

今回やりたいこととしては以下 ・サーバーからデータを取得してレスポンスがなくなるまで無限スクロール ・エラーがあったら再読み込みボタンを表示普通の無限スクロールです。ひな形としてメモしておく。想定するJSON [{id: 1, name: "Tom"}, {id: 2, name:…

ionic(cordova)にてAndroidでもタブバー(ion-tabs)を画面下にする方法

Androidでion-tabsをデフォルトのまま使うとこんな感じで、画面上に設置され選択中のタブの下にラインが表示される。Android的にはこのUIが推奨されるのでしょうが、実案件ではiOSと合わせるということも多いはず・・・ angular.module('starter', ['ionic',…

ionic(cordova)の開発環境構築で最低限必要そうなプロジェクト開始手順をまとめておく

はじめに いまさらバージョン1系かよ。 という内容だが個人的にはまだまだ使う機会ありそうなのでプロジェクトを作成してから開発に入るまでの最低限必要そうな手順をメモしておく。バージョン2は勉強中。 各ツールバージョン バージョンによって動いたり動…

ionic(cordova)にて screen-orientationプラグイン を使って画面ごとに回転時の表示を切り替える

はじめに 今回やりたかったことは 端末を回転したときに画面Aでは縦固定、画面Bでは縦横どちらにも対応みたいなこと。プロジェクトを作成 $ ionic start sample tabs今回は複数画面必要だったのでtabsを使った。プラグインをインストール $ ionic plugin add…

【ionic】ion-side-menusを常に表示する

ionicの仕様?なのかナビゲーションの2階層目以降では消えてしまうようなのだが今回は全画面で表示したかった。よくわからなかったのでcssで無理やり実装。以下を追記したらいけました。 .bar .buttons .hide { display: block !important; }以上です

ionic(cordova)でsqliteを使う - ngCordova

はじめに 今回やりたかったのはsqliteを使う際に共通の処理とかはどこかにまとめておきたかった。接続とSELECT、INSERT、UPDATE、DELETEあたりをまとめられればよいかなという方針で。次回簡単に使えるようにメモしておく。インストール $ bower install ngC…

ionic(cordova)にてngStorageでlocalstorageを使う

bowerでインストール $ bower install ngstorage --saveindex.htmlで読み込む ・・・ <script src="lib/ngstorage/ngStorage.min.js"></script> ・・・今回はserviceで使った。 angular.module('myApp', ['ngStorage']) .service('myService', function($localStorage) { this.getByStorage = function() { return $…

ionic(cordova)で複数人でチーム開発するときのながれメモ

1人でやってるときは問題なかったけど、複数人でやってるときに最初うまくいかずにハマったのでメモしておく。 新規プロジェクト作成の場合 新規にプロジェクトを作成してandroid を追加(iosはデフォルトで登録済み) $ ionic start sampleApp blank -a "アプ…

ionic(cordova)で本番環境、開発環境を切り替える

ionicに限った話じゃないかもしれないけど。 今回やりたかったのは、本番と開発でつなぎこむAPIのURL等を切り替えたりしたかった。今回は少し調べて、node-env-fileというのを使った。 また、gulp-concatも使ってる。今回は以下のようなファイル構成を想定。…

ionic(cordova)で横スクロールするメニューを実装するときのメモ

cssでの実装でこちらを参考にそのままいけました。 Appleに学ぶ、横スクロールナビを組む時のCSSメモ - Qiita Horizontal Scrollable Navigation Sampleが、ionic serveでブラウザで確認したところ問題なかったのだがビルドしてアプリとして確認したところ動…

【ionic】ionic buildでgulpを実行する

今回やりたかったのは、ionic buildでもgulpが動くようにしたかった。https://codepen.io/leob6/post/quick-tip-using-gulp-to-customize-the-serve-run-and-build-process-for-your-ionic-framework-apps こちらにやり方書いてあった。gulpfile.jsの例 gulp…

【ionic】タブの中に入れ子でタブをいれる方法メモ - ion-tabs

はじめに 今回やりたかったのはこんな画面。 イマイチできるのか不安だったけど無事できた。ionicは海外の情報が多くて「ionic tabs inside tabs」とか「ionic tab nested」ってみんな検索してるみたい。イメージはこんなかんじ アプリ特有?かわからないけど…