标签:mTbsReaderView word String void fileName result ppt new 加载
Android 用腾讯X5内核加载 word ppt 先下载在加载。
第一步 下载Sdk 导入项目
第二步 下载 pdf word到本地
1. 调用下载 DownloaderTask task = new DownloaderTask(); task.execute();
/**
* 任务类
*/
private class DownloaderTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
String url = "下载地址";
String fileName = url.substring(url.lastIndexOf("/") + 1);
try {
fileName = URLDecoder.decode(fileName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// MyLogger.i("download", "fileName=" + fileName);
try {
URL resUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) resUrl.openConnection();
conn.connect();
InputStream input = conn.getInputStream();
DownloadUtils.writeToSDCard(fileName, input);
input.close();
return fileName;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
protected void onCancelled() {
super.onCancelled();
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
DownloadUtils.closeProgressDialog();
if (result == null) {
// ToastUtils.showShortToast(ClassroomlearningActivity.this, R.string.msg_downloaderror);
return;
}
// ToastUtils.showShortToast(ClassroomlearningActivity.this, R.string.msg_downloadsuccess);
String dir = DownloadUtils.getDownloadPath() + result;
//下载完 跳转到 WabActivitry 页面 使用 TbsReaderView 加载 H5
startActivity(new Intent(getBaseContext(), WabActivitry.class).putExtra("path", dir));
// Wps.createInstance(ClassroomlearningActivity.this).open(new File(dir));
}
@Override
protected void onPreExecute() {
super.onPreExecute();
DownloadUtils.showProgressDialog(ClassroomlearningActivity.this);
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
}
第三步 根据路径加载 Wabview
layout 和 xml代码
<RelativeLayout
android:id="@+id/X5TbsView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
调用代码
public void displayFile(String fileModel) {
mTbsReaderView = new TbsReaderView(this, this);
//增加下面一句解决没有TbsReaderTemp文件夹存在导致加载文件失败
String bsReaderTemp = tbsReaderTemp;
// Log.i("eeee","tbsReaderTemp"+bsReaderTemp);
File bsReaderTempFile = new File(bsReaderTemp);
if (!bsReaderTempFile.exists()) {
Log.d("print", "文件不存在准备创建/TbsReaderTemp!!");
boolean mkdir = bsReaderTempFile.mkdir();
if (!mkdir) {
Log.d("print", "创建/TbsReaderTemp失败!!!!!");
}
Toast.makeText(this, "文件不存在!", Toast.LENGTH_SHORT).show();
}
mRelativeLayout.addView(mTbsReaderView, new RelativeLayout.LayoutParams(-1, -1));
Bundle bundle = new Bundle();
bundle.putString("filePath", fileModel);
bundle.putString("tempPath", "" + getIntent().getStringExtra("name"));
boolean result = mTbsReaderView.preOpen(getFileType("" + fileModel), false);
Log.d("print", "查看文档---" + result);
if (result) {
mTbsReaderView.openFile(bundle);
} else {
}
}
private String getFileType(String paramString) {
String str = "";
if (TextUtils.isEmpty(paramString)) {
Log.d("print", "paramString---->null");
return str;
}
Log.d("print", "paramString:" + paramString);
int i = paramString.lastIndexOf('.');
if (i <= -1) {
Log.d("print", "i <= -1");
return str;
}
str = paramString.substring(i + 1);
Log.d("print", "paramString.substring(i + 1)------>" + str);
return str;
}
//消失记得销毁
@Override
protected void onDestroy() {
super.onDestroy();
if (mTbsReaderView != null) {
mTbsReaderView.onStop();
mTbsReaderView.destroyDrawingCache();
}
}
标签:mTbsReaderView,word,String,void,fileName,result,ppt,new,加载 来源: https://blog.csdn.net/qq_35742975/article/details/115376649
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。