簡體   English   中英

你如何使用android studio在本地存儲應用程序數據?

[英]How do you store app data locally using android studio?

我剛剛開始使用 android studio 和應用程序開發。 我已經完成了一些教程來學習 Android Studio 的界面和基礎知識(活動、文本視圖、按鈕等),並且我已經參加了 Java 面向對象編程的大學課程。 現在,這就是我想要做的:

我正在制作一個非常基本的應用程序,旨在幫助用戶預算他們的錢。 該應用程序“充當”您的帳戶,您添加最近收到的金額。 從這里,您可以將錢分配給儲蓄、支票等。 我需要存儲的數據將是代表美元價值的數字、用戶所做的不同分配以及這些分配的相應美元金額。

我已經設法在 Java 數據結構中包含相對精細的數據(我在 eclipse 中開發了一些算法來開始)。 我需要序列化這些數據嗎? 或者嘗試將其寫入文本文件? 我環顧四周尋找一些教程,大多數低級教程都令人困惑或需要使用 SQL 的高級技術。 我對簡單地在本地存儲感興趣,就像使用待辦事項列表應用程序來記錄您輸入的任務一樣。

任何和所有的洞察力都表示贊賞。

如果我是你,我會走 sql 路線。 開始使用sqlite for android 真的不難。 如果您還沒有看過 Google 自己的關於該主題的教程,請在此處查看

盡管如此,如果您覺得數據庫太過分了,您也可以查看這里提到的其他方法。 實際上,如果它類似於待辦事項列表,其他選擇將是內部存儲外部存儲 共享首選項最常用於持久化用戶設置。

如果您選擇使用文件路由並且不想將數據保存為 csv 之類的內容,那么您需要讓您的 java 對象實現Serializable接口並使用ObjectOutputStream將它們寫入文件。

例如:

FileOutputStream fos = new FileOutputStream("/some/file/path/filename.ser", true);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(yourSerializableObject);

首先重要的是,Activity、TextViews、Buttons 和其他視圖組件不是 Android Studio 的一部分。 它們是android框架的一部分。 Android Studio 是 IDE,如 Eclipse、NetBeans 等。

關於您的要求,在 android 中有更多的數據持久化方法。 您可以使用文件、SharePreferences 和 sql (sqlite)。

請查看以下文檔:

https://developer.android.com/guide/topics/data/

此外,我建議您遵循 Google android 官方文檔。 https://developer.android.com/guide/

最好的問候,米蘭

有幾種方法可以將您的數據本地存儲在設備上:

  • SharedPreferences - 通常用於存儲應用程序設置(如名字、姓氏等)。
  • 數據庫 - 用於存儲結構化數據,應用程序需要存儲大量數據時的最佳解決方案。 此外,它具有強大而靈活的讀/寫操作機制。
  • 文件- 不是保存結構化數據的最佳方式,沒有內置機制。 此外,應用程序還需要額外的寫入/讀取操作權限(如果您決定將數據保存在外部存儲上),這可能會被用戶拒絕(如果您的應用程序面向 api 23 及更高版本,則應使用 運行時權限

在您的案例中存儲應用程序數據的最有效方法是數據庫。

Google 開發了Room Persistence 庫,它提供了對 SQlite 的抽象級別,並使所有事情變得簡單易懂。

是 Medium 上的一個很好的例子,它提供了易於理解的 Room Persistence 庫教程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM