ionicでのハイブリッドアプリ開発のメリット・デメリットについてそろそろまとめとく

3年くらい前からionicを使い始めて良いところと悪いところが少しつつわかってきたのでメモしておく メリッド 学習コストが低い & 開発リソースが確保しやすい swiftやjavaなどでの実装となるとそれぞれのプログラム言語の学習する必要がある。言語自体の学習…

ios WKWebViewでWebViewアプリの作り方まとめとく

iOSで簡単なWebViewアプリの作るときに必要そうなことまとめておく。以下のiOS版 android WebViewアプリの作り方まとめとく - とりあえずphpとか WKWebViewを作ってサイトを表示する ViewController import UIKit import WebKit class ViewController: UIVie…

android WebViewアプリの作り方まとめとく

ただWebサイトを表示するだけのアプリを作ろうとするだけでも意外と実装しないとならないことが多いのがアプリの世界?次回のために作り方をまとめておく WebViewを作ってサイトを表示する 指定URLを表示するだけのアプリ。JavaScriptは有効にしておくAndroi…

旧バージョンのxcodeを使うときに考慮すべきことまとめ

最新のxcodeを使えなくて、実際にアプリ開発で困ったこととその対策をまとめておく 最新のiOSのiPhoneにXcodeからアプリをインストールできない iPhoneのiOSのバージョンアップを基本的に自動更新にしている人が多いと思うが、xcodeのバージョンは古いままだ…

android 動画のトリミング

今回やりたかったことは指定した時間で動画ファイルを切り出し別の動画ファイルを生成するということ。ググったら、mp4parser使うのがマストなのかと思ってたらAndroid5以上は使わないで実装するみたい。Android5以前の端末で実装したい場合にmp4parserが必…

android 動画圧縮ライブラリについて調べたこと

Androidで動画の圧縮をしたくてライブラリを探してみたが思ったより少なかった。iOSだと標準のライブラリであっさりできた記憶があったのに...。試したのはassetsにmp4ファイルを同梱してそれを圧縮してかかった時間と圧縮後のサイズを検証した。どれくらい…

android AsyncTaskの使い方

あまりちゃんと理解してこなかったので自分なりに使い方理解するためのサンプルコードをメモしておく結果 D/: ##### onPreExecute D/: ##### doInBackground value1 value2 D/: ##### onProgressUpdate 1秒後に呼ばれる D/: ##### onProgressUpdate 2秒後に…

android ContentProviderで取得したvideoのパスを取得して再生する

今回やりたかったことは以下 ・ギャラリーから動画を取得して ・その動画のパスを取得して ・その動画を再生ギャラリー等の他のアプリからデータを取得する場合にContentProviderというクラスを使ってローカルDBからデータを取得する。検証したのはAndroid5…

rails テーブルのカラム名のエスケープ

SQLの一部を書きたくて以下のようにしていたらsiderで「Possible SQL injection」と怒られた。SQLはエスケープしないとダメですね修正前 scope :my_scope, -> column { joins("left join xxx on xxx.id = yyy.xxx_id and yyy.#{column} = 1") }修正後 scope …

android webview 最初のページに戻る

これだけだった WebView webView; ・・・ // 戻り先があれば最初のページへ戻す WebBackForwardList list = webView.copyBackForwardList(); int size = list.getSize(); if (1 < size) { webView.goBackOrForward(-1 * size); }以上です

go goroutine入門

Go

「tour of go」の goroutineやってみた。goroutineを使うと別スレッドで処理をおこなえる。むずかしい話ではないとは思うけど自分なりにちゃんと読んだので理解した内容をメモしておく GoroutinesとChannels https://tour.golang.org/concurrency/1 https://…

xcode sdk、framework開発手順

ちょっとしたフレームワーク作らないとならない機会があった。基本的に以下の記事に書かれているとおりでいけた。わかりやすかった。あとは自分が素人すぎてつまづいたところをメモしておくSwiftでライブラリを公開する - Qiita Demoアプリ用のプロジェクト…

swift4 クラス(インスタンス)の配列を特定のプロパティでソート

大した話じゃないけどサンプル let user1 = User(id: 1, date: "2010-02-01") let user2 = User(id: 2, date: "2015-02-01") let user3 = User(id: 3, date: "2020-02-01") // 特定のカラムで並び替える var users = [user1, user2, user3] users.sort(by: {…

ionic4 angular7 共通コンポーネントを作成する手順

今回やりたかったことは以下のようなこと tabsテンプレートで作成したプロジェクトでtab2とtab3で共通の<app-my-custom>というタグをを呼び出したかったとりあえずプロジェクトを作成してコンポーネントをつくる $ ionic start component_test tabs $ ionic…

rails modelのenumのキーと値を取得する

これだけだった 複数形にしてアクセスできるみたいmodel class User < ApplicationRecord { enum status: { valid: 1, invalid: 2, deleted: 9 } }呼び出す側 # キーのリスト User.statuses.keys # 値のリスト User.statuses.values以上です

