---
# System prepended metadata

title: '【20/10/28(水)】1,2限目'
tags: [卒業制作]

---

# 【20/10/28(水)】1,2限目
###### tags: `卒業制作`

## 進捗

> [name=前田裕輝]
> * パソコンが1台だけじゃ作業効率が悪いと思い、図書館でパソコンを借りて2台で同時開発⑨した
> * 武田のプッシュ通知処理に着手。まずは相手にプッシュ通知を送る方法から吟味し、Firebaseに相手にプッシュする的なメソッドがないかなと調査する
> * 最低APIレベルの調査を行った

> [name=栗林幸暉]
> * タイムライン画面が一応完成した
> * デバッグを仮想環境だけでなく、実機での検証も行い、
> * 苦労していたグループ作成画面のアダプタ部を栗林の協力の元、実装ができた。ありがとう！

> [name=武田鼓太朗]
> * 内定式で欠席

## OSSの調査

* 念のために導入しているOSS、ライブラリを調査。以下の通りである
    | ライブラリ名 | APIレベル | AndroidOS | Gradle |
    | -------- | -------- | -------- | -------- |
    | Firebase | 16 | Android 4.1 | 4.1以降 | 
    | RecycleView | 14 | Android 4.0 | - |
    | CircleImageView | - | - | - |
* 以上のことから、理論上はAPIレベル最低16は必要で、Android4.1以上なら動かせる可能性がある
* 次の時間、自分のスマホ(APIレベル:21)で動かせられるのか検証したい

## 動作するAPI

試しにどのレベルから動作するのか。ヒヤヒヤしながら動かしてみた

| API(OS) | 動作有無 | 理由 |
| -------- | -------- | -------- |
| API:16(Android 4.1) | 動作不可 | 4.系は様々なサポートが終了していることが多く、カメラとかのライブラリに関係ないところで動作しないかもしれない |
| API:16(Android 4.1) | 動作不可濃厚 | 学校で生徒が借りれるNexus7のタブレット。APIレベルが古く試してはいないが動かない可能性が高い |
| API:20(Android 4.4) | 動作不可 | 20で試みたらここで早速アウトでした。もう21より前は一切動かないと判断した|
| API:21(Android 5.0) | 一部動作 | 俺のスマホで動いた。しかし写真のアップロードだけができなかった |
| API:22(Android 5.1) | 一部動作 | 俺のスマホで動いた。しかし写真のアップロードだけができなかった |
| API:27(Android 8.1) | 動作可能 | 学校で教員が借りれるJenesis(JT07-81B)タブレット。問題なく動作する |
| API:29(Android 10) | 動作可能 | 仮想環境。最初からこのAPIで開発していたので、このAPIレベルがベース |

* 21から1つずつAPIレベルを下げて調査してみたが20でアウトだった。**最低APIレベルは21**である。
* ただ、21,22でも完璧には動作せず、写真のアップロードがうまく動作しなかった。それ以外の機能は問題なく動いた
    * おそらく画像のアップロードだけじゃなくて、カメラの起動も動かない可能性がある
    * 理由はまったくわからないが、たぶんAPIレベルをもうちょっと上げることで回避できるのかもしれない
* 一旦はここがボーダーとして今後の開発情報に役立てていきたいと思う

## 不具合

アカウント作成部は最初期のころに既に完成はしているが、作りが荒いことに気づき修正更新を行いたい
- [ ] タブレット設計したのかスマホの時は下の方が見えず、スクロールが出来ない
- [ ] コンポーネントの一部が右に寄っている。端末画面が小さいタイプだと右端が見切れる
- [ ] パスワード再発行を押しても無反応

## 未実施

* アプリ設定画面の実装
    * 文字サイズの変更や細かいアプリの設定を行う画面がどこにもないので実装したい
    * 現在、右上に検索、グループ作成の2つのボタンがあるが、もう1つ歯車アイコンを追加し、設定画面を呼び出すようにしたい

* セキュリティ機能の実装検討
    * LINEのように、プライバシー保護の一環で、アプリ起動時にパスコード入力を促す
    * パスコードのデータはアプリレベルで保存する。
    * そのため、アプリのアンインストールを行うと、次起動する時はパスコードの入力ではなく、メールアドレス、パスワードの入力を求められるようになり、プライバシー保護が強化される

## やりたいこと

* アクティビティ数が多すぎて、そろそろフォルダ分けしたいと考えている