Pergunta

Eu estou usando o armazenamento interno para o primeiro tempo e o meu openFileOutput está me dando um erro.Eu não tenho certeza de como fazer este trabalho, mas o método abaixo funciona perfeitamente, se o FileOutputStream é removido.Obrigado!

public void Addition(View view) {

    int num1 = numberone.getText().toString().trim().length();
    int num2 = numbertwo.getText().toString().trim().length();
    String numone = numberone.getText().toString();
    String numtwo = numbertwo.getText().toString();

    if(num1 == 0 || num2 == 0){
    TextView value = (TextView)findViewById(R.id.answer);
    value.setText("Numbers not entered");
    }
    else if(numone.equals("+") || numtwo.equals("+") || numtwo.equals("-") || numone.equals("-")){
        TextView value = (TextView)findViewById(R.id.answer);
        value.setText("Please enter numbers");
    }
    else{

answer = Float.parseFloat(numberone.getText().toString()) + Float.parseFloat(numbertwo.getText().toString());;

TextView value = (TextView)findViewById(R.id.answer);
value.setText("Your sum is " + answer);
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);

    }

}
Foi útil?

Solução

Se sua classe não se estende de um Contexto subclasse, você precisa passar uma instância de Contexto (uma Atividade, um Serviço, etc) para chamar openFileInput.Além disso, você precisa pegar java.io.FileNotFoundException ou adicionar lança declaração para seu método.

Espero que ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top