1. Android Manifest.xml add permission
2. 建立 CsvActivity.kt 以及準備 Layout .xml 檔 (activity_csv.xml)
Code
填入姓名, 財富, 公司,點選 SAVE CSV 按鈕可以把檔案儲存,點選 READ CSV 按鈕內容會在下方 contet TextView 顯示.
3. CsvActivity.kt 讀取 / 寫入 csv 檔案
完整程式碼
備註 : 使用 viewbinding
![](https://1.bp.blogspot.com/-Rqc0qLRYI6o/YGht3CO6qBI/AAAAAAAAGoo/1NQU02xlD0ILUc8x6TQ8CGANoExwi6RYQCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.29.51.png) |
build.gradle(module) 設定
|
![](https://1.bp.blogspot.com/-N04XA4y9d4g/YGhuGR6NupI/AAAAAAAAGos/hpnvT12YhPA_m9v8x0LROsrvWOxHpKWdgCLcBGAsYHQ/w400-h111/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.30.53.png) |
確認 .xml , root layout 設定 |
![](https://1.bp.blogspot.com/-O3Ms8TxwzXw/YGhugHw4xhI/AAAAAAAAGo4/LEZ8YNYXZEYoGjkY1981fAXNyJR7f5_HgCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.32.06.png) |
切換到 Project 確認 ActivityCsvBinding.java 檔案已經產生 |
程式碼裡 Button, TextView, EditText 會透過 binding 方式,initial 的動作沒有用 code 另外產生.
檔案儲存路徑
![](https://1.bp.blogspot.com/-Yzaetkn6oHU/YGhvkHk7uVI/AAAAAAAAGpI/HQwRsuzDF3oAKIRTInKwKthi9h9157QhgCLcBGAsYHQ/w400-h56/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.37.05.png) |
資料夾名稱是 csvfile |
![](https://1.bp.blogspot.com/-_Czlhj0I-xw/YGhvz-QytJI/AAAAAAAAGpQ/FWeC_7oLQa0Ty4m3xytwAYvICnV9QQ8YQCLcBGAsYHQ/w640-h28/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.38.11.png) |
csv file 的名稱取名為 asset2021.csv |
![](https://1.bp.blogspot.com/-5_xOiry7cpI/YGhwVWn4UEI/AAAAAAAAGpY/XUEN5kWyubckFv7jyqJw57-428MULCV-QCLcBGAsYHQ/w640-h116/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.40.13.png) |
透過 Debug 方式就可以查看完整的路徑 |
完整的路徑為
/storage/emulated/0/Android/data/com.slideproject.sidekotlin/files/csvfile/asset2021.csv,其中紅色的部分為 package,可以在 Manifest.xml 查看.
寫 CSV 檔
![](https://1.bp.blogspot.com/-HOXf0h8Ac24/YGhxzZRMCMI/AAAAAAAAGpg/xt1jt8N7sr0TFyun79bwBh6Ch6FRWQq6ACLcBGAsYHQ/w640-h330/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.46.40.png) |
直接把檔案的資料寫入 |
![](https://1.bp.blogspot.com/-EW2N0Eh-haU/YGhyBV7q-JI/AAAAAAAAGpk/74f9YvovEjoNpJkoWWYptjCY_QtsdadWACLcBGAsYHQ/w640-h132/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.47.36.png) |
透過讀取 EditText 內容寫入 |
csv 檔案呈現
![](https://1.bp.blogspot.com/-u_fI4seEoyI/YGhyd5jZLmI/AAAAAAAAGpw/-lLUhBRu_ZYv2pd5gm2RUKKFV8T1B-dtACLcBGAsYHQ/w400-h106/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.49.31.png) |
直接寫入 |
![](https://1.bp.blogspot.com/-epbpkVdZoGE/YGhzH1PaRAI/AAAAAAAAGp4/v0jM8LknUykhD0wwehkZUrcUtAYX5BCmQCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.52.10.png) |
APP 內 EditText 填入資料後,點選 SAVE CSV |
![](https://1.bp.blogspot.com/-wXM5E8WXGFo/YGhzaFGtVtI/AAAAAAAAGqA/ar2CZ9W46TsrkVu6XA4w2RAkdw0GqlN5wCLcBGAsYHQ/w640-h62/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.53.32.png) |
asset2021.csv 內容 |
如何查看 .csv 檔
![](https://1.bp.blogspot.com/-RLrhoSoo-Ic/YGhz2cNNJVI/AAAAAAAAGqI/YBFc1z49HUktmrBXQsUPbSNRbt1_zqoLgCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.54.59.png) |
選擇 Device File Explore |
![](https://1.bp.blogspot.com/-LQUxtS9-65Y/YGh0DbpQlOI/AAAAAAAAGqM/HG9NqSrXDpIwVc4w0jpphKI-CkZkpSTXwCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.56.19.png) |
按照儲存的路徑 storage/emulated/0/Android package name 的路徑即可找到檔案
|
![](https://1.bp.blogspot.com/-tIlOM0T6tLg/YGh0eL04J8I/AAAAAAAAGqc/kv33LKbqwuAjd_VL3kh3CT1afOrvIAQ-wCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.57.47.png) |
右鍵 Save As... 可以把檔案儲存下來 透過 Numbers 或 Excel 查看 |
![](https://1.bp.blogspot.com/-bRfg0m7n0Xo/YGh0z3gLkuI/AAAAAAAAGqo/RQ7Mvul-sw8oDbXcJBdi-Nfbu4yeBc0tQCLcBGAsYHQ/w640-h262/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%25889.59.27.png) |
透過 Numbers 查看 |
讀取 CSV 檔案
注意的事項 :
1. 上方儲存檔案的部分,每次儲存都會直接把之前的檔案覆蓋掉,不會另外產生 asset2021(1).csv, asset2021(2).csv 這種檔案.
2. 讀取檔案之前要先確認這個檔案已經存在,否則會錯誤.此處沒有加入檔案是否存在的判斷.
![](https://1.bp.blogspot.com/-kAnEakB2Eqw/YGh1LoM61GI/AAAAAAAAGqw/5lQADRVs_jIb3yTLe1QQ3MmuT13HkyF8QCLcBGAsYHQ/w640-h316/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%258810.01.02.png) |
讀取檔案 |
透過 textViewContent 將 CSV 檔案內容顯示出來
![](https://1.bp.blogspot.com/-6FKjiCj2Cxs/YGh2PWhBu1I/AAAAAAAAGq4/kTr1XHeoqmUuM_m1IkBgz1CTtWLssXE3gCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%258810.05.34.png) |
未整理過的顯示 |
![](https://1.bp.blogspot.com/--zY23OXZ7mU/YGh3iFjEtoI/AAAAAAAAGrI/gpAFLJInMxI61AJJBcAcmScpgvLS3uiBwCLcBGAsYHQ/w640-h118/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%258810.11.01.png) |
while 加入 換行 “\n” |
![](https://1.bp.blogspot.com/-nOCkC5BxMII/YGh2iPtqMvI/AAAAAAAAGrA/fMW3P2sKmnE2Q8BnzMdiYw6eMWK1XDMJwCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-04-03%2B%25E4%25B8%258B%25E5%258D%258810.06.52.png) |
整理後顯示 |
專案名稱 : sidekotlin
commit version : 33fe9b0
後記
如果這篇文章對於你有幫助,可以幫忙分享給更多的人.文章內容如果有誤,可以在下方留言告知.本網站主要提供程式相關資訊,可以訂閱獲得最即時的資訊.
留言
張貼留言