Android
概要 JetpackにSQLiteを使いやすくするためのライブラリである「Room」というものがあります。 モバイルのデータベースといえば、昔から主流はSQLiteでしたが個人的には最近はRealmを使うことが多くSQLiteはしばらく触ってませんでした。 (SQLiteは、使うま…
概要 Android Jetpackの機能の一つに「Navigation コンポーネント」という画面遷移を管理してくれる機能があります。 Navigationコンポーネント自体は発表されて数年たちそれほど最新の話ではないのですが、僕自身は触ったことがなかったので改めて触ってみ…
概要 androidx.lifecycle:2.2.0 からライフサイクルのイベントをオブザーバー経由で受け取れるようになったため実装のメモ 環境 targetSdkVersion: 29 kotlin: 1.3.72 androidx.appcompat:appcompat: 1.1.0 実装 LifecycleEventObserver import androidx.app…
概要 前回の記事では、LiveDataとViewModelを使った基本的な数字カウントアップの実装を試しました。 inon29.hateblo.jp 今回は、前回のコードをベースにレイアウトにUIコンポーネントを直接紐付ける仕組みである DataBinding を追加してみます。 環境 compi…
概要 Android Jetpack に含まれる「LiveData」についての入門になります。 Jetpackが発表されて約2年ほど立ちますが、この間ほとんどAndroid開発は触っていなかったため、かなり置いていかれてしまいました。 最新のAndroid開発事情に追いつくためにもまずは…
最近趣味でReactNativeを触っていましたが、タイミングよく業務でもReactNativeのアプリに関わることになりました。 趣味の範囲では、適当に触って入ればよかったのですが、流石に業務で使うとなると少し真面目に勉強しなくてはいけないなと思い始めています…
環境 cocos2d-x 3.2 CocoStudio for Mac 1.0.0 Bata CocoStudioでレイアウトを作成する まずは、CocoStudioにて任意の画面を作成します。 以下では、画面に一つボタンを置いています。 上記、赤枠の名前は、各UIパーツのをソースコード上から取得する時に必…
Androidのアプリの中には、 何かのアプリを起動中もずっと画面上に残り続けるアプリがあると思います。 今回は、上記のように他のアプリケーション上で、 自分のアプリケーションのViewを表示する方法について試して見ました。 Androidのviewは、複数のレイ…
Androidで、youtubeの動画を再生するには大きく分けて2つの方法があります。 1つは、youtubeアプリに対してIntentを飛ばす方法で、 例えば下記のように記載することで直接youtubeアプリを起動することができます。 Intent intent = new Intent(Intent.ACTION…
Appiumをインストール sudo npm install -g appium npm install wd appium & Appiumリポジトリをクローン git clone https://github.com/appium/appium.git テスト実行環境を確認 以下のスクリプトを実行して、テストに必要な環境の構築を行います。 ビルド…
NFC(Near Field Communication)は、近距離無線のテクノロジーで、 Android 2.3からサポートされている技術です。 また、Android 4.0からは、Android Beamという機能が加わり、 2つのAndroid搭載のデバイス間でのピアツーピアのデータ交換が可能となりました…
GCM(Google Cloud Messaging for Android)は、 開発者がサーバからAndroidデバイス上のAndroidアプリケーションに対して、 データを送信できるようにする仕組みです。 Developers Consoleの準備 Developers Consoleにて、アプリケーションを登録してAPI実行…
コンテンツプロバイダは、Androidのアプリケーションが管理しているリソースを 他アプリケーションから参照するための仕組みです。 例えば、連絡先アプリなど他アプリケーションから活用できるデータを持つアプリケーションが、 その他アプリケーションへデ…
バックグラウンドで動くプログラムServiceを使ってみました。 Serviceの使用方法 Serviceの起動方法には、 startService()を使用 bindService()を使用 の大きく分けて2種類があります。 Service起動方法の違い 起動方法による違いは、以下のとおりです。 sta…
Android 3.0から導入されたLoaderについて、 参考サイトをもとに勉強していましたがいまいちよくわからず。。 Loaderを継承した、AsyncTaskLoaderの方が使い方がわかりやすそうだったので、 まずはこちらを使用してみました。 Loaderの基本クラス Loader 非…
Android 3.0以降、ダイアログの表示には、DialogFragmentを使用することが推奨されているようです。 基本的な表示処理は、Fragmentと変わらないみたいなのですが、 使用したことがなかったので試してみました。 DialogFragmentの表示 ダイアログを表示するに…
Fragment は Android 3.0 ( API レベル "Honeycomb" ) から使用できるようになったコンポーネントです。 Fragmentを使用することで、一つのActivityに対して複数のUIを構築することが可能で、 画面の一部に対してのUI切り替えや遷移などを柔軟に行うことがで…
ActionBarの左上のAppIcon領域には、自由にロゴ画像を配置することが可能です。 また、タップイベントを有効することで画面の遷移ナビゲーションを管理することも可能です。 AppIconのロゴを変更する 1.AndroidManifest.xmlで指定する AndroidManifest.xmlか…
ActionBarには、フラグメントを切り替えるタブコントロールを実装することができます。 タブには、タイトル文字列やアイコン画像をセットすることが可能です。 TabListenerの実装 アクションバータブのイベントを制御するにはActionBar.TabListenerを実装す…
ActionBarは、ActionViewというウィジェットを表示する領域が存在します。 ActionViewは、表示するメニューアイテム(ボタン)と連動して対応するウィジェットを表示することが可能です。 今回は、ActionViewに検索バー(SearchView)を表示してみます。 1.メニ…
Android 3.0 (API Level 11) から導入されたActionBarについて、 少しずつ勉強していきたいと思います。 ActionBarとは Android 3.0以降で提供されているアクティビティ用のウィジェットです。 ActionBarは、4つの領域に分かれており各領域からアプリへの操…
Androidで動画を再生するためには、いくつか方法があるみたいですが、 基本的な方法であるMediaPlayerとVideoViewを使った再生方法を試してみました。 MediaPlayerを使って再生する MediaPlayerで動画を再生する為には、SurfaceViewを使用します。 SurfaceVi…
スタイルとはなに? レイアウト属性とその値のセットをいくつか組み合わせて, 1つのIDで使用できるように定義したもです。 何のために使用する? 複数のレイアウト属性を共通で使いまわすために使用します。 例えばテキストの”フォント”、”フォントサイズ”、”…
selecterとは Androidのdrawableリソースの一つで、 状態によって、画像や色を差し替えることができる仕組みです。 (StateListDrawableに分類される) どうやって定義する? xmlで作成します。 ファイルの置き場所は、res/drawable配下になります。 selecterで…
最近、Androidの勉強を始めました。 Androidは、様々な要素をxmlで定義できる点が優れていると思います。 ですが、各xmlの関連とそれらをJavaソースから参照する方法を覚えるまでは、 Javaソースを見ても???となることが多々あります。。 Androidで独自のVie…