Új hozzászólás Aktív témák

  • Karma
    félisten

    public class MainActivity extends AppCompatActivity {
    EditText editText;
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editText = (EditText) findViewById(R.id.editText);
    textView = (TextView) findViewById(R.id.textView);
    textView.setVisibility(View.GONE);
    }

    public void writeMessage(View view){
    String Message = editText.getText().toString();
    String file_name = "user_data";
    try {
    FileOutputStream fileOutputStream = openFileOutput(file_name,MODE_PRIVATE);
    fileOutputStream.write(Message.getBytes());
    fileOutputStream.close();
    Toast.makeText(getApplicationContext(),"Message saved",Toast.LENGTH_LONG).show();
    editText.setText("");
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    public void readMessage(View view){
    try {
    String Message;
    FileInputStream fileInputStream = openFileInput("user_data");
    InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
    StringBuffer stringBuffer = new StringBuffer();

    while ((Message=bufferedReader.readLine())!=null)
    {
    stringBuffer.append(Message +"\n");
    }

    textView.setText(stringBuffer.toString());
    textView.setVisibility(View.VISIBLE);
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    public void showClick(View view){
    if (view.getId() == R.id.showTextButton);
    Intent sb = new Intent();
    sb.setClass(this, ReadText.class);
    startActivity(sb);
    }
    }

    Kb. itt tartok most. Azt szeretném, hogy az Activity mutassa a beírt szövegemet.
    Egyelőre ezt az "adatbázist" tudtam kiCopyzni ami működik is :)

    Kérlek legközelebb használd a Programkód formázást, vagy ilyen hosszú kódot inkább Pastebinre vagy más, hasonló szolgáltatásra másolj be. Az előbbit átformáztam, hogy mi is olvashassuk.

    Egyébként van egy pár probléma a kóddal:
    1) A showClick metódusodban az az if utáni pontosvessző nem kell oda, így most le se kéne fordulnia.
    2) A fájlokat nem zárod be abban az esetben, ha valami hiba történne... Nézz utána a try-catch-finally-nek, és a finally blokkban zárd le a streameket.
    3) Nem sok értelme van soronként felolvasni egy fájlt azért, hogy utána soronként beleformázd egy stringbe.

    Egyébként az eredeti kérdésedre egyszerű a válasz: a readMessage-et a másik Activitydbe kéne írni, nem ide :)

Új hozzászólás Aktív témák