java - 解析其他 Activity 的 url 以从该 url 加载 PDF

标签 java android-studio pdf url android-activity

我的应用程序中有两个 Activity 。一个有 3 个按钮,另一个有来自 github“com.github.barteksc:android-pdf-viewer:2.6.1”的 PDFView 我正在尝试从此代码中的 url 加载 pdf。它对我有用

public class PDFActivity extends AppCompatActivity {

    PDFView pdfView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pdf);

        pdfView = (PDFView) findViewById(R.id.pdfview);

        new RetrievePDFStream().execute("my url to load pdf example http://sample.com/xyz.pdf");

    }


    class RetrievePDFStream extends AsyncTask<String, Void, InputStream>
    {

        @Override
        protected InputStream doInBackground(String... strings) {
            InputStream inputStream = null;
            try
            {
                URL url = new URL(strings[0]);
                HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
                if(urlConnection.getResponseCode() == 200)
                {
                    inputStream = new BufferedInputStream(urlConnection.getInputStream());
                }
            }
            catch (IOException e)
            {
                return null;
            }
            return inputStream;
        }

        @Override
        protected void onPostExecute(InputStream inputStream) {
            pdfView.fromStream(inputStream);
        }
    }
}

这工作正常,但我必须从其他 url 的 Activity 1 加载另一个 pdf,当我单击按钮 1 在此 Activity 中加载另一个 pdf 并单击按钮 2 从中加载另一个 pdf 时,更改该 url“new RetrievePDFStream” Activity 。

非常感谢任何答案!

最佳答案

如果我理解正确的话,你有 3 个按钮和两个 Activity 。
在 ack1 中,您有 3 个按钮,在 ack2 中,您有 pdf 查看器。因此,如果我点击 ack1 按钮 1,你想从 ack2 加载 url1,如果我点击 ack1 按钮 2,你想从 ack2 加载 url2,依此类推...... 如果这是要求,那么您可以使用意图附加功能。 表单 ack1 执行此操作:

button1.onclick(new onclicklistener{
   publi void onClick(){
        Intent intent=new Intent(this,ack2.class);
        intent.putExtras("url","pdf url1");
    }}

对于button2 jst,将“pdf url1”更改为“pdf url2”
对于button3 jst,将“pdf url1”更改为“pdf url3”

在 ack2 中执行以下操作: 在 onCreate() 方法中:

    Intent i=this.getIntent();
    String url=i.getExtras("url");

从这里,您将根据您单击的按钮获取您在第一个 Activity 中传递的网址。如果用户单击按钮 1,您将获得“pdf url1”,如果用户单击按钮 2,您将获得“pdf url2”..依此类推...

编辑:代码仅供引用,请勿复制和粘贴...

关于java - 解析其他 Activity 的 url 以从该 url 加载 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45315408/

相关文章:

Java:三角函数和双重误差导致 NaN

java - 如何在 SharedPreferences 中存储 ArrayList<Class> 来存储游戏进度?

jquery - 使用 html2canvas 和 jspdf 创建的 PDF 文件 - pdf 中不允许选择文本

java - PowerMock 可以在没有注释的情况下使用吗?

java - 如何使用字符作为字符串中的分隔符

android - 使用默认的 Android Studio 抽屉导航切换 Fragment

php - DOMPDF - 将创建的 PDF 附加到电子邮件

python - 使用 wkhtmltopdf 将 MathJax 转换为 pdf 会产生太小的数学

同一台机器上的Java堆空间分配

Android Studio - 无法通知项目评估监听器错误