There are 2 arrays 2 text edits 2 spiners and 4 buttons, how to make it so that you can add the entered word to the array with buttons and save it there even after the application is closed? Immediately I say de lists are only 10-15 values ​​in total, but the value will be unique, so you need the ability to edit

import android.os.Build; import android.os.Bundle; import android.support.annotation.RequiresApi; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; public class Activity_setting extends AppCompatActivity { Button but_del,but_add,but_text_del,but_text_add;//добавляем кнопки EditText editText,editText2;//добавляем текстовое поле Spinner spinner_resh,spinner_text;//добавляем списки public String[] data_resh = {"жел", "сам", "недозвон", "отказ", "по", "поаб", "вм"}; public String[] data_text = {"нет дома", "замена роутера", "ыволраолывр", "отказ", "по", "поаб", "вм"}; public String[] getData_resh() { return data_resh; } public String[] getData_text() { return data_text; } String sResh ="сам"; String sText ="абонента нет дома"; @RequiresApi(api = Build.VERSION_CODES.HONEYCOMB) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_setting); getSupportActionBar().setDisplayHomeAsUpEnabled(true); but_text_add = (Button) findViewById(R.id.but_text_add); but_text_add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); but_text_del = (Button) findViewById(R.id.but_text_del); but_text_del.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); but_add = (Button) findViewById(R.id.but_add); but_add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); but_del = (Button) findViewById(R.id.but_del); but_del.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); ArrayAdapter<String> adapter_resh = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data_resh); adapter_resh.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner_resh = (Spinner) findViewById(R.id.resh_list); spinner_resh.setAdapter(adapter_resh); ArrayAdapter<String> adapter_text = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data_text); adapter_text.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner_text = (Spinner) findViewById(R.id.text_list); spinner_text.setAdapter(adapter_text); // заголовок в этой теме нет spinner_resh.setPrompt("Title"); spinner_text.setPrompt("Title_2"); // выделяем элемент который будет стоять первый spinner_resh.setSelection(3); spinner_text.setSelection(3); // устанавливаем обработчик нажатия spinner_resh.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // показываем позиция нажатого элемента(в переменную реш заносится значение выбранного элемента) sResh = spinner_resh.getSelectedItem().toString(); //Toast.makeText(getBaseContext(), "#" + resh, Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); spinner_text.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // показываем позиция нажатого элемента(в переменную реш заносится значение выбранного элемента) sText = spinner_text.getSelectedItem().toString(); //Toast.makeText(getBaseContext(), "#" + resh, Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); } 

}

  • sqlite is suitable for the task. - Maxgmer 2:51 pm
  • for this you need a server? I would like to be without a network - Alexey Fedorov
  • SQLite does not need a server - pavlofff
  • sharedPreferences? - Silento

1 answer 1

If you need to ensure long-term preservation of user data, it is better to implement their storage in a SQLite database. In this case, your code will need to implement the creation of the database and interaction with it. And on Android devices, the Android will take care that everything works out correctly, because SQLite is part of the Android OS libraries.