powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Просмотр PDF
50 сообщений из 50, показаны все 2 страниц
Просмотр PDF
    #38968369
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Посоветуйте библиотеку для просмотра PDF для android.
Желательно с описанием установки, а то нашел вот тут http://mupdf.blogspot.ru/, но что-то больно мудрёно )
...
Рейтинг: 0 / 0
Просмотр PDF
    #38968407
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://github.com/jblough/Android-Pdf-Viewer-Library
вот нашел, как добавить просмотр PDF в свое приложение, но не совсем понимаю, что нужно сделать, куда что копировать и какие ссылки куда добавить. Помогите пожалуйста разобраться.
...
Рейтинг: 0 / 0
Просмотр PDF
    #38968446
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote автор]This is a packaging of the project "Android PDF Viewer" ( http://andpdf.sourceforge.net/) into a reusable library to make PDF viewing easier from within your Android application.

Consistent with the Android PDF Viewer project, the licensing for the PdfViewer project is LGPL

Quickstart incorporating a PDF viewing activity into your project:

1) Add PdfViewer.jar into your project's build path

2) Copy the following drawable resources from PdfViewer/res/drawable into YourProject/res/drawable
Код: plaintext
1.
2.
3.
     left_arrow.png
     right_arrow.png
     zoom_in.png
     zoom_out.png

3) Copy the following layout resources from PdfViewer/res/layout into YourProject/res/layout
Код: plaintext
1.
     dialog_pagenumber.xml
     pdf_file_password.xml

4) Derive your PDF activity from net.sf.andpdf.pdfviewer.PdfViewerActivity

5) Using the default drawables and layouts:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
     public int getPreviousPageImageResource() { return R.drawable.left_arrow; }
     public int getNextPageImageResource() { return R.drawable.right_arrow; }
     public int getZoomInImageResource() { return R.drawable.zoom_in; }
     public int getZoomOutImageResource() { return R.drawable.zoom_out; }
     public int getPdfPasswordLayoutResource() { return R.layout.pdf_file_password; }
     public int getPdfPageNumberResource() { return R.layout.dialog_pagenumber; }
     public int getPdfPasswordEditField() { return R.id.etPassword; }
     public int getPdfPasswordOkButton() { return R.id.btOK; }
     public int getPdfPasswordExitButton() { return R.id.btExit; }
     public int getPdfPageNumberEditField() { return R.id.pagenum_edit; }


6) Invoke your PdfViewActivity derived with the following code:
Код: java
1.
2.
3.
     Intent intent = new Intent(this, YourPdfViewerActivity.class);
     intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, "PATH TO PDF GOES HERE");
     startActivity(intent);[/quote]



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

1) Add PdfViewer.jar into your project's build path

Я так понял, что нужно добавить как библиотеку. Скопировал в папку libs, Add as Library

далее из скопировал указанные файлы,
пункты 4,5 непонятны, что имелось ввиду?

Решил так же попробовать для просмотра использовать стандартное приложение и посылать ему intent с ACTION_VIEW, тут тоже возник вопрос могу я каким-то образом просматривать файлы с компа? Как сформировать правильный URI

можно ли использовать что-то типа этого:
Код: java
1.
2.
3.
4.
5.
    @Override
    public void onClick (View v){
        Intent intent;
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("//10.6.1.79/myFolder/myFile"));
    }
...
Рейтинг: 0 / 0
Просмотр PDF
    #38968611
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompтут тоже возник вопрос могу я каким-то образом просматривать файлы с компа?
Тут же встречный вопрос: зачем, когда на компе можно и так просмотреть, а на андроиде смотрят/читают оффлайн, когда не имеют доступа к сети?

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

wadmanзачем, когда на компе можно и так просмотреть, а на андроиде смотрят/читают оффлайн, когда не имеют доступа к сети?

чтобы не копировать файл на устройство.

есть БД, в которой хранятся файлы PDF, можно ли их как-то посмотреть на андроид устройстве? пока пробую реализовать в локальной сети.

представляю себе алгоритм таким образом:
1) выгружаем файл из БД в папку по запросу с устройства. Это я уже могу сделать
2) просмотр файла из папки. Тут вопрос как получить URI?
...
Рейтинг: 0 / 0
Просмотр PDF
    #38968930
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompТут вопрос как получить URI?
Это путь к файлу и его имя.
...
Рейтинг: 0 / 0
Просмотр PDF
    #38968992
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

если файл на компе в сети какой будет адрес, поделитесь пожалуйста примерчиком )
...
Рейтинг: 0 / 0
Просмотр PDF
    #38969004
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет такого у меня примерчика...

