活動
2020/08/18から2020/09/16まで
2020/09/15
- 高徹 22:01 機能 #166: Androidアプリケーション(検温記録)を古典MVC構造で作成する(Kotlin編)
- h4. コントローラのロジック
h5. 検温日時の保持と表示
* 画面が表示されたときに、現在日時を検温日時として表示する
* 10分前/10分後ボタンを押すと、検温日時を変更する
日時(java.time.LocalDateTime)をフィールドに持ち、ボタンをクリックするとフィールドに保持した日時を±10分増減する。
日時を表示のために文字列化するには、java.time.format.DateTimeFormatterを用いる。 - 高徹 15:02 機能 #166: Androidアプリケーション(検温記録)を古典MVC構造で作成する(Kotlin編)
- h4. 画面に表示する文字のリソース化
レイアウトで使用する文字列は、国際化リソースとして定義する。
app/src/main/res/values/strings.xml に、IDと文字列の組み合わせで定義する。このファイルには英語文字列を定義する。
次に、日本語文字列を定義する。まず、Android Studio 上でstrings.xmlを開いた状態で、[Open editer]をクリックし、
{{thumbnail(clipboard-20200915075... - 高徹 15:45 リビジョン 4caca8db (swe_primus): refs #166 Add TempRecorder with classic MVC and Kotlin
2020/09/14
- 高徹 08:23 機能 #166: Androidアプリケーション(検温記録)を古典MVC構造で作成する(Kotlin編)
- レイアウトの確認をするため、実行(Android Device上で実行)したところ次のエラーに。
> Installation did not succeed.
> ...
アプリケーションのIDが、Java編とかぶっているため、アプリケーションIDは次に定義
* appモジュールのbuild.gradle - 高徹 07:41 機能 #166: Androidアプリケーション(検温記録)を古典MVC構造で作成する(Kotlin編)
- h3. 画面レイアウトの作成
先のJava編[#165]では、ルートレイアウトをデフォルトのConstraintLayoutからLinearLayoutに変更し、入れ子構造で「古典的な」レイアウトを実施した。その後、入れ子構造のレイアウトは画面描画が重くなるのでフラット構造のレイアウトができるConstraintLayoutがよいという意見を見かけた。成程...、では今回はデフォルトのConstraintLayoutをルートレイアウトとして作成してみる。
h5. 入...
2020/09/13
- 高徹 11:06 機能 #166 (進行中): Androidアプリケーション(検温記録)を古典MVC構造で作成する(Kotlin編)
- h3. プロジェクトの新規作成
Android Studioで新規プロジェクト「TempRecorderClassicKt」を作成
* [File]メニュー > [New] > [New Project] で「Create New Project」画面を開く
* [Empty Activity]を選択し、[Next]ボタンをクリック
* 以下を記載し[Finish]ボタンをクリック
** Name欄に @TempRecorderClassicKt@
...
2020/09/12
- 高徹 22:51 機能 #166 (解決): Androidアプリケーション(検温記録)を古典MVC構造で作成する(Kotlin編)
- [#165]の仕様で、Kotlin言語で実装する。
開発環境は次
|_. OS | Windows 10 1909 Pro 64bit 日本語版 |
|_. IDE| Android Studio 4.0.1 |
結果
リポジトリ
source:learn/android/TempRecorderClassicKt
ファイル毎のコード行数(clocツール調べ)
|_. No.|_. ファイル名 |_. コード行数 |_. Jav...
2020/09/07
- 高徹 23:25 リビジョン 9401aae1 (swe_primus): Add japanese resource
- 高徹 08:48 リビジョン 06ec8581 (swe_primus): Add android TempRecorder project (Classic Java)
- 高徹 08:37 リビジョン cf0a3eee (swe_primus): Add android directory under learn, and first project directory(empty)
- 高徹 08:17 リビジョン ce9ac998 (swe_primus): modified for renewed url
- 高徹 02:13 機能 #165: Androidアプリケーション(検温記録)を古典MVC構造で作成する
- RecyclerViewの実装が結構大変そうである。
レイアウトファイル、関連クラスの実装が必要
* レイアウトXML
1行のViewのレイアウトを定義
* RecycleView.Adapterの派生クラス
1件のデータを1行のViewに設定
* RecycleView.ViewHolderの派生クラス
1行のView(ウィジェット)参照を保持
h5. activity_main.xmlにRecyclerViewを追加
Android Studio 4.0.1の...
2020/08/31
- 高徹 22:57 機能 #165: Androidアプリケーション(検温記録)を古典MVC構造で作成する
- 日時と体温のデータベースを管理するContentProviderを作成する。
ContentProviderは、CONTENT URIを定義する(content://<authority>/<path>/<id>)
authorityは、コンテンツプロバイダのFQCNを全て小文字とした名前とする慣習(com.torutk.temprecorder.tempcontentprovider)
pathはテーブル名
作成するクラスは大よそ次のとおり
BaseColumns... - 高徹 17:36 機能 #165 (進行中): Androidアプリケーション(検温記録)を古典MVC構造で作成する
- Android Studio で新規プロジェクトを作成、空のActivityとする。
* TempRecordeJavaプロジェクトを新規作成
* MainActivityのデフォルトのレイアウトはConstraintLayoutとなっている
レイアウトに関して
ConstraintLayoutは、Java/SwingのSpringLayout に類似して、上下左右の間隔を定義して配置する方式で、柔軟性が高い。
しかし、設定が複雑になるため、LinearLayou... - 高徹 15:37 機能 #165 (フィードバック): Androidアプリケーション(検温記録)を古典MVC構造で作成する
- h4. 目的
毎日の体温計測をスマートフォンのメモ機能で記録していたが、記入が結構面倒であった。
また、昨今のAndroidアプリケーション開発事情を把握するため、5年前の古典的なMVC構造と対比したい。そこで、まずMVC構造で作成してみる。
h4. 条件
* アプリケーション名は、「Temp.Recorder」
* 単独のアプリケーションでデータ永続化機能を持つ
* 開発言語はJava、完成後Kotlin版作成
* ActivityとCont... - 高徹 15:26 サポート #114 (終了): はてなブログの編集領域を等幅フォントにしたい
- 実現方法が見出せなかったのでお蔵入り(終了)
2020/08/23
- 高徹 10:01 調査 #163: Windows 10 2004のWSL2にCentOS8を入れる
- デフォルトのユーザーを設定する。
- 高徹 09:46 調査 #163: Windows 10 2004のWSL2にCentOS8を入れる
- Windows 10 1909にもWindows UpdateでWSL2がバックポートされました。
https://devblogs.microsoft.com/commandline/wsl-2-support-is-coming-to-windows-10-versions-1903-and-1909/