diadia

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

androidアプリ開発

緯度経度情報を取得する

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

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

カメラ使用にはパーミッションが必要である <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にデータを表示する メモ

イメージ 写真や何かを表示するためのIntent.ACTION_VIEWを使う。 そしてGoogleMapを直接使うためにintentにgooglemapをセットする。 その後にstartActivityメソッドを実行すれば良い。 コードサンプル val longitude = *** val latitude = *** val geoStrUr…

位置情報を取得する方法 メモ

参考 [Android] GPSで位置情報を取得するアプリを作る Get the last known location | Android Developers 位置情報を取得するクラス LocationManager使う。 fused location provider の選択肢もある。 このドキュメントに従って実装する Get the last known…

Fileクラスについて

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

パーミッションの解除

パーミッションの解除 資料 アプリの権限をリクエストする | Android デベロッパー | Android Developers システム パーミッション | Android デベロッパー | Android Developers かんたんにまとめると... dangerous パーミッションが必要な場合は、その都度…

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

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送信を行う

参考 Android Image Upload Example | Multipart Retrofit2 retrofitでマルチパートなものをPOSTする - tumblr 複数のデータを送信する @PartMapアノテーションを使わなければならない。

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…

SharedPreferencesのxmlファイルを直接見る

参考記事 SharedPreferencesに出力したデータの確認 概要とやり方 SharedPreferencesのxmlファイルは、まずプロジェクトのソースコード郡に生成されるものではない。 したがってandroid studioのprojectから探そうとしてもないのである。 では実際にどこにあ…

JetPack Securityについて調べる

参考ページ https://android-developers.googleblog.com/2020/02/data-encryption-on-android-with-jetpack.html https://qiita.com/MasayukiSuda/items/61b554d3cbe484f13706 https://www.bignerdranch.com/blog/encrypting-shared-preferences-with-the-an…