kotlin in action pdf中文版
时间: 2023-12-11 09:00:25 浏览: 313
《Kotlin in Action》是一本介绍Kotlin编程语言的经典书籍,这本书详细介绍了Kotlin语言的特性、语法、以及在实际项目中的应用。它涵盖了从基础知识到高级技术的内容,适合初学者和有一定经验的开发者阅读。
《Kotlin in Action》pdf中文版是这本书的中文翻译版本,为中文读者提供了更方便的阅读方式。这本书对于想要学习Kotlin语言的开发者来说是一本非常有价值的参考书籍,它可以帮助读者快速上手Kotlin语言,了解语言的特性和优势。
在《Kotlin in Action》pdf中文版中,读者可以学习Kotlin语言的基本语法和特性,了解Kotlin与Java的对比和区别,以及如何在Android和其他平台上应用Kotlin进行开发。此外,这本书还介绍了Kotlin在函数式编程、并发编程等方面的应用,帮助读者更深入地理解和运用Kotlin语言。
总之,《Kotlin in Action》pdf中文版是一本对于想要学习和深入了解Kotlin语言的人来说非常有帮助的书籍,它可以帮助读者系统地学习和掌握Kotlin语言,并且在实际项目中进行应用。无论是初学者还是有经验的开发者,都可以从这本书中获得丰富的知识和经验。
相关问题
kotlin 显示在线pdf完整示例
以下是一个使用Kotlin显示在线PDF的完整示例:
```kotlin
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.github.barteksc.pdfviewer.PDFView
import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener
import com.github.barteksc.pdfviewer.listener.OnPageChangeListener
import com.github.barteksc.pdfviewer.scroll.DefaultScrollHandle
import com.github.barteksc.pdfviewer.util.FitPolicy
class MainActivity : AppCompatActivity(), OnPageChangeListener, OnLoadCompleteListener {
private lateinit var pdfView: PDFView
private var pageNumber: Int = 0
private var pdfFileName: String? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
pdfView = findViewById(R.id.pdfView)
displayFromUri(Uri.parse("https://www.sample.com/sample.pdf"))
}
private fun displayFromUri(uri: Uri) {
pdfFileName = getFileName(uri)
pdfView.fromUri(uri)
.defaultPage(pageNumber)
.onPageChange(this)
.enableAnnotationRendering(true)
.onLoad(this)
.scrollHandle(DefaultScrollHandle(this))
.spacing(10) // in dp
.pageFitPolicy(FitPolicy.BOTH)
.load()
}
private fun getFileName(uri: Uri): String? {
var result: String? = null
if (uri.scheme == "content") {
val cursor = contentResolver.query(uri, null, null, null, null)
if (cursor != null && cursor.moveToFirst()) {
result = cursor.getString(cursor.getColumnIndexOrThrow("_display_name"))
cursor.close()
}
}
if (result == null) {
result = uri.lastPathSegment
}
return result
}
override fun onPageChanged(page: Int, pageCount: Int) {
pageNumber = page
title = String.format("%s %s / %s", pdfFileName, page + 1, pageCount)
}
override fun loadComplete(nbPages: Int) {
val meta = pdfView.documentMeta
printBookmarksTree(pdfView.tableOfContents, "-")
}
private fun printBookmarksTree(tree: List<com.shockwave.pdfium.treeview.PdfDocument.Bookmark>, sep: String) {
for (b in tree) {
println("$sep ${b.title} ${b.pageIdx}")
if (b.hasChildren()) {
printBookmarksTree(b.children, "$sep-")
}
}
}
fun onDownloadButtonClick(view: View) {
val intent = Intent(Intent.ACTION_VIEW)
intent.data = Uri.parse("https://www.sample.com/sample.pdf")
startActivity(intent)
}
fun onShareButtonClick(view: View) {
val intent = Intent(Intent.ACTION_SEND)
intent.type = "text/plain"
intent.putExtra(Intent.EXTRA_SUBJECT, "Share PDF")
intent.putExtra(Intent.EXTRA_TEXT, "https://www.sample.com/sample.pdf")
startActivity(Intent.createChooser(intent, "Share PDF"))
}
fun onPrintButtonClick(view: View) {
Toast.makeText(this, "Printing PDF...", Toast.LENGTH_SHORT).show()
}
}
```
这个例子中,我们使用了一个名为 `PDFView` 的开源库来显示PDF文件。我们从URI加载PDF文件,然后在PDFView中显示它。我们还添加了一些按钮以便用户可以下载、分享或打印PDF文件。
阅读全文