Récupérer variable textview pour création fichier
Bonjour a tous, voila je veut créer un fichier au clique d'un bouton et je voudrait que ce fichier ai pour nom le texte rentrer dans un texte view,
donc bon je récupère dans une variable mon texte entrer dans le textview
Code:
1 2 3 4 5
|
final EditText valeur;
valeur = (EditText) findViewById (R.id.NameChef);
String NameChef = valeur.getText().toString(); |
et je met cette variable dans ce code ci
Code:
mFile = new File(this.getExternalFilesDir(null),"sdcard"+NameChef+namefile);
seulement voila a la création de mon fichier la variable NameChef est null donc je me retrouve avec un fichier nommé "sdcardnull.csv"
alors voila je suis un vrais vrais novice dans la dev donc j'imagine bien que ma variable NameChef n'est remplis que après avoir été appeler pas ma variable mFile mais je ne sais pas comment faire pour quelle sois remplis avant?!?
voici mon code complet:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
| package ch.srvinfo.interfire.interfire;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.text.format.DateFormat;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
public class Inter extends AppCompatActivity {
//public void Sauvegarde(View v) {
// EditText valeur = (EditText) this.findViewById(R.id.NameChef);
// String valStr = valeur.getText().toString();
//}
private EditText NameChef = null;
private Button msave = null;
String valStr = null;
private String namefile = ".csv";
private String userName = "doudidididididid;";
private String userName2 = "Nom";
private File mFile = null;
private Button mWrite = null;
private Button mRead = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_inter);
final EditText valeur;
//NomChef = (EditText) findViewById(R.id.NameChef);
//EditText valeur = (EditText) this.findViewById(R.id.NameChef);
valeur = (EditText) findViewById (R.id.NameChef);
//valeur.setOnClickListener(this);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
DatePicker mDatePicker = (DatePicker) findViewById(R.id.datePicker);
mDatePicker.updateDate(mDatePicker.getYear(), 0, 1);
TimePicker mTimePicker = (TimePicker) findViewById(R.id.timePicker);
mTimePicker.setIs24HourView(true);
mTimePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(Inter.this, "Heure séléctioné: " + String.valueOf(hourOfDay) + ":" + String.valueOf(minute), Toast.LENGTH_SHORT).show();
}
});
mFile = new File(this.getExternalFilesDir(null),"sdcard"+NameChef+namefile);
mWrite = (Button) findViewById(R.id.Sauvegarde);
mWrite.setOnClickListener(new View.OnClickListener() {
public void onClick(View pView) {
String NameChef = valeur.getText().toString();
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))
Toast.makeText(Inter.this, NameChef, Toast.LENGTH_SHORT).show();
else
Toast.makeText(Inter.this, "pas ok : ", Toast.LENGTH_SHORT).show();
try {
// Flux interne
FileOutputStream output = openFileOutput(namefile, MODE_PRIVATE);
// On écrit dans le flux interne
output.write(NameChef.getBytes());
output.write(userName2.getBytes());
// output.write("cellule1,");
//output.write("cellule2");
output.flush();
output.close();
output=null;
//output.write(userName.getBytes());
if(output != null)
output.close();
// Si le fichier est lisible et qu'on peut écrire dedans
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
&& !Environment.MEDIA_MOUNTED_READ_ONLY.equals(Environment.getExternalStorageState())) {
// On crée un nouveau fichier. Si le fichier existe déjà, il ne sera pas créé
mFile.createNewFile();
output = new FileOutputStream(mFile);
output.write(userName.getBytes());
output.flush();
output.write(userName2.getBytes());
if(output != null)
output.close();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
} |
merci beaucoup d'avance car la je patine...