項目名
Name
Package name
Save location
Language
Minimum API level
Use legacy android.support libraries
設定
number_PersonList
com.number.personlist
自身の作業ディレクトリ
Kotlin
API 28: Android 9.0 (Pie)
unchecked
※ プロジェクト名は「RecyclerSample」でも構わない。
※ ただし、可能であれば正規の名前に修正すること。
画面は次の3画面で構成する。
PersonListActivity:
登録された Person をリスト表示する。アプリ起動時のスタート画面。NewPersonActivity や EditPersonActivity に画面遷移する。
コンポーネント:
ADD button: NewPersonActivity へ遷移する。
PersonList(RecyclerView): 登録されている Person Data を一覧表示する。
Person Item: タップで EditPersonActivity へ遷移する。
NewPersonActivity: Person を新規作成する画面。
コンポーネント:
Name input(EditText): 名前を入力する。
Age input(EditText): 年齢を入力する。(ソフトウェアキーボードは数値のみ)
Choice married(RadioGroup & RadioButton): 婚姻状況を選択する。
OK button: 編集を終了し、PersonListActivity へ画面遷移する。(編集した Person は端末内に保存され PersonListActivity で一覧表示される)
Cancel button: 編集内容を破棄し、PersonListActivity へ画面遷移する。
EditPersonActivity: PersonListActivity から選択された Person 情報の更新または削除を行う画面。
コンポーネント:
Name input(EditText): 名前を入力する。(PersonListActivity で選択された Person の name を初期値とする)
Age input(EditText): 年齢を入力する。(PersonListActivity で選択された Person の age を初期値とする)
Choice married(RadioGroup & RadioButton): 婚姻状況を選択する。(PersonListActivity で選択された Person の isMarried を初期値とする)
UPDATE button: 編集を終了し、PersonListActivity へ画面遷移する。(編集した Person は端末内に保存され PersonListActivity で一覧表示される)
DELETE button: 編集を終了し、PersonListActivity へ画面遷移する。(編集した Person は端末内から削除され PersonListActivity にも表示されない)
Cancel button: 編集内容を破棄し、PersonListActivity へ画面遷移する。
Activity の名前はこのとおりでなくても良い。NewPersonActivity と EditPersonActivity を同一の画面で構成しても良い。
Person は管理用の「data class」を作成し、次の properties を用いること。必要に応じて properties を増やしても構わない。また、関数を追加しても構わない。ただし、『冗長的なデータ』を保持するために properties を追加してはならない。
val name: String
val age: Int
val isMarried: Boolean
val uuid: Long or UUID
次にあげる画面遷移時のタスクデータの受け渡し方法は、Person インスタンスを Intent に putExtra() してやりとりをすること。
同姓同名、同年齢、同婚姻状況のデータを重複して保存できるようにすること。また、それらのデータは別のものとして(一意性を保たせて)管理すること。(UUID などの一意性を表す properties を用いること)
SharedPreferences への保存は「PersonListActivity(タスクを一覧表示している Activity)」で行うこと。
追加編集削除機能および一覧表示が問題なくできること
データのソート機能
データの更新について: 変更前の Person Data を削除してから、変更後の Person Data を追加する方法が単純だと思われる。