每日总结
所花时间:2小时
代码量:如下:
博客量:本学期截至目前48篇
了解到的知识点:app预览
这是app端的对pdf文件进行预览:
相关部分代码:
package com.kr;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebSettings;
import android.webkit.WebView;
import androidx.appcompat.app.AppCompatActivity;
public class RvAdapter extends AppCompatActivity {
WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rv_adapter);
initView();
//加载本地文件
//preView("file:///android_asset/demo.pdf");
//加载允许跨域访问的文件
preView("http://10.99.124.197:8080/webxx/upload/uu.pdf");
//跨域加载文件 先将pdf下载到本地在加载
// download("http://p5grppofr.bkt.clouddn.com/pdf-js-demo.pdf");
}
@SuppressLint("SetJavaScriptEnabled")
private void initView() {
mWebView = findViewById(R.id.webView);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowFileAccess(true);
webSettings.setAllowFileAccessFromFileURLs(true);
webSettings.setAllowUniversalAccessFromFileURLs(true);
}
/**
* 下载pdf文件到本地
*
* @param url 文件url
*/
/* private void download(String url) {
DownloadUtil.download(url, getCacheDir() + "/temp.pdf",
new DownloadUtil.OnDownloadListener() {
@Override
public void onDownloadSuccess(final String path) {
Log.d("MainActivity", "onDownloadSuccess: " + path);
runOnUiThread(new Runnable() {
@Override
public void run() {
preView(path);
}
});
}
@Override
public void onDownloading(int progress) {
Log.d("MainActivity", "onDownloading: " + progress);
}
@Override
public void onDownloadFailed(String msg) {
Log.d("MainActivity", "onDownloadFailed: " + msg);
}
});
}*/
/**
* 预览pdf
*
* @param pdfUrl url或者本地文件路径
*/
private void preView(String pdfUrl) {
//1.只使用pdf.js渲染功能,自定义预览UI界面
mWebView.loadUrl("file:///android_asset/index.html?" + pdfUrl);
//2.使用mozilla官方demo加载在线pdf
// mWebView.loadUrl("http://mozilla.github.io/pdf.js/web/viewer.html?file=" + pdfUrl);
//3.pdf.js放到本地
// mWebView.loadUrl("file:///android_asset/pdfjs/web/viewer.html?file=" + pdfUrl);
//4.使用谷歌文档服务
// mWebView.loadUrl("http://docs.google.com/gviewembedded=true&url=" + pdfUrl);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)