Je veux commencer en disant que je suis un grand débutant, je travaille seulement sur ce sujet depuis environ 4 jours et qui comprend la lecture de nombreuses pages d'un livre de référence java.Android en ignorant les lignes de code dans le programme
Le but de cette application est de prendre des informations à partir d'un fichier texte, puis faire très peu de mathématiques avec elle et ensuite retourner une valeur. Je l'ai eu pour travailler sur l'émulateur sur mon ordinateur fonctionnant sous Android 5.1.1 mais quand je l'ai exécuté sur ma note 4 en cours d'exécution 6.0.1, il saute simplement des lignes de code en mode débogage et je ne comprends pas pourquoi.
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
TextView output;
EditText food;
EditText block;
EditText ounce;
Button calculate_blocks;
Button calculate_ounces;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//finding elements
output = (TextView) findViewById(R.id.output);
food = (EditText) findViewById(R.id.food);
block = (EditText) findViewById(R.id.blocks);
ounce = (EditText) findViewById(R.id.ounces);
calculate_ounces = (Button) findViewById(R.id.calculate_ounces);
calculate_blocks = (Button) findViewById(R.id.calculate_blocks);
//setting listeners
calculate_blocks.setOnClickListener(this);
calculate_ounces.setOnClickListener(this);
}
@Override
public void onClick(View v) {
final String FILENAME = android.os.Environment.getExternalStorageDirectory().getPath() + "/Foods.txt";
BufferedReader fin = null;
FileReader fr = null;
String currentLine="zeutn", line=null ;
String strfood = food.getText().toString();
double gramsOfNutrientPerOunce=0;
double ounces=0,blocks=0;
try {
ounces = Double.parseDouble(ounce.getText().toString());
} catch(NumberFormatException nfe){
ounces=0;
}
try {
blocks = Double.parseDouble(block.getText().toString());
} catch(NumberFormatException nfe){
blocks=0;
}
//Find refrence value after food in file
try {
File file1 = new File(FILENAME);
file1.createNewFile();
fr = new FileReader(FILENAME);
fin = new BufferedReader(fr);
while ((currentLine = fin.readLine()) != null) {
if ((currentLine.toUpperCase()).equals(strfood.toUpperCase())) {
line = fin.readLine();
fr.close();
fin.close();
} else
output.setText("Add food to file");
}
} catch (IOException e) {
output.setText("Fail");
}
try{
gramsOfNutrientPerOunce=Double.parseDouble(line);
} catch(NumberFormatException nfe){
output.setText("Add food to file");
}
String out;
double tmp;
switch (v.getId()) {
case R.id.calculate_blocks:
tmp = ounces/gramsOfNutrientPerOunce;
out=Double.toString(tmp);
output.setText(out);
break;
case R.id.calculate_ounces:
tmp = blocks*gramsOfNutrientPerOunce;
out=Double.toString(tmp);
output.setText(out);
break;
}
}
}
Toute aide est appréciée désolé si je fais tout cela mal aussi si vous avez besoin de plus amples informations ou quoi que ce soit, je serai heureux de fournir it.Thank vous beaucoup à l'avance !!
de publier le journal des erreurs. Que voulez-vous dire sauter des lignes? – Kaushal28