В этом уроке начинаем обзор способов сохранения данных в android приложениях. Начнем с SharedPreferences.
SharedPreferences – постоянное хранилище на платформе Android, используемое приложениями для хранения своих настроек, например.
Почитайте также: SharedPreferences. Сохранение данных в постоянное хранилище Android
Исходный код примера – под видео:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <EditText android:id="@+id/etText" android:layout_width="match_parent" android:layout_height="wrap_content"> <requestFocus> </requestFocus> </EditText> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/btnSave" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Save"> </Button> <Button android:id="@+id/btnLoad" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Load"> </Button> </LinearLayout> </LinearLayout>
package info.fandroid.sharedpreferences; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ EditText etText; Button btnSave, btnLoad; SharedPreferences sPref; final String SAVED_TEXT = "saved_text"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etText = (EditText)findViewById(R.id.etText); btnSave = (Button)findViewById(R.id.btnSave); btnSave.setOnClickListener(this); btnLoad = (Button)findViewById(R.id.btnLoad); btnLoad.setOnClickListener(this); loadText(); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btnSave: saveText(); break; case R.id.btnLoad: loadText(); break; default: break; } } private void saveText() { sPref = getSharedPreferences("MyPref", MODE_PRIVATE); SharedPreferences.Editor ed = sPref.edit(); ed.putString(SAVED_TEXT, etText.getText().toString()); ed.commit(); Toast.makeText(MainActivity.this, "Text saved", Toast.LENGTH_SHORT).show(); } private void loadText() { sPref = getSharedPreferences("MyPref", MODE_PRIVATE); String savedText = sPref.getString(SAVED_TEXT, ""); etText.setText(savedText); Toast.makeText(MainActivity.this, "Text loaded", Toast.LENGTH_SHORT).show(); } @Override protected void onDestroy() { super.onDestroy(); saveText(); } }
Больше уроков:
Уроки Android Studio: тут
Инструменты android разработчика: тут
Дизайн android приложений: тут
Уроки создания игр для android: тут
Основы программирования на JAVA: тут
<<Урок 32. Создаем простое приложение – интернет браузер для андроид
Виталий, для каких целей вы снимаете новые уроки, они полностью дублируют старые, этот урок точная копия УРОКА 33 “Хранение данных. Preferences” https://www.youtube.com/watch?v=13ucu3lETlc, я понял бы еще, если бы содержимое отличалось, так нет, точная копия.
ПОЧЕМУ, на протяжение долгого времени на канале(и на сайте) не появляются новые уроки, а бездумно копируются старые, старые но с новым визуальным оформлением, здесь же ведь не кружок дизайнеров.
Это очень ПЕЧАЛЬНО, надеюсь вы одумаетесь и начнете снимать уроки, которые будет интересно просматривать.
С ув Ваш подписчик.
Спасибо за критику. Уроки обновляются для новой среды разработки. За это проголосовало много подписчиков канала в проводившемся опросе. Кроме этих уроков, на канале выходят новые серии по инструментам, дизайну, играм. Более половины публикуемых уроков – новые.