Форум программистов, компьютерный форум CyberForum.ru

Чтение ассоциированного .txt файла с внутренней памяти по URI - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Unable to instantiate activity ComponentInfo http://www.cyberforum.ru/android-dev/thread1657503.html
Добрый день! Уже все перепробовал, серверы гугла скоро в ребут уйдут... Компилит без ошибок, но в эмуле при переходе на этот активити - выкидывает приложение. "Unable to instantiate activity ComponentInfo Caused by: java.lang.NullPointerException at android.app.Activity.findViewById" - из лога. Лог ошибки: E/AndroidRuntime: FATAL EXCEPTION: main ...
Android Не воспроизводится видео через webView Всем привет! Народ, подскажите, пытаюсь воспроизвести видео по url в webview, но оно воспроизводится не на всех устройствах, на каких-то работает, на каких-то нет. Использую такой простой код: webViewShow = (WebView)findViewById(R.id.webView); String linkShow = getIntent().getExtras().getString(PARAM_LINK_SHOW); webViewShow.getSettings().setJavaScriptEnabled(true); ... http://www.cyberforum.ru/android-dev/thread1657295.html
Android Работа таймера при закрытии приложения (фоновый режим)
Добрый день. Каким образом можно заставить работать таймер (возможно через сервисы) при закрытом приложении или же когда приложение в фоновом режиме? Т.е. мне нужно, чтобы таймер установили, закрыли или скрыли приложение и спустя это время произошло какое-то действие.
Android JSON Android
Народ можете скинуть статеек или пару примеров написать как принимать. Настроил сервер на элементарный ответ А вот теперь хочу что бы приложение вывело эти данные. Заранее спасибо.
Android Изменение громкости системы http://www.cyberforum.ru/android-dev/thread1657218.html
Здравствуйте! Уже облазил весь интернет, но не нашёл как изменить кромкость динамика через java. Знаю, это возможно, но как это реализовать? Например, надо изменить кромкость будильника или проигрывания музыки. Помогите пожалуйста!
Android Получить данные из mySLQ с удаленного сервера У меня на сайте есть база данных, подскажите как с ней работать? Можно пример? Нигде не нашел подробнее

Показать сообщение отдельно
Норанд
4 / 4 / 0
Регистрация: 10.01.2015
Сообщений: 10
Завершенные тесты: 1

Чтение ассоциированного .txt файла с внутренней памяти по URI - Android

08.02.2016, 10:57. Просмотров 215. Ответов 1
Метки (Все метки)

Добрый день. Необходимо в программе прочитать ассоциированный текстовый файл .txt из внутренней памяти по URI. Долго искал ответ на этот вопрос, но так и не нашел. Ниже предоставляю код

Манифест
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  <activity android:name=".Activity.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
 
          <intent-filter>
                <action android:name="android.intent.action.PICK" />
                <action android:name="android.intent.action.VIEW"/>
                <action android:name="android.intent.action.OPEN_DOCUMENT"/>
                <action android:name="android.intent.action.OPEN_DOCUMENT_TREE"/>
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="text/plain" />
            </intent-filter>
 </activity>
Таким образом мы вызываем приложение по нажатию пользователем по текстовому файлу.

Далее необходимо перехватить интент в самом приложении
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
  @Override
    protected void onCreate(Bundle savedInstanceState)
    {
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mTextFileView = (TextView)findViewById(R.id.textFileView);
 
        Intent intent = getIntent();
        String action = intent.getAction();
        String type = intent.getType();
 
        if (Intent.ACTION_VIEW.equals(action) && type != null) {
            if ("text/plain".equals(type)) {
                ReadFile(intent); // Handle text being sent
              //  shortMessage("ACTION_VIEW документ открыт");
            }
        }
        
    }
 
 
    private void ReadFile(Intent data){
        try {
            String path = data.getData().getPath();
            mTextFileView.setText(path);
            mTextFileView.append("\n" + data.getData());
            Uri uri = data.getData();
 
         /*
            FileReader FR = new FileReader(uri.getPath());
 
            // читаем посимвольно
            mTextFileView.append("\n");
            int c;
            while((c=FR.read())!=-1){
                mTextFileView.append(String.valueOf(c));
 
            }
          */
        } catch (FileNotFoundException e){
            e.printStackTrace();
            mTextFileView.append(" \n Не удалось найти файл по указанному пути");
        } catch (IOException e2) {
            e2.printStackTrace();
            mTextFileView.append("\n Проблемы при считывании файла");
        } 
    }
В mTextView необходимо вывести текстовое содержимое файла.
Все могло бы решаться так:
Java
1
2
Uri uri = intent.getData();
File file = new File (uri); // Здесь возникает синтаксическая ошибка.
И затем передача этого файла в FileReader, но Uri Android не эквивалентен URI java. А потому никак не могу найти решение этой проблемы.
Подскажите, пожалуйста, способы считать данные из .txt файла, расположенного на внутренней памяти. Или скиньте ссылку на источник, где об этом можно прочесть.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru