Android

R.style.Theme_Holo_NoActionBar

Theme_Holoのアクションバーなし。R.style | Android Developersstyles.xmlで、とすると、 アクションバーは消えるアクションバーは消える。Sample/android/R.style/Theme_Holo_NoActionBar/src/R.style at master · bg1bgst333/Sample · GitHub

R.style.Theme_Holo

Theme_Holoは、Android3以降に登場したアクションバーを使ったテーマ。R.style | Android Developers Style.xmlを使用してThemeをカスタマイズする | TechBoosterstyles.xmlで、とすると、 アクションバーが出るアクションバーが出る。Sample/android/R.styl…

R.style.Theme_NoTitleBar

ThemeにNoTitleBarがあるのに気付かなかったので。R.style | Android Developersstyles.xmlで、とする。 BlackのNoTitleBarと変わらない気がするBlackのNoTitleBarと変わらない気がする。Sample/android/R.style/Theme_NoTitleBar/src/R.style at master · b…

R.style.Theme_Light_NoTitleBar

R.style.Theme_Light_NoTitleBarは、R.style.Theme_Lightでタイトルバーを非表示にしたテーマ。R.style | Android Developersstyles.xmlで、こうすると、 タイトルバーは消えているタイトルバーは消えている。Sample/android/R.style/Theme_Light_NoTitleBar…

R.style.Theme_Black_NoTitleBar

R.style.Theme_Black_NoTitleBarは、R.style.Theme_Blackでタイトルバーを非表示にしたテーマ。R.style | Android Developersstyles.xmlで、こうすると、 タイトルバーが消えているタイトルバーが消えている。Sample/android/R.style/Theme_Black_NoTitleBar…

R.style.Theme_Light

R.style.Theme_Lightは、白背景の明るいテーマ。R.style | Android Developersstyles.xmlで、とすると、 こうなるこうなる。Sample/android/R.style/Theme_Light/src/R.style at master · bg1bgst333/Sample · GitHub

R.style.Theme_Black

R.style.Theme_Blackは、黒背景の黒をベースとしたテーマ。R.style | Android Developersstyles.xmlを編集する。parentでTheme_Blackを"Theme.Black"というように、'_'(アンダースコア)を'.'(ドット)に差し替えて書く。 とすると、 こうなるこうなる。Sample…

R.style.Theme

R.style.Themeは、API level 1から存在する、何も指定しないと設定されるデフォルトテーマ。R.style | Android Developers Style.xmlを使用してThemeをカスタマイズする | TechBooster res/value/styles.xmlres/values/styles.xmlで、android:ThemeをAppBase…

<declare-styleable>の中の<attr>のformat

<attr>のformatで変数の型を指定できる。 いろいろあるけど、文字列、整数値、に加えて色を定義していこう。 styles.xmlで、customColorのformatは"color"なので、16進数で#ffffff00と書く。 黄色である。 activity_main.xmlで、TextViewのbackgroundにcustomColor</attr>…

<color>

以前もやったけど、<color>で色を定義できる。スタイルとテーマ | Android デベロッパー | Android Developersこれも、colors.xmlを用意しなくても、styles.xmlで、red, green, blueを定義して、値はそれぞれの16進数値をセット。 activity_main.xmlで、background</color>…

<declare-styleable>の中の<attr>

<attr>を使って、複数の変数を定義していく。 styles.xmlで、文字列customStrと整数値customIntを定義。 customStrの値は"ABCDE" customIntの値は5とする。 問題は整数値を受け入れるViewの属性。 layout_widthとかはdpなのでintegerではなくdimensionだったりする</attr>…

<declare-styleable>

<declare-styleable>の中で<attr>を使って変数を定義してみる。ビュークラスを作成する | Android デベロッパー | Android Developers別にattrs.xmlを追加してカスタムビューとして定義する必要は無い。 styles.xmlで、先頭で、<declare-styleable>で、nameを"CustomTheme"とする。 中に、"customData"と</declare-styleable></attr></declare-styleable>…

<style>の中の<item>のname

さて、Android Studioではどうだろうか。 プロジェクトを作ると、styles.xmlは、既にcolorPrimaryという変数がある。 androidネームスペースは付いてない。 これが通るということはどこかで定義されている。 親のテーマの定義に飛んでみる親のテーマの定義に…

<style>の中の<item>

<style>の中の<item>で、そのスタイルで反映すべきパラメータと値を指定するというのをこれまでやってきた。 styles.xmlで、とすれば、アプリ全体のテーマ"AppTheme"において、android:layout_heightを30dpとするようになる。 これまで、ButtonなどのViewにstyleとして"Cu</item>…

<style>の暗黙的継承

parentを使うのを明示的継承と呼ぶのに対し、<style>のnameを'.'(ドット)で繋げていくのを暗黙的継承と呼ぶ。スタイルとテーマ | Android デベロッパー | Android Developers AndroidのTheme/Styleを理解する - Qiitastyles.xmlで、CustomStyle_Height30dpButton.Wi…

<style>のparent(明示的継承)

parentに、もともと定義されている<style>のnameを指定することで、その<style>を継承できる。(明示的継承とも呼ぶ。)スタイルとテーマ | Android デベロッパー | Android Developers AndroidのTheme/Styleを理解する - Qiitastyles.xmlで、CustomStyle_Height30dpButtonは…

ActivityCompat.shouldShowRequestPermissionRationale

shouldShowRequestPermissionRationaleのリクエスト根拠表示をsupport.v4.app.DialogFragmentでやってみる。ActivityCompat | Android DevelopersActivityCompatにもshouldShowRequestPermissionRationaleはあるので、今回はこちらを使う。 AndroidManifest.…

support.v4.app.DialogFragment

リクエストの根拠(「この権限は〇〇という理由で必要」という説明の表示)なんだけど、Toastだと早く消えちゃうので、ダイアログのほうがいいんじゃないかなあとおもって、せっかくだからsupport.v4.app.DialogFragmentを使うことにした。 ただ、ダイアログの…

Activity.shouldShowRequestPermissionRationale

最初にcheckSelfPermissionで未許可状態で、requestPermissionsで許可ダイアログを表示して、許可しないを選択し、2度目のcheckSelfPermissionの後に、shouldShowRequestPermissionRationaleを呼ぶ書き方になっていることが多いと思う。 Activity.shouldShow…

FragmentActivity.onRequestPermissionsResult

AppCompatActivityの場合は、その基底クラスFragmentActivityのメソッドonRequestPermissionsResultで、パーミッションリクエスト許可ダイアログの許可または拒否が選択された時の処理を書く。FragmentActivity | Android Developers [Android]複数の Runtim…

Activity.onRequestPermissionsResult

Activity.onRequestPermissionsResultで、パーミッションリクエスト許可ダイアログの許可または拒否が選択された時の処理を定義できる。Activity | Android Developersactivity_main.xmlで、また、普通のActivityなのでLinearLayoutとButtonに戻してる。 Mai…

ActivityCompat.requestPermissions

AppCompatActivityの場合は、ActivityCompat.requestPermissionsでリクエストする。ActivityCompat | Android Developersactivity_main.xmlで、ConstraintLayoutにButtonを配置する方法がわかったのでそうした。 (ConstraintLayoutはいずれ扱う。) MainActiv…

Activity.requestPermissions

Activity.requestPermissionsで、パーミッションのリクエスト許可ダイアログが出るので、それで許可すると権限が付与される。Activity | Android DevelopersMainActivity.javaで、mContext.checkSelfPermissionで拒否なら、requestPermissionsでACCESS_FINE_…

Context.checkSelfPermission

順番逆だった・・・。 別にContextでもcheckSelfPermission出来たわ・・・。Context | Android DevelopersMainActivity.javaで、mContextのcheckSelfPermission呼んでるだけで、あとは同じ。 許可されてれば許可されてれば、 許可と出るので変わらない許可と…

ContextCompat.checkSelfPermission

Android 6.0から、Runtime Permissionの仕組みが導入された。アプリの権限をリクエストする | Android デベロッパー | Android DevelopersContextCompat.checkSelfPermissionで、指定の権限が許可されているかをチェックする。ContextCompat | Android Devel…

BluetoothAdapter.isDiscovering

BluetoothAdapter.isDiscoveringで、Bluetooth機器の探索中かどうかをチェック出来る。BluetoothAdapter | Android Developersstrings.xmlで、Button2を追加。 activity_main.xmlで、こちらも"Button2"と表示されるbutton2が追加。 MainActivity.javaで、but…

BluetoothSocket.getInputStream

BluetoothSocket.getInputStreamで、InputStreamオブジェクトを取得して、あとはそれを使って読み込む。BluetoothSocket | Android DevelopersMainActivity.javaで、 package com.bgstation0.android.sample.bluetoothsocket_; import java.io.BufferedReade…

BluetoothSocket.getOutputStream

BluetoothSocket.getOutputStreamでOutputStreamオブジェクトを取得して、OutputStream.writeでデータを書き込む。BluetoothSocket | Android DevelopersMainActivity.javaで、soc.connectで例外が起きなければ、soc.getOutputStreamでoutputStreamを取得し…

BluetoothSocket.connect

BluetoothSocket.connectで、接続する。BluetoothSocket | Android DevelopersMainActivity.javaで、引数とかいらないので、ちょっと接続してみる。 Essential Phoneを押してみるEssential Phoneを押してみる。 socは出来たとしてsocは出来たとして、connect…

BluetoothSocket

作成したBluetoothのクライアントソケットは、BluetoothSocketに格納しておく。BluetoothSocket | Android DevelopersMainActivity.javaで、soc.toStringで、中身を見るだけ。 まあこういうオブジェクトのこういうハッシュコードしかわからないけど。まあこ…