powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Просмотр PDF
25 сообщений из 50, страница 2 из 2
Просмотр PDF
    #38974883
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompNo Activity found to handle Intent
Именно так делаешь?
wadman
Код: java
1.
2.
3.
     Intent intent = new Intent(this, YourPdfViewerActivity.class);
     intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, "PATH TO PDF GOES HERE");
     startActivity(intent);
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974888
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

неет, вот мой код

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    public void onClick (View v){
        Log.d("myLogs", "onClick");

        NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, null, null);

        Toast toast = Toast.makeText(this,"xxx",Toast.LENGTH_LONG);
        toast.show();

        Intent intent;
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("smb://server/testLoadFile/585_1.pdf"));
        startActivity(intent);
    }



если изменить путь к файлу на локальный (sd карточка) то все открывается
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974904
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОС не находит, что должно обработать префикс "smb", т.к. это только для своего приложения: для работы с общими папками и файлами, а не для передачи во внешние источники.
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974930
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

переписал код, вот так

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    public void onClick (View v){
        Log.d("myLogs", "onClick");

        NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, null, null);

        Toast toast = Toast.makeText(this,"xxx",Toast.LENGTH_LONG);
        toast.show();

        Intent intent = new Intent();
        intent.putExtra("PDFFileName","smb://server/testLoadFile/585_1.pdf");
        intent.setType("application/pdf");
        intent.setAction(Intent.ACTION_VIEW);
        //intent = new Intent(Intent.ACTION_VIEW, Uri.parse("smb://server/testLoadFile/585_1.pdf"));
        startActivity(intent);
    }



ошибок сейчас нет, но при запуске Adobe Reader на странице просмотра сообщение "Нет последних документов для отображения" т.е. опять по сети неудалось просмотреть.

Может не туда копаю, и в ES manager это реализовано как-то совсем по другому и сложно )))
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974934
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompно при запуске Adobe Reader
Не знает он о протоколе "smb".
nikompМожет не туда копаю, и в ES manager это реализовано как-то совсем по другому и сложно )))
Открой какой-нибудь файл им из сети таким приложением, которое может отобразить путь до файла.
Как я ранее писал, галерея умеет показывать свойства файла, в т.ч. и путь. Увидишь разницу между своим приложением и менеджером.
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974964
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

вот что удалось еще нарыть )

в файловом менеджере ES manager посмотрел настройки соединения, оказалось, что я там вводил и имя домена и имя пользователя и пароль, соответственно изменил и строку в коде

Код: java
1.
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain", "user", "password");



далее, посмотрел свойства файла в ES Manger (до этого упорно смотрел свойства на компе ))) ), путь к нему следующий
smb://10.6.1.79/testLoadFile/585_1.pdf

после этого что-то начало "срастаться", попробовал открыть файл и оказалось, что ES manager предварительно кэширует файл на sd, после этого открывает ля просмотра.

Возникает вопрос, что без копирования файла на sd не получится его смотреть?

wadmanгалерея умеет показывать свойства файла


честно говоря не нашел как посмотреть свойства файла в сети при помощи стандартной галереи
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974971
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompВозникает вопрос, что без копирования файла на sd не получится его смотреть?
Скорее всего... Галерея может тоже кеширует.

У меня в галерее есть меню и там пункт "Свойства".
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974975
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

и какой у Вас там путь? я могу посмотреть свойства только локальных файлов \mnt\sdcard...
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974991
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompи какой у Вас там путь?
У меня андроид не имеет выхода с локалку. :)
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975036
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

а может у Вас есть пример как копировать файлы на SD?
пока нашел вот это
https://jcifs.samba.org/src/examples/
https://jcifs.samba.org/src/examples/CopyToTest.java
но что-то не очень пока получается
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975055
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompно что-то не очень пока получается
Что именно не получается? Не бойся код показывать. :)
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975103
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

wadman,

обработчик клика

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public void onClick (View v){
        Log.d("myLogs", "onClick");

        String folder = "";
        String sdState = android.os.Environment.getExternalStorageState(); //Получаем состояние SD карты (подключена она или нет) - возвращается true и false соответственно
        if (sdState.equals(android.os.Environment.MEDIA_MOUNTED)){
            folder = Environment.getExternalStorageDirectory().toString();
        }

        Log.d("myLogs", folder + "/MyFiles/fileSD.pdf");

        CopyToTest cts = new CopyToTest("smb://10.6.1.79/testLoadFile/585_1.pdf", folder+"/fileSD.pdf");
        cts.start();
   }



попытка скопировать файл

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
    public class CopyToTest extends Thread {

        String url1, url2;

        CopyToTest(String url1, String url2) {
            this.url1 = url1;
            this.url2 = url2;
        }

        public void run() {
            Log.d("myLogs", "RUN");
            for (int i = 0; i < 1; i++) {
                try {

                    NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain", "user", "password");

                    SmbFile file = new SmbFile(url1, auth);
                    SmbFile to = new SmbFile(url2);
                    file.copyTo(to);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }

        public void main(String[] args) throws Exception {
            Thread.sleep(5000);
        }
    }



ничего не происходит, ошибок нет, файл "MyFiles/fileSD.pdf" предварительно создал
метод копирования позаимствовал отсюда https://jcifs.samba.org/src/examples/CopyToTest.java
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975131
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompничего не происходит, ошибок нет, файл "MyFiles/fileSD.pdf" предварительно создал
Зачем? Может потому и не происходит ничего, т.к. файл уже существует.
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975161
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

если файл не создан, тоже ничего не происходит, попробовал просто изменить имя файла, тишина
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975172
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikomp,

еще раз переписал код
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
public void onClick (View v){
        Log.d("myLogs", "onClick");

        String folder = "";
        String sdState = android.os.Environment.getExternalStorageState(); //Получаем состояние SD карты (подключена она или нет) - возвращается true и false соответственно
        if (sdState.equals(android.os.Environment.MEDIA_MOUNTED)){
            folder = Environment.getExternalStorageDirectory().toString();
        }

        Log.d("myLogs", folder + "/MyFiles/fileSD1.pdf");


        NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domainl", "user", "password");
        SmbFile file = null;
        try {
            file = new SmbFile("smb://10.6.1.79/testLoadFile/585_1.pdf", auth);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
        SmbFile to = null;
        try {
            to = new SmbFile("/mnt/sdcard/MyFiles/fileSD.pdf");
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
        try {
            file.copyTo(to);
        } catch (SmbException e) {
            e.printStackTrace();
        }
    }



ошибка в логах
06-03 12:42:34.070 8391-8391/ru.startandroid.pdfviewer E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at jcifs.smb.SmbFile.copyTo(SmbFile.java:2296)
at ru.startandroid.pdfviewer.MainActivity.onClick(MainActivity.java:101)
at android.view.View.performClick(View.java:3519)
at android.view.View$PerformClick.run(View.java:14140)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)
06-03 12:43:00.130 7555-7555/? E/WidgetUtils﹕ cityCode=cityId:294199
06-03 12:44:00.060 7555-7555/? E/WidgetUtils﹕ cityCode=cityId:294199
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975201
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не внимательно читаешь документацию... https://jcifs.samba.org/src/docs/api/

автор
Код: java
1.
2.
public class SmbFile
extends java.net.URLConnection


This class represents a resource on an SMB network . Mainly these resources are files and directories however an SmbFile may also refer to servers and workgroups. If the resource is a file or directory the methods of SmbFile follow the behavior of the well known File class.

Создаешь SmbFile, на его основе - SmbFileInputStream, из которого читаешь и пишешь в локальный файл.
Как с локальными файлами работать, надеюсь, найдешь?
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975313
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

wadman,

код

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 public void onClick (View v){
        Log.d("myLogs", "onClick");

        try {
            NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain", "user", "password");
            SmbFile file = new SmbFile("smb://10.6.1.79/testLoadFile/585_1.pdf", auth);
            SmbFileInputStream inFile = new SmbFileInputStream(file);
            byte[] buffer = new byte[(int) file.length()];
            inFile.read(buffer);

            FileWriter writer=new FileWriter(file.getName());
            BufferedWriter bufferedWriter=new BufferedWriter(writer);

        } catch (Exception e) {
            e.printStackTrace();
        }

     }



логи

06-03 13:59:46.000 9995-9995/ru.startandroid.pdfviewer E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at jcifs.smb.SmbFile.getFirstAddress(SmbFile.java:864)
at jcifs.smb.SmbFile.connect(SmbFile.java:954)
at jcifs.smb.SmbFile.connect0(SmbFile.java:880)
at jcifs.smb.SmbFile.open0(SmbFile.java:975)
at jcifs.smb.SmbFile.open(SmbFile.java:1009)
at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:73)
at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:65)
at ru.startandroid.pdfviewer.MainActivity.onClick(MainActivity.java:88)
at android.view.View.performClick(View.java:3519)
at android.view.View$PerformClick.run(View.java:14140)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ExceptionInInitializerError
at jcifs.UniAddress.<clinit>(UniAddress.java:62)
            at jcifs.smb.SmbFile.getFirstAddress(SmbFile.java:864)
            at jcifs.smb.SmbFile.connect(SmbFile.java:954)
            at jcifs.smb.SmbFile.connect0(SmbFile.java:880)
            at jcifs.smb.SmbFile.open0(SmbFile.java:975)
            at jcifs.smb.SmbFile.open(SmbFile.java:1009)
            at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:73)
            at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:65)
            at ru.startandroid.pdfviewer.MainActivity.onClick(MainActivity.java:88)
            at android.view.View.performClick(View.java:3519)
            at android.view.View$PerformClick.run(View.java:14140)
            at android.os.Handler.handleCallback(Handler.java:605)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4424)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
            at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1105)
at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
at java.net.InetAddress.getLocalHost(InetAddress.java:371)
at jcifs.netbios.NbtAddress.<clinit>(NbtAddress.java:187)
            at jcifs.UniAddress.<clinit>(UniAddress.java:62)
            at jcifs.smb.SmbFile.getFirstAddress(SmbFile.java:864)
            at jcifs.smb.SmbFile.connect(SmbFile.java:954)
            at jcifs.smb.SmbFile.connect0(SmbFile.java:880)
            at jcifs.smb.SmbFile.open0(SmbFile.java:975)
            at jcifs.smb.SmbFile.open(SmbFile.java:1009)
            at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:73)
            at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:65)
            at ru.startandroid.pdfviewer.MainActivity.onClick(MainActivity.java:88)
            at android.view.View.performClick(View.java:3519)
            at android.view.View$PerformClick.run(View.java:14140)
            at android.os.Handler.handleCallback(Handler.java:605)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4424)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
            at dalvik.system.NativeStart.main(Native Method)
06-03 13:59:46.710 549-549/? E/﹕ glEndTilingQCOM: 0x502

в строке 88 код
SmbFileInputStream inFile = new SmbFileInputStream(file);
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975318
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот тут нашел похожий код, пишут что все получилось
http://forum.vingrad.ru/forum/s/1f7139cf8ac540433d052c2399eaa387/topic-336088/anchor-entry2388548/0.html
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975371
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пишут, что ошибка может возникать из-за верхнего регистра в строке с url

подправил код
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 String url="smb://10.6.1.79/testLoadFile/585_1.pdf";
            url=url.toLowerCase();
            SmbFile file = new SmbFile(url,auth);

            Log.d("myLogs",url);
            Log.d("myLogs","smbFile: " + file.toString());

            SmbFileInputStream inFile = new SmbFileInputStream(file);
            byte[] buffer = new byte[(int) file.length()];
            inFile.read(buffer);



ошибка там же в строке SmbFileInputStream inFile = new SmbFileInputStream(file);
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975380
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NetworkOnMainThreadException
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975384
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,

chpashaNetworkOnMainThreadException


что это значит? в отдельный поток надо запихнуть?
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975404
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikomp,

естественно.
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975423
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

УРА!! получилось )))
файл скачался, теперь осталось только его вывести на просмотр ))
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975456
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просмотр в pdf получился все работает.
Еще раз, всем огромное спасибо, в особенности wadman, Вы мне очень помогли!
...
Рейтинг: 0 / 0
Просмотр PDF
    #38975483
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да практически не за что. :)

Хотя принято публиковать решение для потомков.
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / Android [игнор отключен] [закрыт для гостей] / Просмотр PDF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]