https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=android local network browser
Как вариант: прочитать первые несколько ссылок, расшарить папку с рисунками, открыть любой из них встроенной галереей и посмотреть в свойствах путь. Это и будет URI.
...
Рейтинг: 0 / 0
Просмотр PDF
    #38969195
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

выполнил настройки по инструкции
http://aboutandroid.ru/android-advise/instructions/подключение-android-к-локальной-сети-windows/

удалось просмотреть рисунок с компа. вот только не понял какую галерею вы имели ввиду?
Я правильно понимаю, что сетевой путь к файлу это и будет URI, т.е., например \\Server\myFolder\myFile.jpg, его мы и используем в методе Uri.parse?
...
Рейтинг: 0 / 0
Просмотр PDF
    #38969207
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikomp,

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

не получается открыть файл

Код: java
1.
2.
3.
4.
5.
6.
    @Override
    public void onClick (View v){
        Intent intent;
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("\\Server\testLoadFile\498_1.pdf"));
        startActivity(intent);
    }



файл лежит на компе в указанной расшаренной папке, комп с андроид устройства пингуется. с устройства сторонним файловым менеджером открывается.
...
Рейтинг: 0 / 0
Просмотр PDF
    #38970963
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может в манифесте какие-то разрешения добавить?
...
Рейтинг: 0 / 0
Просмотр PDF
    #38970999
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел вот тут http://developer.android.com/reference/android/net/Uri.html команду fromFile, вот тут нашел пример
http://stackoverflow.com/questions/3004713/get-content-uri-from-file-path-in-android

пробую использовать вот так
Код: java
1.
2.
3.
4.
5.
6.
    @Override
    public void onClick (View v){
        Intent intent;
        intent = new Intent(Intent.ACTION_VIEW, Uri.fromFile(new File("//Server/testLoadFile/498_1.pdf")));
        startActivity(intent);
    }



не получается, в логах вот такие ошибки

05-28 16:13:28.228 7446-7448/? E/dalvikvm﹕ GC_CONCURRENT freed 1767K, 21% free 10044K/12579K, paused 2ms+2ms
05-28 16:13:42.378 7506-7506/? E/fm_if.c﹕ find the id:libbcmfm_if and begins to open the devices
05-28 16:13:42.378 7506-7506/? E/android_hardware_fm.cpp﹕ register_android_hardware_fm_fmradio, ret is 0
05-28 16:13:42.378 7506-7506/? E/fm_if.c﹕ find the id:libbcmfm_if and begins to open the devices
05-28 16:13:42.378 7506-7506/? E/android_hardware_fm.cpp﹕ register_android_hardware_fm_fmradio, ret is 0
05-28 16:13:42.448 7506-7510/? E/dalvikvm﹕ GC_CONCURRENT freed 100K, 83% free 458K/2560K, paused 0ms+2ms
05-28 16:13:43.068 7518-7518/? E/fm_if.c﹕ find the id:libbcmfm_if and begins to open the devices
05-28 16:13:43.078 7518-7518/? E/android_hardware_fm.cpp﹕ register_android_hardware_fm_fmradio, ret is 0
05-28 16:13:43.078 7518-7518/? E/fm_if.c﹕ find the id:libbcmfm_if and begins to open the devices
05-28 16:13:43.078 7518-7518/? E/android_hardware_fm.cpp﹕ register_android_hardware_fm_fmradio, ret is 0
05-28 16:13:43.128 7518-7522/? E/dalvikvm﹕ GC_CONCURRENT freed 103K, 81% free 493K/2560K, paused 1ms+1ms
05-28 16:13:54.448 4036-4036/? E/WidgetUtils﹕ cityCode=cityId:294199
05-28 16:14:00.078 4036-4036/? E/WidgetUtils﹕ cityCode=cityId:294199
05-28 16:14:20.138 124-215/? E/msm7627a.hwcomposer﹕ hwc_set invalid list or module
05-28 16:14:34.008 7446-7448/? E/dalvikvm﹕ GC_CONCURRENT freed 1773K, 21% free 10043K/12579K, paused 5ms+2ms
05-28 16:14:55.708 4036-4037/? E/dalvikvm﹕ GC_CONCURRENT freed 1789K, 22% free 9313K/11875K, paused 6ms+2ms
05-28 16:15:40.298 7446-7448/? E/dalvikvm﹕ GC_CONCURRENT freed 1767K, 21% free 10043K/12579K, paused 5ms+2ms
05-28 16:16:46.778 7446-7448/? E/dalvikvm﹕ GC_CONCURRENT freed 1776K, 21% free 10042K/12579K, paused 5ms+3ms
05-28 16:16:49.038 3754-3755/? E/dalvikvm﹕ GC_CONCURRENT freed 2024K, 21% free 11321K/14307K, paused 3ms+6ms
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974412
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос еще актуален, прошу помощи

