![](/img/trans.png)
[英]Create VideoView from a video file that is inside of a Zip File - Android
[英]Create Database from inside a Zip File - Android
我需要從一個.zip 文件中的 a.db 文件創建一個 SQLiteDatabase object 並將其存儲在一個變量中而不提取文件。
.zip 文件將始終具有相同的名稱,並且始終只有 1 個條目,即數據庫文件。
當我嘗試從 .zip 文件創建數據庫文件時,它給了我一個無法轉換為File
的ZipEntry
,這使事情變得復雜。
或者,當我嘗試通過 openDatabase openDatabase("path-to-zip", null, SQLiteDatabase.OPEN_READONLY)
提供 .zip 文件本身時
我收到以下錯誤:
文件已加密或不是數據庫(代碼 26)
我做了很多研究,但我無法在任何地方找到解決方案。 有誰知道如何做到這一點? 以下是我的設置:
class DatabaseHelper(private val mContext: Context, factory: SQLiteDatabase.CursorFactory?) :
SQLiteOpenHelper(mContext, DB_NAME, factory, 1) {
private lateinit var mDatabase: SQLiteDatabase
companion object {
private val PATH: String = "../myZipFile.zip"
private val DB_NAME = ZipFile(PATH).entries().nextElement().name
}
init {
try {
mDatabase = SQLiteDatabase.openDatabase(PATH, null, SQLiteDatabase.OPEN_READONLY)
} catch (e: Exception) {
e.printStackTrace()
}
}
}
我需要從 a.zip 文件中的 a.db 文件創建一個 SQLiteDatabase object
這是不可能的,對不起。 SQLite 需要文件系統上的文件,而不是 ZIP 文件中的條目。 要么提取文件,要么首先不要 ZIP 它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.