Написать текст из EditText в файл - Android - PullRequest
0 голосов
/ 16 марта 2011


Я хочу получить текст из EditText, напечатанный в файл.Поэтому, когда пользователь вводит сообщение и нажимает кнопку отправки, сообщение записывается в файл.
Вот мой код:

package com.getText.android;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.EditText;

public class getText extends Activity {

public EditText ET;
public Button button1;
public String input;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ET = (EditText) findViewById(R.id.edittext);
    ET.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI); 

    button1 = (Button)findViewById(R.id.btnClickMe);
    button1.setOnClickListener(btnListener);

}

private OnClickListener btnListener = new OnClickListener(){

    public void onClick(View v){

        input = ET.getText().toString(); 

        try{

        File file = new File(Environment.getExternalStorageDirectory(), "fileOut.txt");

        BufferedWriter writer = new BufferedWriter(new FileWriter(file,true));

        writer.write(input);
        writer.newLine();
        writer.flush();
        writer.close();
        }

        catch (IOException e) {
            e.printStackTrace();
        }

    }
};

}

Приложение работает нормально, но файл не получаетсоздан!Может кто-нибудь сказать мне, что не так?:)

Ответы [ 2 ]

0 голосов
/ 07 сентября 2014

Вы должны запросить разрешение на запись во внешнее хранилище

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

См. Здесь: http://developer.android.com/guide/topics/manifest/uses-permission-element.html

0 голосов
/ 16 марта 2011

Я не уверен, если это необходимо, но вы пытались сделать:

file.createNewFile();

перед созданием FileWriter?

В общем, вы должны попытаться записать ваши исключения:

Log.e("getText", e.getMessage());

К сожалению e.printStackTrace() не превратится в logcat.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...