Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Unable to instantiate activity ComponentInfo http://www.cyberforum.ru/android-dev/thread1657503.html
Добрый день! Уже все перепробовал, серверы гугла скоро в ребут уйдут... Компилит без ошибок, но в эмуле при переходе на этот активити - выкидывает приложение. "Unable to instantiate activity...
Программирование Android Не воспроизводится видео через webView Всем привет! Народ, подскажите, пытаюсь воспроизвести видео по url в webview, но оно воспроизводится не на всех устройствах, на каких-то работает, на каких-то нет. Использую такой простой код:... http://www.cyberforum.ru/android-dev/thread1657295.html
Реализация ассоциации приложенияс текстовым файлом .txt Программирование Android
Добрый день. Есть у меня такая задача: необходимо реализовать ассоциацию приложения текстовым файлом .txt. Когда пользователь при просмотре файлов на Android устройстве нажимает на текстовый файл,...
Программирование Android Работа таймера при закрытии приложения (фоновый режим)
Добрый день. Каким образом можно заставить работать таймер (возможно через сервисы) при закрытом приложении или же когда приложение в фоновом режиме? Т.е. мне нужно, чтобы таймер установили,...
Программирование Android Android JSON http://www.cyberforum.ru/android-dev/thread1657241.html
Народ можете скинуть статеек или пару примеров написать как принимать. Настроил сервер на элементарный ответ А вот теперь хочу что бы приложение вывело эти данные. Заранее спасибо.
Программирование Android Изменение громкости системы Здравствуйте! Уже облазил весь интернет, но не нашёл как изменить кромкость динамика через java. Знаю, это возможно, но как это реализовать? Например, надо изменить кромкость будильника или... подробнее

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

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

08.02.2016, 10:57. Просмотров 292. Ответов 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 файла, расположенного на внутренней памяти. Или скиньте ссылку на источник, где об этом можно прочесть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru