PDF-файлы как часть Android .apk - PullRequest
       3

PDF-файлы как часть Android .apk

4 голосов
/ 22 февраля 2011

Мне нужно создать приложение для Android, которое показывает список файлов PDF.Эти pdf файлы должны быть защищены, другими словами - пользователь приложения не должен иметь возможность получить копию содержимого pdf любым способом (копировать / вырезать / распечатать ... и т. Д.).Мои вопросы сейчас:

  1. Как мне отправить содержимое файла PDF вместе с файлом .apk.
  2. Если мы отправляем содержимое файла в формате diff (raw / byte code), как мне преобразовать файл обратно в pdf и куда мне поместить файл на установленном компьютере, чтобы он был безопасным.

К вашему сведению, я буду блокировать текущую версию Adobe Redaer в качестве средства просмотра PDF для просмотра файлов PDF, так как он не позволяет копировать / вставлять / печатать.

Это первое приложение для Android, которое я разрабатываю.Итак, я своего рода новичок Android.Любая помощь будет принята с благодарностью.

Спасибо, Навин

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

Возможно, вам следует сохранить его в папке res / raw

1 голос
/ 22 февраля 2011

Вы можете скопировать этот (эти) pdf файл (ы) в папку assets, таким образом, ваши файлы будут частью вашего приложения и не могут быть доступны извне, а также вы можете рассматривать их как обычные файлы (то есть открывать с помощью любогоПросмотрщик PDF в вашем случае).Всякий раз, когда вы хотите получить доступ к файлу контекста, вы можете позвонить context.getAssets().

Надеюсь, эта информация поможет.

Обновление: Вот код, который я использую для открытияфайл в каталоге загрузок, этот код может открыть файл PDF в любом совместимом PDF-ридере, если он установлен на телефоне, протестировано с помощью Adobe Reader.Для запуска кода вам понадобится URI файла pdf в папке активов.

String fileName = pdfUrl.substring(pdfUrl.lastIndexOf("/"));

        Log.i("fileName", "" + fileName);
        File file = new File("/sdcard/download" + fileName);
        // File file = new
        // File("/sdcard/download/airtel_latest000.mp3");

        Intent intent;
        if (file.exists()) {

            Uri path = Uri.fromFile(file);

            intent = new Intent(Intent.ACTION_VIEW);

            intent.setDataAndType(path, "application/pdf");

            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

            downloaded = true;

        } else {

            intent = new Intent(Intent.ACTION_VIEW);

            intent.setData(Uri.parse(pdfUrl));

            downloaded = false;
        }
        try {
            startActivityForResult(intent, 5);

        } catch (ActivityNotFoundException e) {
            Toast.makeText(this, "No Application Available to View PDF",
                    Toast.LENGTH_SHORT).show();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...