---
# System prepended metadata

title: task(533458)熟悉Android頁面排版
tags: [Meeting, 新人訓, Android, Code review]

---

# task(533458)熟悉Android頁面排版

![](https://i.imgur.com/ICDBUo6.jpg)

[Github連結](https://github.com/WytheTsao/CathayMovie.git)
[Firebase連結](https://appdistribution.firebase.dev/i/ed1a77d417495f07)

## 2022/01/25 code review紀錄

1. 修改MovieModel內資料格式
2. 使用Gson或Fast JSON讀取JSON
3. try catch拿掉
4. <Code>java.lang.IndexOutOfBoundsException</Code>原因
5. RunTimeException原因

---

### 越界錯誤

<Code>java.lang.IndexOutOfBoundsException</Code>

要取出index內的值，但程式內List index位置內並沒有值就會出現這個錯誤。

### 非受檢例外

RunTimeException v.s Exception

* RunTimeException：在程式中可以不使用<Code>try...catch</Code>捕捉。
* Exception：程式中必須使用<Code>try...catch</Code>捕捉。

非RunTimeException都必須使用catch捕捉錯誤，
而RunTimeException編譯器不會檢查出異常，當程式錯誤時沒有使用<Code>try...catch</Code>程式還是會編譯通過[1](https://medium.com/@clu1022/java筆記-exception-與-error-dbdf9a9b0909)

## 2022/01/28 code review紀錄
* Firebase 發布apk
* LinearLayout拿掉
* px dp sp差別&介紹 android 分辨率
* onBindViewHolder
* Java Exception類型、發生原因、處理方式

---

### px
Android 上的抽象單位。對應 160dpi 螢幕上的 px 數量。160dpi 情況下 1dp = 1px 。

### dp
android上的抽象單位，螢幕解析度160dpi狀態下，1dp = 1px。如果螢幕密度為320dpi，則1dp = 2px。
對應公式說明：px = dp * dpi / 160。

### sp
android上的文字單位，螢幕解析度160dpi狀態下，1sp = 1px。如果螢幕密度為320dpi，則1sp = 2px。
對應公式說明：sp = pt * dpi / 160。(1pt = 1/72 inch = 2.22sp)


### Java Exception

| 例外名稱 | 發生原因 |
| --- | ---| 
| ArithmeticException | 運算式產生的例外，例如：除數為0 |
| ArrayIndexOutOfBoundsException | 陣列的索引值指定錯誤，例如：超出索引值 |
| ArrayStoreException | 指定陣列內容錯誤時產生的錯誤 |
| IndexOutOfBoundsException | 索引使用時超出範圍，這個類別是ArrayIndexOutOfBoundException的父類別 |
| IllegalArgumentException | 呼叫方法時，傳遞錯誤的參數 |
| NullPointerException | 使用物件時，該物件的參考值為null |
| NumberFormatException | 將字串轉為文字時，產生無法轉換的錯誤 |
| SecurityException | 企圖違反安全性的限制 |
| ClassNotFoundException | 找不到指定的類別，可以發生在使用某個類別的方法，但卻找不到該方法所屬的類別 |
| FileNotFoundException | 找不到指定的檔案 |
| CloneNotSupportException | 在類別中使用clone()方法，但該類別未實作「Cloneable」介面 |
| InterruptedException | 當某個執行緒中斷時，而另一個執行緒試圖使用「interrupt()」方法來中斷已停止執行的執行緒 |
| IOException | 檔案、網路…的輸出、入錯誤時產生的例外 |





###### tags: `新人訓` `Meeting` `Android` `Code review`