swift4 AlamofireとImageViewでURLから取得した画像を拡大表示

http://kimagureneet.hatenablog.com/entry/2019/02/27/025807 ここでやったのとほとんど同じ。ちがいは以下だけ ・URLからの画像を表示 ・キャッシュとか考えるとAlamofireImage使う import UIKit import AlamofireImage import ImageViewer class ViewCont…

swift4 ImageViewerで画像を拡大表示

今回やりたい画面はこんな感じ 画像をタップしたら拡大するよくあるやつちょっとわかりずらいけど タップしたら → 拡大 https://github.com/Krisiacik/ImageViewer このライブラリ使ったサンプルコードがちょっとわかりずらかったので、シンプルなサンプルコ…

ionic4 カスタムコンポーネントの作り方

今回やりたいこと ・<my-tag></my-tag>で呼び出せるコンポーネントを作りたい ・specファイルは作らない プロジェクト作成 $ ionic start component_test blank $ cd $_コンポーネント作成 $ ionic generate component components/my-tag --nospec src/app…

Android Kotlin スライドメニュー(NavigationDrawer+ListView)を実装

今回やりたかったことは以下 ・画面左上のメニューアイコンタップでスライドメニュー表示 ・各メニューのレイアウトは自由にカスタムしたいAndroidプロジェクト作成時に「Navigation Drawer Activity」を選択すればある程度期待する画面なのだが、以下のやり…

Android Kotlin BaseAdapterでListViewを表示

やりたいこと ・定義したクラスのオブジェクトのリスト表示がしたい ・ネット上の画像を表示したいRestAPIリクエストしてレスポンスを表示するようなありがちな形をイメージしてる また、画像の表示にはPicassoというのが使ってる人が多そうなので使ってみる…

【Android】Kotlin Moshi使い方メモ JSONをオブジェクトに変換

はじめに moshiでjsonをオブジェクトに変換するコードをメモしておく。今回扱いたいのはクラスは以下のようなクラス ・別クラスのListのプロパティがある ・null許容のプロパティがある ・Date型のプロパティがあるswiftでcodableと同じようなことをやりたか…

androidでタブバー、BottomNavigationViewの使い方メモ

BottomNavigationViewを使ってタブバーを設置する手順をメモしておく app/build.gradle まずはサポートライブラリーを追加 dependencies { ・・・ implementation 'com.android.support:design:28.0.0' } menu/item_bottom_navigation.xml タブの基本的な設…

cordova githubからcordova-androidをインストール

# githubからplatform add $ cordova platform add https://github.com/apache/cordova-android # ローカルからplatform add $ git clone https://github.com/apache/cordova-android /path/to/cordova-android $ cordova platform add /path/to/cordova-and…

rails5 rspecでテスト書きながらapi開発、circleciも使ってciぽいことしてみる

はじめに 今回やりたいことはざっくり以下 ・rails5でrest api実装 ・devise_token_authを使って認証機能を実装 ・rspecでテストコード実装 ・circleciで動かすそれぞれ少ししか触れないがなんとなくciぽい雰囲気がわかるように手順メモしておく 事前準備 な…

ios uiwebviewとwkwebviewのローカルストレージの保存先パス

ios

UIWebView NSString* appLibraryFolder = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString* storagePath = [appLibraryFolder stringByAppendingPathComponent:@"Caches"]; // storagePath ->…

swift 普通のアプリを作るのにつかったライブラリまとめ

はじめに 普通のアプリってなんだと突っ込まれそうだけど...・APIへリクエストしたり ・リスト表示したり ・画像を表示したり ・入力フォーム作ったりアプリ開発してると自分のスキルだとやはりサードパーティのライブラリに頼りまくることになる。できるだ…

cordova xcodeのEnable Bitcodeを有効にする

cordovaアプリだとアプリがクラッシュすることはあまりないのかもしれないが。 が、プラグイン等が原因でクラッシュした際にクラッシュレポートを見てもdSYMsファイルがないと原因を特定するのが難しいことがあった。cordovaのオプションで何かあるのかなと…

ios circleciでcarthageのキャッシュが効かなかった原因と対応

はじめに CircleCI 2.0 + Carthage で carthage bootstrap に時間がかかる場合の解決方法 - Qiita こちらを参考にcarthageのキャッシュを使ってcircleciでのビルド時間を短縮。が、とあるタイミングでキャッシュが上手く効いていないようだった。circleciで…

ios carhage_supportでcarthageのライブラリ管理

carthage_supportの使い方メモしておく。 Cartfileに記述した内容と「Linked Frameworks and Libraries」、「Run Script」の内容を手動で合わせるのを管理してくれる。carthage_supportインストール $ sudo gem install carthage_supportプロジェクトのルー…

cordova carthage対応のライブラリを使ったプラグイン開発

Carthageを使ったライブラリを使用して開発されたCordovaプラグインをいくつか見つけた。が、導入方法はプラグインインストール後や`platform add ios`した後にXcodeからCarthageのお決まりの作業を行わなくてはならないようだった。問題点は以下 ・手間がか…