Урок 33. Хранение данных. Preferences.
-
- Сообщения: 14
- Зарегистрирован: 19 ноя 2013, 03:48
Re: Урок 33. Хранение данных. Preferences.
За формат сори, впредь буду аккуратнее. А проблема решилась сама собой, как всегда =)
Re: Урок 33. Хранение данных. Preferences.
Здравствуйте!
Подскажите, пожалуйста, как создать иконку для запуска приложения, если при создании проекта она не была создана?
Подскажите, пожалуйста, как создать иконку для запуска приложения, если при создании проекта она не была создана?
Re: Урок 33. Хранение данных. Preferences.
Попробовал запустить приложение на Nexus 4 (отлаживаю сразу на устройстве без эмуляторов), но не смог найти места, куда сохранился MainActivity.xml. Где они могут лежать? Может не видно нужных папок потому что телефон не рутнутый?
Re: Урок 33. Хранение данных. Preferences.
вы задавали себе вопрос - зачем вы ищите MainActivity.xml в устройстве?cbone писал(а):Попробовал запустить приложение на Nexus 4 (отлаживаю сразу на устройстве без эмуляторов), но не смог найти места, куда сохранился MainActivity.xml. Где они могут лежать? Может не видно нужных папок потому что телефон не рутнутый?
Re: Урок 33. Хранение данных. Preferences.
А где ещё искать то?altwin писал(а):вы задавали себе вопрос - зачем вы ищите MainActivity.xml в устройстве?
Я попытался найти не именно MainActivity.xml а папку пакета (в моём случае ru.innovatis.myapp) и тоже не нашёл.
Re: Урок 33. Хранение данных. Preferences.
да уж.. совсем одно и то же. Данные вашего приложения сохраняются по умолчанию - /data/data/ru.innovatis.myappcbone писал(а):А где ещё искать то?altwin писал(а):вы задавали себе вопрос - зачем вы ищите MainActivity.xml в устройстве?
Я попытался найти не именно MainActivity.xml а папку пакета (в моём случае ru.innovatis.myapp) и тоже не нашёл.
На не "рутованом" устройстве вы и не увидите их. Единственный известный мне способ: adb shell
т.е. в терминале(или консоле если мастдаем пользуетесь) вводится: adb devices
-вывод - список устройств (пример: emulator-5554 attached)
далее: adb -s emulator-5554 shell
P.S. про особенности windows я не в курсе, но есть куча туториалов в google. Иногда проще не парить себе мозг и сохранить файл туда, куда есть доступ(если вас напрягает терминал,хотя зря - он хороший.), к примеру на SD карту.
Re: Урок 33. Хранение данных. Preferences.
Здравствуйте!
Как я понимаю, с помощью Preferences можно создать простейшую записную книжку?
Получается, в хмл-файл с Preferences-данными можно записать неограниченное количество строк с уникальными именами? Только, в уроке не упоминается о том, есть ли методы, позволяющие редатировать и удалять нужные строки. Есть ли такие методы, как ими пользоваться? Спасибо!
Как я понимаю, с помощью Preferences можно создать простейшую записную книжку?
Получается, в хмл-файл с Preferences-данными можно записать неограниченное количество строк с уникальными именами? Только, в уроке не упоминается о том, есть ли методы, позволяющие редатировать и удалять нужные строки. Есть ли такие методы, как ими пользоваться? Спасибо!
Re: Урок 33. Хранение данных. Preferences.
Зачем вам эти методы, если можно получить - get и установить - set. По сути update - это просто запись нового значения в существующее, для delete есть remove: http://developer.android.com/reference/ ... ng.String), все описанно тут: http://developer.android.com/guide/topi ... .html#prefTittTitov писал(а):Здравствуйте!
Как я понимаю, с помощью Preferences можно создать простейшую записную книжку?
Получается, в хмл-файл с Preferences-данными можно записать неограниченное количество строк с уникальными именами? Только, в уроке не упоминается о том, есть ли методы, позволяющие редатировать и удалять нужные строки. Есть ли такие методы, как ими пользоваться? Спасибо!
Re: Урок 33. Хранение данных. Preferences.
А как с Preferences лучше создавать группы настроек?
Например:
1 группа:
книга_1_название,
книга_1_автор
2 группа:
книга_2_название,
книга_2_автор
Или Preferences лучше использовать только для одноуровненвых настроек?
Например:
1 группа:
книга_1_название,
книга_1_автор
2 группа:
книга_2_название,
книга_2_автор
Или Preferences лучше использовать только для одноуровненвых настроек?
Re: Урок 33. Хранение данных. Preferences.
http://startandroid.ru/ru/uroki/vse-uro ... ivity.htmlapollox писал(а):А как с Preferences лучше создавать группы настроек?
Например:
1 группа:
книга_1_название,
книга_1_автор
2 группа:
книга_2_название,
книга_2_автор
Или Preferences лучше использовать только для одноуровненвых настроек?
Re: Урок 33. Хранение данных. Preferences.
Спасибо, это было бы то что надо, но...
На планшете тупо нет кнопки вызова меню.
То есть нет стандратной кнопки андроида, по нажатию на которое оно вызывается...
То есть я пишу
Но ничего нет...
На планшете тупо нет кнопки вызова меню.
То есть нет стандратной кнопки андроида, по нажатию на которое оно вызывается...
То есть я пишу
Код: Выделить всё
public boolean onCreateOptionsMenu(Menu menu) {
}
Re: Урок 33. Хранение данных. Preferences.
[syntax=java5] public boolean onCreateOptionsMenu(Menu menu) {apollox писал(а): Но ничего нет...
return super.onCreateOptionsMenu(menu);
}
[/syntax]
http://startandroid.ru/ru/uroki/vse-uro ... togo-menju
Re: Урок 33. Хранение данных. Preferences.
return super.onCreateOptionsMenu(menu) внутри метода я естественно написал, тут просто код сохратил до упоминания что метод вызываю. Но увы...
Re: Урок 33. Хранение данных. Preferences.
Вы урок по ссылке читали? перед тем как возвращать, что -то нужно добавить элемент меню:apollox писал(а): return super.onCreateOptionsMenu(menu) внутри метода я естественно написал, тут просто код сохратил до упоминания что метод вызываю. Но увы...
[syntax=java5]
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Спам");
return super.onCreateOptionsMenu(menu);
}
[/syntax]
Или:
добавьте в папку res/menu файл start.xml внутри которого:
[syntax=xml]
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="тутИмяПакета.ИмяАктивити" >
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
</menu>
[/syntax]
заменив содержимое tools:context и @string/action_settings
Далее:
[syntax=java5]
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.start, menu);
return true;
}
[/syntax]
Оно не может не работать.
Re: Урок 33. Хранение данных. Preferences.
Все это я естественно делал.
Я нашел, где проблема.
У меня в манифесте:
И при таких настройках меню не появляется.
Но если поставить
то появляется.
Почему так получается?
Я нашел, где проблема.
У меня в манифесте:
Код: Выделить всё
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
Но если поставить
Код: Выделить всё
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="13" />
Почему так получается?
Re: Урок 33. Хранение данных. Preferences.
я повторю -так не бывает.apollox писал(а):Все это я естественно делал.
Я нашел, где проблема.
У меня в манифесте:И при таких настройках меню не появляется.Код: Выделить всё
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />
Но если поставить
то появляется.Код: Выделить всё
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="13" />
Почему так получается?
Re: Урок 33. Хранение данных. Preferences.
Тогда я ничего не понимаю.
Update
Я написал код как в вашем примере. Сделал новый проект и запустил. Работает!
Меню появилось.
А в моем приложении тот же самый код - и ничего...
В своем приложении выкинул все, кроме того что сделал в новом, где меню появляется.
Написал точно такой же код, манифест, менюшки.
Все равно меню не появляется.
То ли глюк, то ли где то еще глубоко сидит настройка, которая все портит.
Вот новое приложение. Меню есть справа вверху. Вот мое, код и настройки как в новом, меню нет (
Update
Я написал код как в вашем примере. Сделал новый проект и запустил. Работает!
Меню появилось.
А в моем приложении тот же самый код - и ничего...
В своем приложении выкинул все, кроме того что сделал в новом, где меню появляется.
Написал точно такой же код, манифест, менюшки.
Все равно меню не появляется.
То ли глюк, то ли где то еще глубоко сидит настройка, которая все портит.
Вот новое приложение. Меню есть справа вверху. Вот мое, код и настройки как в новом, меню нет (
Re: Урок 33. Хранение данных. Preferences.
значит баг, какая разница, если в другом приложении работает - перенесите код и все, это не должно занять много времени. Но вообще у вас явно выбранна другая тема на втором скриншоте.
Ну и да старые устройства не имеют action bar overflow в принципе.
Ну и да старые устройства не имеют action bar overflow в принципе.
Re: Урок 33. Хранение данных. Preferences.
Так и сделал, перетащил код, теперь все ок.
Re: Урок 33. Хранение данных. Preferences.
Добрый день!
Я решил вынести сохранение данных в отдельный класс, куда эти данные и передаю
[syntax=java]
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.util.Log;
public class MySaveData {
final String LATITUDE = "latitude";
final String LATITUDE_S = "latitude_s";
final String LONGITUDE = "longitude";
final String LONGITUDE_E = "longitude_e";
final String LOCATION = "location";
SharedPreferences sPref;
final String TAG = "States";
private String Lat, Lon, Lat_S, Lon_S, Loc;
public MySaveData(String inLat, String inLon, String inLat_S,
String inLon_S, String inLoc) {
Log.d(TAG, "!!!!! SAVE DATA CONSTRACTOR !!!! " + inLat + " " + inLon
+ " " + inLat_S + " " + inLon_S + " " + inLoc);
Lat = inLat;
Lon = inLon;
Lat_S = inLat_S;
Lon_S = inLon_S;
Loc = inLoc;
}
public void SaveData() {
sPref = getPreferences(MODE_PRIVATE);
Editor ed = sPref.edit();
Log.d(TAG, "!!!!! SAVE DATA !!!! ");
Log.d(TAG, "Lat-> "+Lat);
Log.d(TAG, "Lon-> "+Lon);
Log.d(TAG, "Lat_S-> "+Lat_S);
Log.d(TAG, "Lon_S-> "+Lon_S);
Log.d(TAG, "Loc-> "+Loc);
}
}
[/syntax]
но эклипс ругается на строчку 36 sPref = getPreferences(MODE_PRIVATE);
и говорит MODE_PRIVATE can not be resolved to variable
хотя когда эта же строчка стояла в коде самой активности все было нормально
подскажите пожалуйста как поправить
Я решил вынести сохранение данных в отдельный класс, куда эти данные и передаю
[syntax=java]
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.util.Log;
public class MySaveData {
final String LATITUDE = "latitude";
final String LATITUDE_S = "latitude_s";
final String LONGITUDE = "longitude";
final String LONGITUDE_E = "longitude_e";
final String LOCATION = "location";
SharedPreferences sPref;
final String TAG = "States";
private String Lat, Lon, Lat_S, Lon_S, Loc;
public MySaveData(String inLat, String inLon, String inLat_S,
String inLon_S, String inLoc) {
Log.d(TAG, "!!!!! SAVE DATA CONSTRACTOR !!!! " + inLat + " " + inLon
+ " " + inLat_S + " " + inLon_S + " " + inLoc);
Lat = inLat;
Lon = inLon;
Lat_S = inLat_S;
Lon_S = inLon_S;
Loc = inLoc;
}
public void SaveData() {
sPref = getPreferences(MODE_PRIVATE);
Editor ed = sPref.edit();
Log.d(TAG, "!!!!! SAVE DATA !!!! ");
Log.d(TAG, "Lat-> "+Lat);
Log.d(TAG, "Lon-> "+Lon);
Log.d(TAG, "Lat_S-> "+Lat_S);
Log.d(TAG, "Lon_S-> "+Lon_S);
Log.d(TAG, "Loc-> "+Loc);
}
}
[/syntax]
но эклипс ругается на строчку 36 sPref = getPreferences(MODE_PRIVATE);
и говорит MODE_PRIVATE can not be resolved to variable
хотя когда эта же строчка стояла в коде самой активности все было нормально
подскажите пожалуйста как поправить