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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
iandryxa5
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 170
#1

Сохранение введенных пользователем данных - Android

09.10.2014, 22:07. Просмотров 970. Ответов 5
Метки нет (Все метки)

Ребят прошу вашей помощи, возникла проблема, при записи введенных данных в текстовый файл, блок try{}catch(){}
постоянно выдает исключение в чем может быть проблема?

код Main:
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
public class MainActivity extends ActionBarActivity {
    
    Button btnSave, btnRead;
    EditText eText;
    TextView tView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        tView = (TextView)findViewById(R.id.tvRead);
        eText = (EditText)findViewById(R.id.EditText);
 
        btnSave = (Button)findViewById(R.id.btnSave);
        btnSave.setOnClickListener(new OnClickListener(){
 
            @Override
            public void onClick(View v) {
                String a = eText.getText().toString();
                
                goWrite(a);
            }
            
        });
        
        btnRead = (Button)findViewById(R.id.btnRead);
        btnRead.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View v) {
                
                goRead();
                
            }
            
        });
    }
    
    public void goWrite(String write){
        try{
            
            FileWriter file = new FileWriter("File.txt"); // путь к файлу, если его нет, то файл будет создан
            file.write(write);
            file.close();
            
            Toast t = Toast.makeText(getApplicationContext(), "Все прошло на ура!", Toast.LENGTH_SHORT);
            t.show();
        }catch(Exception e){
            Toast toast = Toast.makeText(getApplicationContext(), "Ошибка!", Toast.LENGTH_LONG);
            toast.show();
            e.printStackTrace();
        }
    }
    public void goRead(){
        try{
            File myFile = new File("File.txt"); // путь к файлу
            FileReader readFile = new FileReader(myFile);
            
            BufferedReader buf = new BufferedReader(readFile); // создаем буфер для временного хранения файлов
            
            String line = null; //строковая переменная для временного хранения строки
            
            while((line = buf.readLine()) != null){
                tView.setText(line);
            }
            buf.close();
            }catch(Exception e){
                Toast toast = Toast.makeText(getApplicationContext(), "Ошибка!", Toast.LENGTH_LONG);
                toast.show();
            }
    }
}
Буду признателен за помощь)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2014, 22:07     Сохранение введенных пользователем данных
Посмотрите здесь:

Сохранение данных в файл Android
Сохранение данных в vcf формате Android
Android Сохранение фото в базу данных
Проверить корректность введенных данных в editText (номер телефона) Android
Android Проверить корректность введенных данных в editText (логин,пароль)
Android Сохранение введенных данных при переходе на другой activity
Android Считывание введенных данных с EditText
Сохранение данных Android
Сохранение данных из переменной Android
Android Сохранение данных
Сохранение данных в приложении Android
Android Сохранение в Bundle данных

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
10.10.2014, 09:29     Сохранение введенных пользователем данных #2
Ограничение андроида, вот в чем дело
Java
1
2
3
File fileName = null;
fileName = getCacheDir();
FileWriter file = new FileWriter(fileName + "/File.txt")
iandryxa5
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 170
10.10.2014, 09:41  [ТС]     Сохранение введенных пользователем данных #3
Rube, а можно по подробнее?
андройд изучаю недавно, до этого проходил java курс.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
10.10.2014, 10:05     Сохранение введенных пользователем данных #4
Вот первое что дал поиск: http://habrahabr.ru/sandbox/38101/
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
10.10.2014, 10:30     Сохранение введенных пользователем данных #5
Rube, стоит уточнить. Недавно делал приложение, которое скачивает с сервера PDF-файл и сохраняет на устройство. Использовал стандартные интернетовские средства, вот фрагмент:
Java
1
2
3
4
5
6
7
8
FileOutputStream fileOutputStream = new FileOutputStream(pdfFile);
byte[] buffer = new byte[1024];
int bufferLength;
while ((bufferLength = stream.read(buffer)) > 0) {
      fileOutputStream.write(buffer, 0, bufferLength);
}
fileOutputStream.close();
stream.close();
Данный код пишет куда угодно, хоть на карту памяти, хоть во внутреннюю память. Проблема возникает потом у PDF-читалок, которые не могут этот файл прочитать, и приходится отдельно копировать ещё и на карту памяти.
С FileWriter я незнаком.
Подскажите, пожалуйста, проблема в этом классе или в архитектуре Андроида?

Добавлено через 8 минут
Кстати, в указанной вами статье есть упоминание про метод openFileOutput().
iandryxa5
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 170
10.10.2014, 10:38  [ТС]     Сохранение введенных пользователем данных #6
Rube, ок спасибо)
Yandex
Объявления
10.10.2014, 10:38     Сохранение введенных пользователем данных
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru