2019-03-01から1ヶ月間の記事一覧

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以上です