Страница 1 из 1

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

Добавлено: 27 июл 2014, 13:28
allexan
В своем приложении создал класс, в котором планировал разместить методы для работы с файлами:

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

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

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

Добавлено: 27 июл 2014, 13:46
rezak90
У тебя не обьявлена переменная MODE_PRIVATE, openFileOutput нету такого метода

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

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

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

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

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

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

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

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

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

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