我目前正在開發一個 pdf 閱讀器應用程式,我希望該應用程式顯示當前閱讀頁面,以防應用程式關閉并再次重新打開。我正在使用這個依賴實作'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'
uj5u.com熱心網友回復:
這是 Kotlin 的幫助,將您的頁碼保存在 SharedPreferences in 中onDestroy()。當您打開您的應用程式然后從 SharedPreferences 獲取頁碼并加載 pdf。
MainActivity.kt
class MainActivity : AppCompatActivity() {
private var defaultPage = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
defaultPage = getPageNumber() // get value form SharedPreferences
loadPdfViewer()
}
private fun loadPdfViewer() {
pdfView.fromFile(pdfPath)
.enableSwipe(true) // allows to block changing pages using swipe
.swipeHorizontal(false)
.enableDoubletap(true)
.defaultPage(defaultPage)
.enableAntialiasing(true) // improve rendering a little bit on low-res screens
// spacing between pages in dp. To define spacing color, set view background
.spacing(5)
.onError {
// do something
}
.autoSpacing(false) // add dynamic spacing to fit each page on its own on the screen
.pageFitPolicy(FitPolicy.WIDTH) // mode to fit pages in the view
.nightMode(false) // toggle night mode
.load()
}
override fun onDestroy() {
super.onDestroy()
defaultPage = pdfView.currentPage
// save this defaultPage number in SharedPreferences
setPageNumber(defaultPage )
}
fun getPageNumber(): Int {
val sharedPreferences = getSharedPreferences("pageNumberPrefs", Context.MODE_PRIVATE)
return sharedPreferences.getInt("pageNumberValue", 0)
}
fun setPageNumber(pageNumber: Int) {
val sharedPreferences = getSharedPreferences("pageNumberPrefs", Context.MODE_PRIVATE)
val sharedPreferencesEditor = sharedPreferences.edit()
sharedPreferencesEditor.putInt("pageNumberValue", pageNumber)
sharedPreferencesEditor.apply()
}
}
uj5u.com熱心網友回復:
你可以用簡單的邏輯做到這一點。
假設這是一個離線或在線應用程式。每次加載pdf頁面時,每次用戶打開新頁面或回傳上一頁時,您都可以獲得頁碼。onDestroy()您可以在呼叫 或 'onStop()' 方法時存盤此頁面。
您可以使用以下方式存盤頁面資訊:
- 共享首選項。
- 簡單的 SQLite 資料庫。
- 遠程資料庫,如果應用程式有遠程/在線后端。
每次onResume()呼叫該方法時,您可以獲取最后一頁資訊并將其傳遞給 pdf 加載器或 WebView,它將加載頁碼。如果無法檢索頁面資訊,您可以加載 pdf 的第一頁。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/448955.html
上一篇:GoogleScript-讀取PDF檔案,識別為text/html
下一篇:繼承自模板引數的Dart模板類
