It’s now or never

IT系の技術ブログです。気になったこと、勉強したことを備忘録的にまとめて行きます。

Android

【Android】【Jetpack】Roomの使いかた

概要 JetpackにSQLiteを使いやすくするためのライブラリである「Room」というものがあります。 モバイルのデータベースといえば、昔から主流はSQLiteでしたが個人的には最近はRealmを使うことが多くSQLiteはしばらく触ってませんでした。 (SQLiteは、使うま…

【Android】【Jetpack】Navigationコンポーネントの使い方 ①

概要 Android Jetpackの機能の一つに「Navigation コンポーネント」という画面遷移を管理してくれる機能があります。 Navigationコンポーネント自体は発表されて数年たちそれほど最新の話ではないのですが、僕自身は触ったことがなかったので改めて触ってみ…

【Android】【メモ】ActivityやFragmentのライフサイクルをオブザーバーで受け取る

概要 androidx.lifecycle:2.2.0 からライフサイクルのイベントをオブザーバー経由で受け取れるようになったため実装のメモ 環境 targetSdkVersion: 29 kotlin: 1.3.72 androidx.appcompat:appcompat: 1.1.0 実装 LifecycleEventObserver import androidx.app…

【Android】DataBinding+LiveData + ViewModelのHello World

概要 前回の記事では、LiveDataとViewModelを使った基本的な数字カウントアップの実装を試しました。 inon29.hateblo.jp 今回は、前回のコードをベースにレイアウトにUIコンポーネントを直接紐付ける仕組みである DataBinding を追加してみます。 環境 compi…

【Android】LiveData + ViewModelのHello World

概要 Android Jetpack に含まれる「LiveData」についての入門になります。 Jetpackが発表されて約2年ほど立ちますが、この間ほとんどAndroid開発は触っていなかったため、かなり置いていかれてしまいました。 最新のAndroid開発事情に追いつくためにもまずは…

【ReactNative】React Nativeで開発を始めるにあたって

最近趣味でReactNativeを触っていましたが、タイミングよく業務でもReactNativeのアプリに関わることになりました。 趣味の範囲では、適当に触って入ればよかったのですが、流石に業務で使うとなると少し真面目に勉強しなくてはいけないなと思い始めています…

【cocos2d-x】【CocoStudio】CocoStudioを使って画面のレイアウトを読み込む

環境 cocos2d-x 3.2 CocoStudio for Mac 1.0.0 Bata CocoStudioでレイアウトを作成する まずは、CocoStudioにて任意の画面を作成します。 以下では、画面に一つボタンを置いています。 上記、赤枠の名前は、各UIパーツのをソースコード上から取得する時に必…

【Android】他のアプリケーションの上にViewを表示する

Androidのアプリの中には、 何かのアプリを起動中もずっと画面上に残り続けるアプリがあると思います。 今回は、上記のように他のアプリケーション上で、 自分のアプリケーションのViewを表示する方法について試して見ました。 Androidのviewは、複数のレイ…

【Android】youtubeの動画を再生する

Androidで、youtubeの動画を再生するには大きく分けて2つの方法があります。 1つは、youtubeアプリに対してIntentを飛ばす方法で、 例えば下記のように記載することで直接youtubeアプリを起動することができます。 Intent intent = new Intent(Intent.ACTION…

Appiumを使ってRubyでAndroidアプリのテストを行う①

Appiumをインストール sudo npm install -g appium npm install wd appium & Appiumリポジトリをクローン git clone https://github.com/appium/appium.git テスト実行環境を確認 以下のスクリプトを実行して、テストに必要な環境の構築を行います。 ビルド…

【Android】NFCを使ってみる① (読み込み処理)

NFC(Near Field Communication)は、近距離無線のテクノロジーで、 Android 2.3からサポートされている技術です。 また、Android 4.0からは、Android Beamという機能が加わり、 2つのAndroid搭載のデバイス間でのピアツーピアのデータ交換が可能となりました…

【Android】GCMを使ってみる

GCM(Google Cloud Messaging for Android)は、 開発者がサーバからAndroidデバイス上のAndroidアプリケーションに対して、 データを送信できるようにする仕組みです。 Developers Consoleの準備 Developers Consoleにて、アプリケーションを登録してAPI実行…

【Android】コンテンツプロバイダ(ContentProvider)を使ってみる

コンテンツプロバイダは、Androidのアプリケーションが管理しているリソースを 他アプリケーションから参照するための仕組みです。 例えば、連絡先アプリなど他アプリケーションから活用できるデータを持つアプリケーションが、 その他アプリケーションへデ…

【Android】Serviceをつかってみる

バックグラウンドで動くプログラムServiceを使ってみました。 Serviceの使用方法 Serviceの起動方法には、 startService()を使用 bindService()を使用 の大きく分けて2種類があります。 Service起動方法の違い 起動方法による違いは、以下のとおりです。 sta…

【Andoid】AsyncTaskLoaderを使ってみる

Android 3.0から導入されたLoaderについて、 参考サイトをもとに勉強していましたがいまいちよくわからず。。 Loaderを継承した、AsyncTaskLoaderの方が使い方がわかりやすそうだったので、 まずはこちらを使用してみました。 Loaderの基本クラス Loader 非…

【Android】DialogFragmentを使ってみる

Android 3.0以降、ダイアログの表示には、DialogFragmentを使用することが推奨されているようです。 基本的な表示処理は、Fragmentと変わらないみたいなのですが、 使用したことがなかったので試してみました。 DialogFragmentの表示 ダイアログを表示するに…

【Android】Fragmentを使ってみる

Fragment は Android 3.0 ( API レベル "Honeycomb" ) から使用できるようになったコンポーネントです。 Fragmentを使用することで、一つのActivityに対して複数のUIを構築することが可能で、 画面の一部に対してのUI切り替えや遷移などを柔軟に行うことがで…

【Android】ActionBarのAppIconを使ってみる

ActionBarの左上のAppIcon領域には、自由にロゴ画像を配置することが可能です。 また、タップイベントを有効することで画面の遷移ナビゲーションを管理することも可能です。 AppIconのロゴを変更する 1.AndroidManifest.xmlで指定する AndroidManifest.xmlか…

【Android】ActionBarにタブコントロールを実装する

ActionBarには、フラグメントを切り替えるタブコントロールを実装することができます。 タブには、タイトル文字列やアイコン画像をセットすることが可能です。 TabListenerの実装 アクションバータブのイベントを制御するにはActionBar.TabListenerを実装す…

【Android】ActionBarに検索バーを表示する

ActionBarは、ActionViewというウィジェットを表示する領域が存在します。 ActionViewは、表示するメニューアイテム(ボタン)と連動して対応するウィジェットを表示することが可能です。 今回は、ActionViewに検索バー(SearchView)を表示してみます。 1.メニ…

【Android】ActionBarを使ってみる ① (メニューボタン)

Android 3.0 (API Level 11) から導入されたActionBarについて、 少しずつ勉強していきたいと思います。 ActionBarとは Android 3.0以降で提供されているアクティビティ用のウィジェットです。 ActionBarは、4つの領域に分かれており各領域からアプリへの操…

【Android】動画を再生する

Androidで動画を再生するためには、いくつか方法があるみたいですが、 基本的な方法であるMediaPlayerとVideoViewを使った再生方法を試してみました。 MediaPlayerを使って再生する MediaPlayerで動画を再生する為には、SurfaceViewを使用します。 SurfaceVi…

【Android】Styleの使い方

スタイルとはなに? レイアウト属性とその値のセットをいくつか組み合わせて, 1つのIDで使用できるように定義したもです。 何のために使用する? 複数のレイアウト属性を共通で使いまわすために使用します。 例えばテキストの”フォント”、”フォントサイズ”、”…

【Android】selecterを使ってみる

selecterとは Androidのdrawableリソースの一つで、 状態によって、画像や色を差し替えることができる仕組みです。 (StateListDrawableに分類される) どうやって定義する? xmlで作成します。 ファイルの置き場所は、res/drawable配下になります。 selecterで…

【Android】独自Viewを作成する

最近、Androidの勉強を始めました。 Androidは、様々な要素をxmlで定義できる点が優れていると思います。 ですが、各xmlの関連とそれらをJavaソースから参照する方法を覚えるまでは、 Javaソースを見ても???となることが多々あります。。 Androidで独自のVie…