Gurfuffle
Gurfuffle

Reputation: 784

Save EditText to file with Button - Android, Java

I have an EditText in which the user inputs their name, then i want to push a button and the content of the EditText is transferred into a file.

EDITED: I have this code so far:

Button submitButton = (Button) findViewById(R.id.baddNametoFile);
        submitButton.setOnClickListener(new View.OnClickListener()

        {
            public void onClick(View v)
            {

                try{ 
                    ETName.getText().toString();

                    PrintWriter writer = new PrintWriter(new BufferedWriter(

                        new FileWriter("/sdcard/Accelerometer.html", true)));
                writer.println("<h3 style=padding-left:20px;>" + ETName
                        + "</h3><br>");
                // new arraylist
                writer.close();

                }catch (IOException e) {
                    // put notification here later!!!
                    e.printStackTrace(); }
            }

        });

I have it printing to the file what the actual android value is:

android.widget.Button{......./baddNametoFile}

But that is just a placeholder to know the print works. I would like to see what the user has typed printed there instead.

Any help would be great. Thanks

Upvotes: 1

Views: 6952

Answers (2)

Vaishali Sutariya
Vaishali Sutariya

Reputation: 5121

 try{

    File dir = new File("/mnt/sdcard/MyApp/");

    if (!dir.exists()) {
        dir.mkdir();
         System.out.println("Directory created");
      } 
    //ceate .rtf file with header
    myFile = new File("/mnt/sdcard/MyApp/Student.rtf");

    if (!myFile.exists()) {
        myFile.createNewFile();
        System.out.println("File created");
    }

    fOut = new FileOutputStream(myFile.getAbsoluteFile(),true);
    myOutWriter = new OutputStreamWriter(fOut);

    //Write the header : in your case it is : Student class Marsk (only one time)
    myOutWriter.write("Student,class,Marks"+"\n");
    myOutWriter.flush();

   }catch (Exception e) {
    // TODO: handle exception
    e.printStackTrace();
    }

Upvotes: 2

androidEnthusiast
androidEnthusiast

Reputation: 1160

ETName is probably EditText. You didnt post to much code so it should be like: ETName.getText().toString(); Change View ETName in View v (it is click on a button not on a EditText). Lets try like this:

     @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        try{   
    String etName =  ETName.getText().toString();
if(!etName.trim().equals("")){
                            File file =new File("/sdcard/Accelerometer.html");

                            //if file doesnt exists, then create it
                            if(!file.exists()){
                                file.createNewFile();
                            }


                            FileWriter fileWritter = new FileWriter(file.getName(),true);
                                BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
                                bufferWritter.write(etName);
                                bufferWritter.close();
                } 
                        }catch (IOException e) {

                            e.printStackTrace(); }


                    }

Upvotes: 2

Related Questions