Lesson 33. SharedPreferences - data storage applications | Lessons Android Studio

  Рет қаралды 61,371

Start Android

Start Android

8 жыл бұрын

In this tutorial, we start a review of how data storage in android applications. Let's start with SharedPreferences. SharedPreferences - permanent storage on the platform of Android, used by applications to store their settings, for example.
All playlist: • Уроки по основам разра...
Link to additional material and the source code of the project: www.fandroid.info/urok-33-shar...
Version lesson for Eclipse: • Start Аndroid: Урок 33...
More lessons:
Lessons Android Studio: • Уроки по основам разра...
Tools android developer: • Инструменты Android ра...
Design android applications: • Дизайн android приложений
Lessons creating games for android: • Делаем android игры
Basics of programming in JAVA: • Вводный курс по языку ...
Group mutual Vkontakte for beginners ANDROID developers and programmers: www.fandroid.info/gruppa-vzaim...
Download video tutorials: www.fandroid.info/skachat-vide...
Support our project: www.fandroid.info/spasibo-za-v...
Subscribe to Advanced Video on the real-android-apps: www.fandroid.info/zapisyvajsya...

Пікірлер: 64
@arslanalisuleymanov8589
@arslanalisuleymanov8589 8 жыл бұрын
Здравствуйте Виталий. Вы не могли показать видео урок как работать с JSON (получать данные с сервера с помощью GET запроса) и красиво их (данные полученные GET запросом) отобразить в ListView?. Думаю тема актуальная и будет полезна.
@6opoqa1
@6opoqa1 8 жыл бұрын
Замечательные уроки. Я в восторге)
@user-jc4ec9gy7r
@user-jc4ec9gy7r 3 жыл бұрын
Спасибо огромное, очень познавательно ✊
@Borig92
@Borig92 8 жыл бұрын
Просмотрел ваши два курса по Java и Android запоем за два дня) Как сериал) Осталось переварить все что узнал и тренироваться. Спасибо за качественный материал!!
@invisible312
@invisible312 8 жыл бұрын
Это нужно делать после каждого урока, а то быстро выветривается:(
@EvgenOrlovsky
@EvgenOrlovsky 7 жыл бұрын
я обычно по 5-10 в день прохожу, с утра смотрю, весь день вспоминая разбираюсь, вечером повторяю в студии... плюс еще пока еду в ОТ читаю книгу Майера - хоть она и 2013 года, много описано что здесь пропущено, плюс там информация организована неплохо...
@n.e.k6250
@n.e.k6250 3 жыл бұрын
​@@EvgenOrlovsky как успехи? я вот тут тоже около полугода учу андройд и как только дело доходит до практики то у меня практически ничего не получается. Может дашь какой-нибудь совет, если смог достичь успехов в этой сфере
@EvgenOrlovsky
@EvgenOrlovsky 3 жыл бұрын
@@n.e.k6250 курс позволил стартануть неплохо в разработке и далее уйти в подобного плана разработку. главное практика - после каждого урока надо практиковать что в уроке и в предыдущих темах.
@n.e.k6250
@n.e.k6250 3 жыл бұрын
@@EvgenOrlovsky а что за курсы? И работаешь ли сейчас в этой сфере?
@EvgenOrlovsky
@EvgenOrlovsky 7 жыл бұрын
при просмотре заметил один момент - getPreferences() обращается к файлу с именем как у активности, решил проверить: одновременно писал в оба варианта - в вышеуказанный и getSharedPreferences, и на другой активности вывел на просмотр, и действительно вывелось только то где был именованный файл настроек. спасибо за подробное изложение))
@mykhailomorhal2181
@mykhailomorhal2181 6 жыл бұрын
Спасибо)
@romantretyakov6243
@romantretyakov6243 8 жыл бұрын
Спасибо за урок, как всегда полезно. Планируете ли вы затронуть тему создания приложений со встроенными покупками?
@user-hn8ou6sp6q
@user-hn8ou6sp6q 8 жыл бұрын
Про PreferencesManager.getDefaultSharedPreferences тоже стоило бы упомянуть) Файл с настройками создается глобально, для всего приложения. Можно не маяться с названием и модом
@j82cerberS
@j82cerberS 8 жыл бұрын
как лучше сохранить данные пользователя (логин и пароль)? и ещё вопрос: как заблокировать кнопку Домой?
@user-wt1im5el2j
@user-wt1im5el2j 5 жыл бұрын
а как сохранить массив с помощью sharPfer, чтобы можно было обращаться по индексу?
@akrendegenadam7091
@akrendegenadam7091 8 жыл бұрын
Часто возникают проблемы с рендерингом view элементов активити. С чем это связано? Как устранить эту проблему?
@user-sv8sg3hg4u
@user-sv8sg3hg4u 2 жыл бұрын
А как проверить текст при помощи if на то совпадает ли он?
@dxrzs
@dxrzs 3 ай бұрын
а как оперировать этими данными между классами (активностями)?
@hasanovnavruz8464
@hasanovnavruz8464 3 жыл бұрын
Здравствуйте! Как мне узнать сколько раз запускалось мое приложение?
@nodserj
@nodserj 8 жыл бұрын
метод commit() устарел. Его не рекомендуют использовать! На замену к нему пришел apply()
@EvgenOrlovsky
@EvgenOrlovsky 7 жыл бұрын
ну что он устарел пока не видно - не добавлен он в depricated...
@inesik7407
@inesik7407 7 жыл бұрын
Спасибо за уроки. Появилось несколько вопросов. Какой самый безопасный способ хранения данных, например логина и пароля? Файлы SQLite шифруются? Доступ private в preferences означает то, что другие приложения не смогут получить доступ к хранимым значениям, или совсем этого не гарантируют?
@steam3d
@steam3d 7 жыл бұрын
Что мешает создать собственное шифрование (или воспользоваться готовыми решениями) и хранить где угодно полученную комбинацию символов.
@BratherFox
@BratherFox 7 жыл бұрын
public static final String DATABASE_NAME = "contactDb"; (class DBHelper) а почему если написать "contactDB" - то из-за того что последняя буква заглавная в базу ничего не сохраняется? я пол дня убил чтоб эту ашипку найти....
@user-kl3mt7rl2n
@user-kl3mt7rl2n 4 жыл бұрын
Good
@user-nd3vv5fn5e
@user-nd3vv5fn5e 4 жыл бұрын
А можно вот так? SharedPreferences SP; Editor ed = SP.edit(); ed.putString(SAVED_TEXT, etText.getText().toString()); ed.apply();
@alexnick183
@alexnick183 8 жыл бұрын
При повороте экрана активити дестроится и пересоздаётся заново. А что происходит с текстом в эдиттексте в этом случае, почему он не пропадает?
@alexnick183
@alexnick183 8 жыл бұрын
+Никита Обрехт Я только о том, что очень скомканно материал дан, без подробностей. Если брать эдиттекст сам по себе, у него текст где-то сам по-себе сохраняется, сам Андроид его сохраняет, при повороте экрана он не пропадёт, без написания кода и без нашего онДестрой. Второй момент, вызов онДестрой не гарантирован, т.к. система может сама прибить нашу активити и все не сохранённые данные пропадут.
@romandemidovich5542
@romandemidovich5542 8 жыл бұрын
Возник такой банальный вопрос. Как убрать панель сверху?(На которой название приложения и возможно меню).
@Misha-Deutschland
@Misha-Deutschland 7 жыл бұрын
getSupportActionBar().hide(); в методе onCreate
@skan1x
@skan1x 8 жыл бұрын
А как безопаснее хранить данные, каким их 3-х методов? :) Ятак понимаю их полюбому можно выковырять из файловой системы? Спасибо.
@alexnick183
@alexnick183 8 жыл бұрын
+skan1x Да, это в любом случае файл и его можно выковырять, реально спасёт только шифрование. Но самое безопасное - не хранить критические данные вообще.
@andriidiachuk9280
@andriidiachuk9280 8 жыл бұрын
Добрый день! Сохранение не работает если приложение закрыть следующим способом: зайти в список открытых приложений, и закрыть его там.
@steam3d
@steam3d 7 жыл бұрын
Посмотри какой метод вызывается при таком закрытии приложения и в этот метод добавь сохранение.
@RedNone6
@RedNone6 7 жыл бұрын
Добрый день. Возник один вопрос. Каким образом я могу получить данные, сохранённые в SharedPreference, из другого активити?
@qweqwe1
@qweqwe1 6 жыл бұрын
Надеюсь ты с этим разобрался чувак
@user-if7ex6ed4p
@user-if7ex6ed4p 3 жыл бұрын
@@qweqwe1 так как?
@qweqwe1
@qweqwe1 3 жыл бұрын
@@user-if7ex6ed4p ты не поверишь, создать экземпляр шаредов в другом активити, и достать
@PS18041994
@PS18041994 8 жыл бұрын
Сделайте пожалуйста сюжет про Dagger 2 или же RxJava, я думаю всем будет полезно!
@RishMustafaev
@RishMustafaev 8 жыл бұрын
+Drake1804 такие библиотеки уже для более-менее опытных разработчиков. Да и материала на том же хабре по ним навалом
@PS18041994
@PS18041994 8 жыл бұрын
+Ришад Мустафаев не больше чем по SharedPreferences ;)
@user-tn1xc6op6j
@user-tn1xc6op6j 8 жыл бұрын
Благодаря вашим урокам написал свое первое приложение play.google.com/store/apps/details?id=mrspock.maxworldintext
@uservhhrXdgko1234
@uservhhrXdgko1234 3 жыл бұрын
ну и где приложение то? стал программистом или бездарно 5 лет прошли?))
@2Quard
@2Quard 8 жыл бұрын
Для того чтобы вставить используем дополнительный объект edit, чтобы загрузить никакого edit`a ненужно... какая то деревянная логика с этими сохранениями... =( ладно, в качестве д.з научусь удалять данные, интересно, edit понадобиться или нет?
@CraftArtTv
@CraftArtTv 5 жыл бұрын
Работаю в Android Studio 3.2.1. Делал все, как в уроке, но при нажатии на кнопку приложение вылетало. Добавил EditText et = findViewById(R.id.et); внутрь методов save/loadText и все заработало. Аналогичные ситуации были и в некоторых прошлых уроках. private void saveText() { EditText et = findViewById(R.id.et); sPref = getPreferences(MODE_PRIVATE); SharedPreferences.Editor ed = sPref.edit(); ed.putString(SAVED_TEXT, et.getText().toString()); ed.apply(); Toast.makeText(MainActivity.this, "Text saved", Toast.LENGTH_SHORT).show(); } private void loadText() { EditText et = findViewById(R.id.et); sPref = getPreferences(MODE_PRIVATE); String savedText = sPref.getString(SAVED_TEXT, ""); et.setText(savedText); Toast.makeText(MainActivity.this, "Text loaded", Toast.LENGTH_SHORT).show();
@GOLOBON
@GOLOBON 7 ай бұрын
@@DocMokНадо переменную объявлять для всего класса, а не в методе. В методе ее нужно инициализировать. Иначе она не будет видна в других методах.
@dmitrysuhanov8987
@dmitrysuhanov8987 8 жыл бұрын
Когда новые видое про создание игр другое, давно ничего не было ?....
@igorpoghirca7727
@igorpoghirca7727 6 жыл бұрын
sPref уже не актуален (( Надо искать чтото по свежее ))
@sultanyerumbayev1408
@sultanyerumbayev1408 5 жыл бұрын
Какая альтернатива есть?
@iRYO400
@iRYO400 8 жыл бұрын
Как сохранить несколько данных? К примеру Имя отдельно, и Фамилию тоже отдельно?
@iRYO400
@iRYO400 8 жыл бұрын
+TheDrRYO Выскакивают ошибки в момент когда записываю фамилию в putString: ... on a null object reference
@romanvariichuk6795
@romanvariichuk6795 8 жыл бұрын
+TheDrRYO в putString под разными ключами ! putString("name", "some name"); putString("surname", "some surname");
@iRYO400
@iRYO400 8 жыл бұрын
Да вот что-то не пошло у меня с SharedPref. возможно где-то в другом месте пропустил какой косяк. В итоге нашел стороннюю библиотеку TinyDB. Суперская вещь, для моего мелкого приложения самое то, просто и ясно
@wimax2616
@wimax2616 8 жыл бұрын
как сделать так, что бы можно было писать эдитекст на русском
@wimax2616
@wimax2616 8 жыл бұрын
?
@zogg289
@zogg289 7 жыл бұрын
Что делать если он тупо не знает о такой библиотеке для импорта?
@start_android
@start_android 7 жыл бұрын
+БогДаня ZOGG добавьте ее в Gradle
@ekremtunc819
@ekremtunc819 5 жыл бұрын
I wish i knew Ruskii x(
@CreatorDreamer
@CreatorDreamer 2 жыл бұрын
Прошу конечно прощения, но когда Вы в школе учились у Вас учитель так же молча писал, а потом в конце урока говорил - вот как-то так? Я думаю те, кто пришел смотреть Ваши видео хотели бы не только увидеть код, но и понять за что отвечает каждая строка, для чего Вы пишите ту или иную строку. Как в школе - если просто все переписать - в голове будет ноль. Возможно вы дали ценную информацию, но я честно сказать ушел на другой канал, только по тому-что я пришел учиться, а не списывать.
@_Smai1e_
@_Smai1e_ Жыл бұрын
Видос вышел в 2015 году, а ты автору за него спустя 7 лет претензии пытаешься предъявить. Ты совсем конченный? Он тебя конечно же услышит, исправится и будет впредь каждую буковку разжевывать и тебе в клювик класть, раз ты сам воспринимать информацию не можешь Ну что, чему ты за эти 7 месяцев научился? Кнопочку синхронизации проекта сам найти смог или тоже подробный гайд нужен?
@SuperSkibidiShrek
@SuperSkibidiShrek Жыл бұрын
Если вы в школе не учили английский, вы и не поймёте, что тут написано. Тут всё кристально чисто, у каждого метода всё написано в названии, а если что-то не поняли, лезьте в документацию
@CreatorDreamer
@CreatorDreamer Жыл бұрын
@@SuperSkibidiShrek я к тому, что если человек хочет набрать подписчиков, то ему нужно прилагать больше усилий. А найти сам код можно и без Ютуба. Вот понять его смысл для этого и ищут уроки
@user-tv4kh4pc7s
@user-tv4kh4pc7s 4 жыл бұрын
Иван Семенович угощает голубцами с гавном
Lesson 34. Working with SQLite databases on the Android
16:32
Start Android
Рет қаралды 146 М.
THEY WANTED TO TAKE ALL HIS GOODIES 🍫🥤🍟😂
00:17
OKUNJATA
Рет қаралды 15 МЛН
1❤️
00:17
Nonomen ノノメン
Рет қаралды 12 МЛН
Did you believe it was real? #tiktok
00:25
Анастасия Тарасова
Рет қаралды 31 МЛН
Yaml Tutorial | Learn YAML in 18 mins
18:05
TechWorld with Nana
Рет қаралды 615 М.
SAVING DATA IN SHARED PREFERENCES - Android Fundamentals
11:17
Philipp Lackner
Рет қаралды 36 М.
Shared Preferences in Android Studio using Kotlin | Android Knowledge
11:46
Android Knowledge
Рет қаралды 2,8 М.
Docker Для Начинающих за 1 Час | Docker с Нуля
52:43
How to Make an Android App for Beginners
19:18
Treehouse
Рет қаралды 6 МЛН
NavigationStack - SwiftUI Programmatic Navigation - iOS 16
20:20
Expect/Actual in Kotlin Multiplatform - KMP for Beginners
22:33
Philipp Lackner
Рет қаралды 7 М.
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,5 МЛН
Мой инст: denkiselef. Как забрать телефон через экран.
0:54