Я создаю проект в андроид студии. Моя цель: когда я нажимаю кнопку «загрузить», я хочу, чтобы данные в строках edittextName
+ edittextPhone
вызывали ранее сохраненные данные и отображали их обратно после закрытия и повторного открытия приложения
Когда я пытаюсь запустить свой проект, я получаю сообщение об ошибке " массив найден, обязательная строка "
Я считаю, что все, что мне нужно сделать, - это изменить []
на команду get()
, но я не знаю правильный синтаксис для использования.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_favourite);
editTextName = (EditText) findViewById(R.id.nameText);
editTextPhone = (EditText) findViewById(R.id.phoneText);
file = new File(this.getFilesDir(), FILE_NAME);
}
public void save(View v) {
String data = editTextName.getText().toString() + "|" + editTextPhone.getText().toString();
try {
outputStream = new FileOutputStream(file);
outputStream.write(data.getBytes());
outputStream.close();
Toast.makeText(this, "Your Barcrawl has been saved!", Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
}
}
public void load(View v) {
int length = (int) file.length();
byte[] bytes = new byte[length];
try {
inputStream = new FileInputStream(file);
inputStream.read(bytes);
inputStream.close();
String data = new String(bytes);
editTextName.setText(data.split("\\|"[0])); // << problem
editTextPhone.setText(data.split("\\|"[1])); // << problem
Toast.makeText(getBaseContext(), "data loaded", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
Я новичок в андроид студии и застрял на нем некоторое время, пожалуйста, помогите.