помогите новичку

Ответить
allexan
Сообщения: 23
Зарегистрирован: 03 июл 2014, 16:32

помогите новичку

Сообщение allexan » 27 июл 2014, 13:28

В своем приложении создал класс, в котором планировал разместить методы для работы с файлами:

package alex.com.example.pfile;

import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.OutputStreamWriter;

//=======================================
public class MyClass {

public void CreateFile() {

try {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
openFileOutput("set",MODE_PRIVATE)));
bw.write("123456");
bw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//============================================

Ошибка: MODE_PRIVATE cannot be resolved to a variable

Вместо этой константы ставлю 0 (что конечно некрасиво): openFileOutput("set",0)));

Новая ошибка: The method openFileOutput(String, int) is undefined for the type MyClass

Что надо сделать?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: помогите новичку

Сообщение rezak90 » 27 июл 2014, 13:46

У тебя не обьявлена переменная MODE_PRIVATE, openFileOutput нету такого метода
R.id.team
Политика на форуме запрещена

allexan
Сообщения: 23
Зарегистрирован: 03 июл 2014, 16:32

Re: помогите новичку

Сообщение allexan » 27 июл 2014, 15:23

1. MODE_PRIVATE это не переменная, а системная константа, она прописана в android:content:Context
public static final int MODE_PRIVATE = 0;
вопрос в том почему мой класс ее не видит

2. Метода openFileOutput нет в моем классе, но я так понимаю он должен быть мне доступен через import

3. Если этот код {try ... } перенести в MainActivity, все работает

Donart
Сообщения: 114
Зарегистрирован: 06 ноя 2013, 08:59

Re: помогите новичку

Сообщение Donart » 27 июл 2014, 16:13

MODE_PRIVATE это не переменная, а системная константа, она прописана в android:content:Context
public static final int MODE_PRIVATE = 0;
вопрос в том почему мой класс ее не видит
Потому что он не знает не о каком контексте, это просто Java класс. Либо наследуйте от Activity, либо получайте его getApplicationContext() или getBaseContext().

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: помогите новичку

Сообщение rezak90 » 27 июл 2014, 16:22

allexan писал(а):1. MODE_PRIVATE это не переменная, а системная константа, она прописана в android:content:Context
public static final int MODE_PRIVATE = 0;
вопрос в том почему мой класс ее не видит

2. Метода openFileOutput нет в моем классе, но я так понимаю он должен быть мне доступен через import

3. Если этот код {try ... } перенести в MainActivity, все работает
учи даже не джаву а ООП, раз не знаешь даже о модификаторах доступа
R.id.team
Политика на форуме запрещена

Ответить