делаю так
Код: java
1.
2.
3.
        Intent intent;
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("file://server/testLoadFile/585_1.pdf"));
        startActivity(intent);



не получается. При этом комп по IP адресу с телефона пингуется. Сторонним файловым менеджером ES manager файл открывается.

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

Огромное спасибо, что отвечаете ) помогаете разобраться

в логах (выложил выше) шляпа какая-то сам не могу понять, причем лог обновляется даже если свернуть приложение, я так понял логи относятся не к моему приложению.

в самом приложении при запуске выскакивает ошибка "Недопустимый путь к документу"

по поводу
wadmanВспомнил...

http://www.sql.ru/forum/1100595/kak-skachat-fayl-iz-rassharennoy-papki-v-lokalnoy-seti?mid=16174660&hl=jcifs#16174660


не совсем понял библиотеку The Java CIFS Client Library надо устанавливать или достаточно установить анонимную аутентификацию

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

попробую о результатах сообщу!
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974846
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скачал и импортировал в проект библиотеку jcifs-1.3.18.jar, добавил строку

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

приложение компилируется, при запуске в приложении ошибка "Недопустимый путь к документу"

в логах вот что
06-03 08:40:03.179 299-312/? E/WifiService﹕ wifiservice ACTION_SCREEN_ON -> ctrlSocket sretVal :-1
06-03 08:40:06.679 13152-13153/? E/dalvikvm﹕ GC_CONCURRENT freed 1771K, 22% free 9356K/11875K, paused 3ms+6ms
06-03 08:40:06.699 13152-13152/? E/WidgetUtils﹕ cityCode=cityId:294199
06-03 08:40:07.059 13152-13152/? E/WidgetUtils﹕ cityCode=cityId:294199
06-03 08:40:46.939 13152-13152/? E/WeatherManager﹕ handlerError WeatherLocation=mCityCodecityId:294199 mSlat=400.0 mSlon=400.0 errorStatus=4
06-03 08:40:47.109 13152-13152/? E/WeatherManager﹕ checkHandleNextTask no task
06-03 08:40:47.109 13152-13152/? E/WeatherService﹕ startCheckSerivceTask context=com.huawei.android.totemweather.WeatherApp@415f2910
06-03 08:41:09.579 11087-11087/? E/NetworkScheduler.SchedulerReceiver﹕ Invalid parameter app
06-03 08:41:09.579 11087-11087/? E/NetworkScheduler.SchedulerReceiver﹕ Invalid package name : Perhaps you didn't include a PendingIntent in the extras?
06-03 08:41:09.649 14198-14198/? E/dalvikvm﹕ GC_FOR_ALLOC freed 964K, 15% free 10351K/12067K, paused 4ms+3ms
06-03 08:41:11.649 12741-14236/? E/dalvikvm﹕ GC_EXPLICIT freed 484K, 16% free 11136K/13219K, paused 10ms+5ms
06-03 08:41:19.249 14198-14198/? E/dalvikvm﹕ GC_FOR_ALLOC freed 2K, 14% free 11162K/12899K, paused 6ms+2ms
06-03 08:41:25.379 14242-14242/? E/fm_if.c﹕ find the id:libbcmfm_if and begins to open the devices
06-03 08:41:25.389 14242-14242/? E/android_hardware_fm.cpp﹕ register_android_hardware_fm_fmradio, ret is 0
06-03 08:41:25.389 14242-14242/? E/fm_if.c﹕ find the id:libbcmfm_if and begins to open the devices
06-03 08:41:25.389 14242-14242/? E/android_hardware_fm.cpp﹕ register_android_hardware_fm_fmradio, ret is 0
06-03 08:41:29.349 614-614/? E/dalvikvm﹕ GC_EXPLICIT freed 748K, 23% free 9873K/12707K, paused 7ms+4ms
06-03 08:41:29.519 12989-12989/? E/dalvikvm﹕ GC_EXPLICIT freed 746K, 29% free 15103K/21091K, paused 3ms+19ms
06-03 08:41:29.719 299-312/? E/dalvikvm﹕ GC_EXPLICIT freed 6328K, 37% free 19195K/30371K, paused 6ms+29ms
06-03 08:41:29.989 14011-14011/? E/dalvikvm﹕ GC_EXPLICIT freed 2483K, 19% free 13832K/17059K, paused 4ms+57ms
06-03 08:41:29.999 11127-11142/? E/ExternalAccountType﹕ Unsupported attribute readOnly
06-03 08:41:30.609 11127-11142/? E/ExternalAccountType﹕ Unsupported attribute readOnly
06-03 08:41:30.739 299-316/? E/dalvikvm﹕ GC_EXPLICIT freed 682K, 39% free 18617K/30371K, paused 18ms+36ms
06-03 08:41:32.159 14242-14246/? E/dalvikvm﹕ GC_CONCURRENT freed 102K, 82% free 461K/2560K, paused 1ms+2ms
06-03 08:41:33.309 12777-12777/? E/RemoteReceiver﹕ received: android.intent.action.PACKAGE_REMOVED
06-03 08:41:33.499 125-125/? E/dalvikvm﹕ GC_EXPLICIT freed 38K, 16% free 9098K/10719K, paused 2ms+12ms
06-03 08:41:33.629 125-125/? E/dalvikvm﹕ GC_EXPLICIT freed <1K, 16% free 9098K/10719K, paused 7ms+26ms
06-03 08:41:33.719 125-125/? E/dalvikvm﹕ GC_EXPLICIT freed <1K, 16% free 9098K/10719K, paused 3ms+7ms
06-03 08:41:35.719 14300-14300/? E/dalvikvm﹕ Could not find class 'android.app.Notification$Action$Builder', referenced from method b.a
06-03 08:41:35.809 14286-14286/? E/fm_if.c﹕ find the id:libbcmfm_if and begins to open the devices
06-03 08:41:35.809 14286-14286/? E/android_hardware_fm.cpp﹕ register_android_hardware_fm_fmradio, ret is 0
06-03 08:41:35.809 14286-14286/? E/fm_if.c﹕ find the id:libbcmfm_if and begins to open the devices
06-03 08:41:35.809 14286-14286/? E/android_hardware_fm.cpp﹕ register_android_hardware_fm_fmradio, ret is 0
06-03 08:41:35.859 14300-14300/? E/dalvikvm﹕ Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method b.a
06-03 08:41:36.279 14286-14315/? E/dalvikvm﹕ GC_CONCURRENT freed 99K, 81% free 488K/2560K, paused 1ms+1ms
06-03 08:41:36.429 14300-14300/? E/dalvikvm﹕ Could not find class 'android.app.Notification$Action$Builder', referenced from method b.a
06-03 08:41:36.509 14300-14300/? E/dalvikvm﹕ Could not find class 'android.transition.Transition', referenced from method b.a
06-03 08:41:36.509 14300-14300/? E/dalvikvm﹕ Could not find class 'android.transition.Transition', referenced from method b.a
06-03 08:41:36.509 14300-14300/? E/dalvikvm﹕ Could not find class 'android.transition.Transition', referenced from method b.a
06-03 08:41:36.639 14300-14300/? E/dalvikvm﹕ Could not find class 'android.app.RemoteInput[]', referenced from method b.a
06-03 08:41:36.679 14300-14300/? E/dalvikvm﹕ Could not find class 'android.transition.Transition', referenced from method b.b
06-03 08:41:37.269 14300-14302/? E/dalvikvm﹕ GC_CONCURRENT freed 852K, 14% free 10010K/11619K, paused 2ms+2ms
06-03 08:41:40.029 299-1859/? E/dalvikvm﹕ GC_EXPLICIT freed 1498K, 39% free 18594K/30371K, paused 12ms+27ms
06-03 08:41:40.359 11087-11087/? E/NetworkScheduler.SchedulerReceiver﹕ Invalid parameter app
06-03 08:41:40.359 11087-11087/? E/NetworkScheduler.SchedulerReceiver﹕ Invalid package name : Perhaps you didn't include a PendingIntent in the extras?
06-03 08:41:42.059 14300-14300/? E/dalvikvm﹕ GC_FOR_ALLOC freed 860K, 14% free 10281K/11875K, paused 7ms+13ms
06-03 08:41:42.059 12777-12777/? E/RemoteReceiver﹕ received: android.intent.action.PACKAGE_ADDED
06-03 08:41:42.629 14300-14300/? E/dalvikvm﹕ GC_FOR_ALLOC freed 818K, 20% free 10279K/12707K, paused 2ms+87ms
06-03 08:41:43.279 14377-14377/? E/dalvikvm﹕ Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zza
06-03 08:41:43.809 14377-14379/? E/dalvikvm﹕ GC_CONCURRENT freed 892K, 14% free 9993K/11619K, paused 2ms+4ms
06-03 08:41:44.419 14300-14300/? E/dalvikvm﹕ GC_FOR_ALLOC freed 11K, 13% free 11097K/12707K, paused 2ms+2ms
06-03 08:41:44.739 14300-14300/? E/dalvikvm﹕ GC_FOR_ALLOC freed 137K, 13% free 11907K/13539K, paused 3ms+2ms
06-03 08:41:45.589 14300-14300/? E/dalvikvm﹕ GC_FOR_ALLOC freed 3255K, 33% free 10280K/15203K, paused 2ms+2ms
06-03 08:41:47.799 11087-11087/? E/NetworkScheduler.SchedulerReceiver﹕ Invalid parameter app
06-03 08:41:47.799 11087-11087/? E/NetworkScheduler.SchedulerReceiver﹕ Invalid package name : Perhaps you didn't include a PendingIntent in the extras?
06-03 08:41:48.949 14444-14444/? E/dalvikvm﹕ GC_FOR_ALLOC freed 610K, 13% free 9525K/10851K, paused 2ms+3ms
06-03 08:41:49.059 14444-14448/? E/dalvikvm﹕ GC_CONCURRENT freed 1K, 10% free 13524K/14883K, paused 3ms+1ms
06-03 08:41:49.209 14444-14444/? E/dalvikvm﹕ GC_FOR_ALLOC freed 1K, 10% free 13524K/14883K, paused 2ms+2ms
06-03 08:41:49.299 14444-14448/? E/dalvikvm﹕ GC_CONCURRENT freed <1K, 6% free 22523K/23907K, paused 1ms+3ms
06-03 08:41:50.679 14377-14379/? E/dalvikvm﹕ GC_CONCURRENT freed 1396K, 18% free 10361K/12515K, paused 3ms+4ms
06-03 08:41:50.949 11087-11087/? E/AuthorizationBluetoothService﹕ Proximity feature is not enabled.
06-03 08:41:52.379 14444-14444/? E/dalvikvm﹕ GC_EXPLICIT freed 4238K, 22% free 18842K/23907K, paused 3ms+4ms
06-03 08:41:57.409 14444-14444/? E/dalvikvm﹕ GC_EXPLICIT freed 817K, 21% free 19110K/23907K, paused 3ms+5ms
06-03 08:42:00.109 13152-13152/? E/WidgetUtils﹕ cityCode=cityId:294199
06-03 08:42:00.959 13152-13152/? E/WidgetUtils﹕ cityCode=cityId:294199
06-03 08:42:04.829 11087-11210/? E/dalvikvm﹕ GC_EXPLICIT freed 1254K, 16% free 11033K/13027K, paused 3ms+10ms
06-03 08:42:05.559 13152-13152/? E/WidgetUtils﹕ cityCode=cityId:294199
06-03 08:42:28.449 299-2226/? E/dalvikvm﹕ GC_EXPLICIT freed 2693K, 39% free 18613K/30371K, paused 5ms+13ms
06-03 08:42:28.619 14377-14379/? E/dalvikvm﹕ GC_CONCURRENT freed 1672K, 19% free 10468K/12899K, paused 2ms+3ms
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974858
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так не пойдет. В логах нет ошибок (либо это не то место, где они есть), а еще придется и код показывать.
nikompпричем лог обновляется даже если свернуть приложение
Это нормально, на смарте еще куча приложений крутится и все они кидаются отладочной информацией.
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974859
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974866
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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");

        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("file://server/testLoadFile/585_1.pdf"));
        startActivity(intent);

        
    }
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974868
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompпример видел, из ссылок выше
Плохо видел...
Код: java
1.
2.
// sSambaFolder contains a path like MYPC/E/SharedFolderName/
String url = "smb://" + sSambaFolder.toLowerCase()+fileName;
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974873
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле, я к тому, что проще скопировать файл на устройство. Может просмотрщик в принципе не поддерживает сетевые файлы.
...
Рейтинг: 0 / 0
Просмотр PDF
    #38974879
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

пробовал и так, в логах ошибка

06-03 09:15:52.469 18561-18561/? A/libc﹕ Fatal signal 4 (SIGILL) at 0x40882448 (code=1)
06-03 09:15:55.419 18605-18605/ru.startandroid.pdfviewer E/AndroidRuntime﹕ FATAL EXCEPTION: main
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=smb://server/testLoadFile/585_1.pdf }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1512)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384)
at android.app.Activity.startActivityForResult(Activity.java:3190)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:820)
at android.app.Activity.startActivity(Activity.java:3297)
at ru.startandroid.pdfviewer.MainActivity.onClick(MainActivity.java:74)
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)

в строке MainActivity.java:74

код
Код: java
1.
startActivity(intent);



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


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