Я сделал демонстрационное приложение с библиотекой MuPDF, но оно открывает один файл PDF из хранилища устройства при открытии приложения. Я сделал еще одно приложение, используя веб-просмотр, чтобы открывать html из папки с ресурсами. И я хочу использовать библиотеку, чтобы открывать программу чтения всякий раз, когда нажимается кнопка, которую я связал с файлом PDF. Я не смог найти никаких руководств по этому поводу, и я был бы очень признателен за любую помощь.
MainActivity.java для веб-приложения:
package epsnotes.com.epsnotes;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
private WebView mywebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mywebView = (WebView)findViewById(R.id.webView);
WebSettings webSettings = mywebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mywebView.loadUrl("file:///android_asset/index.html");
mywebView.setWebViewClient(new WebViewClient());
}
@Override
public void onBackPressed() {
if(mywebView.canGoBack()) {
mywebView.goBack();
} else {
super.onBackPressed();
}
}
}
activity_main.xml для веб-приложения:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="epsnotes.com.epsnotes.MainActivity">
<WebView
android:id="@+id/webView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
MainActivity.java для демонстрационного приложения MuPDF:
package yoseman.com.mupdfdemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RelativeLayout;
import com.artifex.mupdfdemo.FilePicker;
import com.artifex.mupdfdemo.MuPDFCore;
import com.artifex.mupdfdemo.MuPDFPageAdapter;
import com.artifex.mupdfdemo.MuPDFReaderView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout layout = (RelativeLayout) findViewById(R.id.main_layout);
MuPDFCore core = null;
try {
core = new MuPDFCore(this, "/storage/emulated/0/Download/AMHMOE11.pdf");
} catch (Exception e) {
e.printStackTrace();
}
MuPDFReaderView reader = new MuPDFReaderView(this);
reader.setAdapter(new MuPDFPageAdapter(this, new FilePicker.FilePickerSupport() {
@Override
public void performPickFor(FilePicker filePicker) {
}
}, core));
layout.addView(reader);
}
}
activity_main.xml для демонстрационного приложения MuPDF:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="yoseman.com.mupdfdemo.MainActivity">
</RelativeLayout>
HttpUrlConnection
, OkHttp), а затем просмотрите его. - person CommonsWare   schedule 25.03.2017