diadia

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

kotlin

緯度経度情報を取得する

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

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

カメラ使用にはパーミッションが必要である <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からリサイクラービューを実装してきたが、フラグメントからリサイクラービューを実装する方法の方が割と楽に実装できることが分かった。これについてはまだブログに記録を残していないので時間があるときに作成する。 インストール…

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

retrofit multipart送信を行う

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

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

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

ListView,Spinnerとadapterについて

ListViewとadapterの関係 ListViewの各要素を表示させるには、strings.xmlに <string-array name="japanese"> <item>あいうえお</item> <item>かきくけこ</item> <item>さしすせそ</item> </string-array> を記述して、レイアウトファイルにandroid:text="japanese"みたいなことをして各要素を表示する事ができる。 この他に要素を表示する方法とし…

AccountManagerでアカウントを追加する

アカウントを追加 AccountManagerにはアカウントを追加する方法が2種類存在する。 メソッドは以下の通り。 AccountManager#addAccountメソッド AccountManager#addAccountExplicitlyメソッド addAccount()メソッドは、アカウントを追加する時にユーザーにア…

django-rest-frameworkのユーザー認証を実現させる

https://www.django-rest-framework.org/api-guide/authentication/ https://blog.sakaki333.com/blog/view/78 はじめに この記事はdjnagoをバックエンドとしてandroidアプリケーションを作成することを前提する。 androidアプリケーションのユーザー認証周…

retrofit エラー対処

エラー1 java.lang.IllegalArgumentException: @Field parameters can only be used with form encoding. 上記のエラーメッセージが出る場合には、インターフェースに@FormUrlEncodedアノテーションを付け忘れている可能性がある。 つけて再実行する。 inter…

Retrofit

https://square.github.io/retrofit/ https://www.tsurutan.com/entry/2016/10/04/003929 http://pppurple.hatenablog.com/entry/2018/06/30/234400 インストール implementation 'com.squareup.retrofit2:retrofit:(insert latest version)' implementation…

RecyclerViewについて

RecyclerViewはなんのためにあるのか? 参考: https://ithelp.ithome.com.tw/articles/10203735 https://developer.android.com/guide/topics/ui/layout/recyclerview RecyclerViewは多量のリストデータセットを表示するためにあるようだ。 リサイクラービュ…

EditTextの入力を受け付けなくさせる方法

EditTextの入力機能を停止させるには、isEnabledを使えば良い。 editText_obj.isEnabled = false https://developer.android.com/reference/kotlin/android/widget/EditText isEnabledアトリビュートは、親クラスのViewから継承されたアトリビュートである。…