2013-12-12 25 views
1

我正在開發一個應用程序,其中包含需要連接到數據庫的活動。我將數據庫文件添加到資產文件夾中,該文件夾在應用程序第一次運行時被複制到應用程序數據庫目錄,但「資產」目錄和「數據」目錄(在根設備上)可以被任何其他應用程序訪問。我在使用數據庫文件或在代碼中創建數據庫之間混淆。如果我在代碼中創建數據庫,它會使數據庫文件在「assets」文件夾中消失。當用戶將.apk的文件擴展名更改爲.zip時,數據庫文件不會出現在assest文件夾中。我該怎麼做?Android - 使用SQLite的最佳方式?

請給我一些建議!

回答

0

老實說,這是最好的解釋和一個非常完整的教程關於這個問題 SQLite Android Tutorial

不要排斥,因爲它是一個長一點的。一切都很好地解釋,你不需要考慮在不同設備上的資產文件夾的位置等等...

+0

我不需要教程。我需要一些關於安全SQLite數據庫的建議。 –

1

這兩種方式都很好,很有用,它完全取決於你的需要。 通過在代碼中創建數據庫,您可以從其他應用程序中保護數據,但它會以這種方式創建它非常痛苦,所以我建議您在資產文件夾中使用db或sqlite文件,並在設備或數據文件夾上覆制數據庫時使用一些安全參數來加密它,或者您可以隱藏設備上的應用程序數據庫文件夾,以便其他應用程序和用戶無法輕鬆訪問它。

1

好保持資產的文件夾數據庫是不是所有壞的做法,再加上它可以節省創建數據庫的編碼,只要你想,以確保安全,你必須做兩件事情

1.keep你數據庫在assests文件夾中,並複製並保存在內部存儲器中,現在它只對您的應用程序可用,並從assests文件夾中刪除它。

2.使用Proguard來保護它免受反編譯你的應用程序和獲取資產。

如果它在應用程序和應用程序中的機密數據是值得的,那麼你也可以去「加密數據」,但是它是一個TDS任務,請親自看看現在適合你。

+0

我想使用來自assests文件夾的數據庫文件。但是當有人將.apk的擴展名改爲.zip時。他們可以看到數據庫文件。這不好 。 –

+0

因爲你使用的是proguard,就像你使用的是來自assests文件夾的ur數據庫,所以把你的數據庫放在你的assests文件夾中,當應用程序啓動時,只需將它從assests文件夾複製到內部存儲器,並從assests文件夾中刪除它。 因此,你得到的東西: 1.使用proguard你保護它暴露給公衆,即使有人更改apk到zip。 2.將它從資產文件夾中移除到內部存儲器使其不可用於除您以外的任何其他應用程序,並且同時您可以像使用它在資產文件夾中一樣使用它的方式使用它 – Khay

+0

如何保護數據庫使用proguard放棄文件夾?給我一些導師來做這個! –