diadia

興味があることをやってみる。自分のメモを残しておきます。

androidアプリ開発

Bottom Navigationを実装する試み

参考 AndroidアプリへのBottom Navigationの導入 - nextbeat-engineering - Medium 【Kotlin】BottomNavigation(下タブ) + Navigationを試してみる - Qiita BottomNavigationView | Android Developers 記事を見て得た実装するイメージ まずBottom Navigat…

Android リモート通知機能について

通知を送信する方法 通知はfirebase コンソールを操作して送信する方法とwebアプリから送信する方法、そしてHTTPリクエストを直接投げて送信する方法がある。 通知のデバイストークンの有効性を確認をしたい等の場合にはfirebaseコンソールから送信してandro…

通知の実装について

プッシュ通知の種類 プッシュ通知には、ローカル通知とプッシュ通知の2種類がある。 ローカル通知はアプリ起動中に何らかのイベントによりプッシュ通知が起きる。 リモート通知はfirebaseで通知を行う旨を受け、firebase自身がandroidに通知を送る。 例えば…

緯度経度情報を取得する(LocationSevicesを使う)

アンドロイド端末から座標データを取得する 必要な要素__パーミッション なんのクラスメソッドを使って取得するのか? ドキュメントの位置はどこか? 座標データの取得方法 概要 パーミッションをマニフェストファイルに追記する。 座標データを取得するには…

カメラを使うアプリの実装方法

カメラ使用にはパーミッションが必要である <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 当初カメラを使う場合にはandroid.permission.CAMERAのみを使えば使えると思っていたが、それは間違いであった。カメラアプリで撮影した画像を保存すること、また保存するディレクトリを作成する際にandroid.per</uses-permission></uses-permission>…

FileProvider Failed to find configured root that contains のエラーが出る場合

FileProviderを使って以下のエラーが生じる Failed to find configured root that contains 参考 Android: FileProvider Issue: Failed to find configured root that contains ... · Issue #218 · react-native-community/react-native-share · GitHub 自分…

GoogleMapにデータを表示する

記事概要 この記事では2種類のGoogleMapsを使った実装方法のメモを残す。 一つは暗黙的インテントによるGoogleMapsアプリの起動例。 もう一つは、GoogleMapsPlatformを利用した自前アプリへの組込例である。 コンテンツ 暗黙的インテントによるGoogleMapsア…

Fileクラスについて

ドキュメント File | Android Developers メモ An abstract representation of file and directory pathnames. と書いてあるようにファイルまたはディレクトリのパスを表現するもののようだ。

Android "パーミッションの解除" について

パーミッションの種類 Androidではパーミッションは2種類存在する。 Normalパーミッション、Dangerousパーミッションに区別される。 Dengerousパーミッションのリスト CALENDAR CAMERA CONTACTS LOCATION MICROPHONE PHONE パーミッションリストを示す資料 …

マテリアルアイコンを作成する

vector iconからマテリアルアイコンを生成する。 マテリアルアイコンはAPIレベル21未満は使えない使用になっているらしい。 21未満でもこれを使えるようにはできるらしい。それはどのような手続きを踏むのか。 それはサポートライブラリを使うとAPIレベルが…

エラー:java.lang.IllegalArgumentException: No view found for id がFragment.kt内で生じる件

エラー内容 java.lang.IllegalArgumentException: No view found for id 解決に役立った資料 Android Fragment no view found for ID? - Stack Overflow エラーが生じた環境 フラグメントを複数生成し、生成したフラグメントを起動する際にエラーが生じた。…

フラグメント間でデータを渡す方法

フラグメントでデータを渡す方法 Applicationを継承したcompanion objectを使う方法 https://github.com/chiaki1990/FragmentSample1 あらたなインターフェースを別クラスとして準備する方法 https://github.com/chiaki1990/FragmentSample2

フラグメントのまとめ

フラグメントを外す場合のコード フラグメント.kt内で以下のコードを実行すると、Activityに対してフラグメントを外す事ができる。 それはつまりActivityのframeLayout部分からフラグメントが削除され白い空間となる。 fragmentManager?.beginTransaction()?…

エラー対処:java.lang.IllegalStateException: menu.findItem(R.id.action_settings) must not be null

エラーコード java.lang.IllegalStateException: menu.findItem(R.id.action_settings) must not be null エラーが出た環境 フラグメントを使用してメニューを描画する場合にエラーが発生した。フラグメント.ktファイルにはonCreateOptionMenuをオーバーライ…

Android メニュー実装のまとめ

俯瞰 Androidのメニューを実装するとは、画面上部にあるツールバーを実装することを指す。 このツールバーを実装するに際し、Activityをどう作成するかによって多少実装方法が変わってくるので注意する。 Activityをどう作成するかとは、具体的にはBasic Act…

Sublime text 3にKotlinのシンタックスハイライトを付ける

参考 https://www.kotlintips.com/kotlin-support-in-sublime-text/ やり方 Toolsの Install Package Controlを選択する。 *最初の状態のSublime Text 3ではInstall Packageコマンドが使えない。これを使えるようにするために行う。 Control + Shift + Pを押…

日付データをバリデーションする方法

入力された日付データをバリデーションする方法を記述する。 バリデーションする内容:現実に存在しない日付データにはfalseを返す。 fun checkInputDate(inputDate: String) :Boolean{ try{ val format = SimpleDateFormat("yyyy/MM/dd") // SimpleDateForm…

DatePickerの実装について

ダイアログ | Android デベロッパー | Android Developers Dialogクラスのサブクラスとして、 AlertDialog, DatePickerDialog, TimePickerDialogが存在する。 これらのサブクラスを使うためにコンテナとしてDialogFragmentを実装する。

フラグメントでオプションメニューを実装する

参考 FragmentでActionBarを指定したい! - Qiita 実装の概要と注意点 編集するファイルは、フラグメントが紐付けられるアクティビティ.ktファイルとフラグメント.ktファイルである。 両ファイルともにonCreateOptionsMenuをオーバーライドする。またフラグ…

EditTextをマテリアルデザイン化する

https://developer.android.com/reference/com/google/android/material/textfield/TextInputLayout https://developers-jp.googleblog.com/2015/07/android-design-support-library.html 要はTextInputLayoutビューを実装すれマテリアルデザイン化すること…

RecyclerViewまとめ

メモ 今までEmptyActivityからリサイクラービューを実装してきたが、フラグメントからリサイクラービューを実装する方法の方が割と楽に実装できることが分かった。これについてはまだブログに記録を残していないので時間があるときに作成する。 インストール…

django-rest-authで"detail": "Authentication credentials were not provided."が返される時

参考 Django Rest Framework - Authentication credentials were not provided - Article - Python Decompiler Online エラーメッセージ {"detail": "Authentication credentials were not provided."} エラーに出くわした状況 rest-authのエンドポイント/re…

EditTextにplaceholderを設ける

参考 How do I set a placeholder on Edittext in Android and use it if no input has been typed by user? - Stack Overflow EditTextで、ヒント文字列を設定する | mokelab tech sheets Android開発ではHint属性と呼ぶ HTMLで使われるplaceholder属性は、…

EditTextまとめ

EditTextの入力を受け付けなくさせる方法 - diadia EditTextにplaceholderを設ける - diadia EditTextをマテリアルデザイン化する - diadia

DRF PATCHの実装方法

参考 Retrofit 2 — How to Update Objects on the Server (PUT vs. PATCH) How to make a PATCH request using DJANGO REST framework - Stack Overflow Serializers - Django REST framework まずPATCHとは パッチはインスタンスの更新を行うHTTPプロトコル…

DRF tokenからuserオブジェクトを取得する

userオブジェクトを取得する道筋 例えばandroidの画面にuserのプロフィールを表示したいとする。そのためには、userオブジェクトが必要だ。 どの様にすればUserオブジェクトが取得できるのか。 TokenAuthenticationを採用している場合にはユーザーに紐付いた…

retrofit multipart送信を行う

コンテンツ Multipart通信における知見 関連記事 参考 Multipart通信における知見 実装概要 実装ではInterfaceの設定とretrofitでinterfaceメソッド実行を行う。 Interfaceについて //Itemオブジェクトを生成する //認証ユーザーのみリクエスト送れる仕組み…

curlコマンドについて

まず以下のコマンドを理解する curl -X GET http://127.0.0.1:8000/api/example/ -H 'Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b' これの意味を調べる。 参考: https://www.django-rest-framework.org/api-guide/authentication/#toke…

DRF POSTメソッドのデータの取り扱いについて

どうデータを受け取るか POSTメソッドを伴うエンドポイントがあるとして、weアプリケーションはどの様にデータを受け取ればよいのか。 Djangoの機能で処理する方法 Djangoと同じ様にデータを受け取る方法がある。 つまりself.request.POSTの戻り値にPOSTメソ…

retrofit Requestヘッダーを参照する方法

例えばRequestヘッダーのAuthorizationという項目がきちんと送信できているか確認したいとする。 retrofitでは以下の様ににすればヘッダーの内容を確認することができる。 fun logInByAuthToken(authToken:String) { val retrofit = Retrofit.Builder() .bas…