Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 18 июн 2019, 18:11

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 203 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 11  След.
Автор Сообщение
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 12 дек 2012, 10:10 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
djdance писал(а):
в итоге q всегда пустая, пока не перезапущу всё с нуля.
"проверка" высвечивает успешно.
почему так? поток виноват?

UPDATE действительно поток. объявлять надо внутри потока. Почему никто не сказал! :D


В смысле?! Если переносите объявление SharedPreferences prefs в поток, то начинает работать?
А сервисы у вас в одном процессе крутятся или разных? У меня такой баг был, когда сервис и приложение в разных процессах находились.

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 12 дек 2012, 17:10 

Зарегистрирован: 04 дек 2012, 15:33
Сообщений: 48
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
> Если переносите объявление SharedPreferences prefs в поток, то начинает работать?
так точно. Теперь в активити видится то что заносим в сервисе.

Сервис тоже поточный, в манифесте:
android:process=":newprocIntentSend"

Кстати, не знаю, такой двойной поток в потоке это ок или не ок.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 14 дек 2012, 12:21 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
djdance писал(а):
> Если переносите объявление SharedPreferences prefs в поток, то начинает работать?
так точно. Теперь в активити видится то что заносим в сервисе.

Сервис тоже поточный, в манифесте:
android:process=":newprocIntentSend"

Кстати, не знаю, такой двойной поток в потоке это ок или не ок.

Процесс и поток - это совсем разные вещи, http://seregaborzov.wordpress.com/2006/ ... ot_potoka/

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 14 дек 2012, 12:40 

Зарегистрирован: 04 дек 2012, 15:33
Сообщений: 48
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
damager82,

прочитал, понял. Процесс - это контейнер, сравнивать его с потоком некорректно. А в чём уж тогда выгода указывать имя процесса в манифесте, проясните?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 18 дек 2012, 09:47 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
djdance писал(а):
А в чём уж тогда выгода указывать имя процесса в манифесте, проясните?

Хороший вопрос. Я пока на практике не встречал острой необходимости в этом атрибуте.

Как пример, посмотрите Урок 99. Там сервис выполняет тяжелые задачи и выделен в отдельный процесс, чтобы не тормозить UI приложения. Хотя, это же можно было сделать и в отдельном потоке одного процесса.

В хелпе пишут, что можно для компонентов разных приложений указать один процесс и они будут запущены в нем, уменьшая тем самым использование ресурсов системы.

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 21 дек 2012, 12:29 

Зарегистрирован: 14 июн 2012, 16:58
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
"Отобразилась файловая система эмулятора. Открываем data/data/ru.startandroid.develop.p0331sharedpreferences/shared_prefs и видим там файл MainActivity.xml. Если его выгрузить на комп и открыть - увидим следующее:"


не подскажете как "его" выгрузить на комп??


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 24 дек 2012, 14:28 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
nemony писал(а):
"Отобразилась файловая система эмулятора. Открываем data/data/ru.startandroid.develop.p0331sharedpreferences/shared_prefs и видим там файл MainActivity.xml. Если его выгрузить на комп и открыть - увидим следующее:"
не подскажете как "его" выгрузить на комп??

На вкладке FileExplorer есть пара кнопок рядом. Одна кидает файл на девайс, другое - с девайса

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 05 янв 2013, 12:41 

Зарегистрирован: 30 дек 2012, 10:43
Сообщений: 19
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
1) Возможно сразу занести в приложение Prefences? т.е. как ресурсы, прописать и все, только их потом брать?
2) Есть элемент AutoCompleteTextView, можно ли к нему подключить Prefences?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 18 янв 2013, 22:02 

Зарегистрирован: 18 окт 2012, 10:11
Сообщений: 44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Добрый всем вечер! Помогите, пожалуйста, разобраться в этой теме - совсем запуталась ((. Буду рассказывать по пунктам что и как я поняла, чтобы ещё и вас не запутать :lol:
1. getPreferences использую если данные будут сохраняться и применяться только в одной Activity, getSharedPreferences - если буду сохранять в данной Activity, а использовать из разных в рамках своего приложения.
Отсюда вопрос 1. - - при использовании getSharedPreferences в каких случаях создаются разные объекты и файлы?
2. вот этой строке объявляю объект класса, тут я могу его назвать как захочу.
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. SharedPreferences sPref;

3. Вот в этой строке
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1.  sPref = getPreferences(MODE_PRIVATE);
- получаю тот самый объект от класса,
4. а если вот так
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. sPref = getSharedPreferences("MyPref", MODE_PRIVATE);
- то ещё и говорю как будет называться файл, в котором данные сохранятся.
5. здесь объявляется строка
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. final String SAVED_TEXT = "saved_text";
и отсюда же и начинается каша!!!
2 вопрос. почему final?
3 вопрос. String всегда пишется или есть другие варианты? Если да, то какие и когда применяются?
4 вопрос. SAVED_TEXT - наименование переменной, что здесь можно писать и где ещё это наименование используется в дальнейшем?
5 вопрос. "saved_text" - значение, это просто название как в паре ключ-значение?
6.
Цитата:
saveText – сохранение данных.
этот метод для сохранения данных. Для автоматического сохранения при закрытии приложения правильнее всего писать в
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. @Override   protected void onPause() {     saveText();     super.onPause();   }

7. используется для загрузки данных. И если нужно чтобы при открытии она происходила автоматически то вызываем его в onCreate.
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1.  loadText();

6. вопрос а если не надо отображать данные на экране, то тогда где вызывать?
8. Здесь непосредственно говоришь откуда и что и куда сохранять.
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1.  void saveText() {
  2.     sPref = getPreferences(MODE_PRIVATE);
  3.     Editor ed = sPref.edit();
  4.     ed.putString(SAVED_TEXT, etText.getText().toString());
  5.     ed.commit();
  6.     Toast.makeText(this, "Text saved", Toast.LENGTH_SHORT).show();
  7.   }

7 вопрос. если мне нужно сохранять данные, полученные из запроса, к примеру, то что писать в следующем отрывке?
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. private synchronized void parsingDataInView(JSONArray jsonArray) { (jsonArray.getJSONObject(0).has("place")) {
  2.                                 JSONObject jsonObject = jsonArray.getJSONObject(0);

Вариант А. полностью предыдущий код.
Вариант Б. только saveText(); , но он же пишется в onPause :? !!!
Вариант В. как-то иначе... :?:
Ну и собственно тоже самое и с loadText();

P.S. Код уже написала, он даже работает, но это всё скорее на интуитивном уровне, а хотелось бы понять как правильно, так что буду благодарна если кто-то всё-таки сможет объяснить что к чему!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 18 янв 2013, 23:36 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
о господи, пойду немного выпью перед тем как отвечать...

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 19 янв 2013, 11:03 

Зарегистрирован: 18 окт 2012, 10:11
Сообщений: 44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
:lol: аха-ха!!! Вы всё ещё пьёте?? Тогда мы идём к Вам!!!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 19 янв 2013, 15:03 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
Ну что же, я проснулся и готов отвечать:
Цитата:
1. getPreferences использую если данные будут сохраняться и применяться только в одной Activity, getSharedPreferences - если буду сохранять в данной Activity, а использовать из разных в рамках своего приложения.
Отсюда вопрос 1. - - при использовании getSharedPreferences в каких случаях создаются разные объекты и файлы?

вопрос что то не совсем понятен но метод getSharedPreferences это метод контекста, контекст один в приложении, у этого метода есть два параметра: имя файла и флаг который указывает с какими полномочиями открывать файл;
Цитата:
2 вопрос. почему final?

это вам к истокам Java, можно и без файнала, но лучше с ним, а ещё лучше static добавить, а прямой ответ на ваш вопрос - что бы SAVED_TEXT существовал в единственном экземпляре
Цитата:
3 вопрос. String всегда пишется или есть другие варианты? Если да, то какие и когда применяются?
4 вопрос. SAVED_TEXT - наименование переменной, что здесь можно писать и где ещё это наименование используется в дальнейшем?
5 вопрос. "saved_text" - значение, это просто название как в паре ключ-значение?

отвечу на эти три вопроса так как они пересекаются: SAVED_TEXT это поле ключ с которым вы сохраняете нужное значение в файл, и с которым вы потом сможете достать то значение которое сохранили, именование переменной может быть любой главное что бы содержимое было одинаковое, тип должен быть стринг так как методы put* и get* ключи используются стринги;
Цитата:
6. вопрос а если не надо отображать данные на экране, то тогда где вызывать?

странный вопрос, так как вы можете вызывать где хотите, и можете делать с данными что захотите, хоть на марс их отправить :)
Цитата:
7 вопрос. если мне нужно сохранять данные, полученные из запроса, к примеру, то что писать в следующем отрывке?

здесь не совсем понятно что нужно, обрисовывайте проблему и будем решать.

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 19 янв 2013, 19:21 

Зарегистрирован: 18 окт 2012, 10:11
Сообщений: 44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Цитата:
здесь не совсем понятно что нужно, обрисовывайте проблему и будем решать.
. Выложу ка свои художества может по коду будет видно что осталось непонятым...
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. public class MainActivity extends Activity {
  2.        
  3.         SharedPreferences myPreferences;
  4.         TextView prefText, jsonText;
  5.         GetAsyncTask getATask;
  6.         final String SavePlace = "place";
  7.        
  8.        
  9.         @Override
  10.         protected void onCreate(Bundle savedInstanceState) {
  11.                 super.onCreate(savedInstanceState);
  12.                 setContentView(R.layout.activity_main);
  13.                
  14.                 prefText = (TextView) findViewById(R.id.pref);
  15.                 jsonText = (TextView) findViewById(R.id.json);
  16.                
  17.                 myPreferences = getSharedPreferences("myPref", MODE_PRIVATE);
  18.  
  19.                 loadText();
  20.                
  21.                 getATask = new GetAsyncTask();  
  22.                 getATask.execute("http://здесь запрос");
  23.                
  24.                
  25.         }
  26.        
  27.        
  28.         // метод требует синхронизации, т.к. он вызывается из потоков тасков
  29.                 private synchronized void parsingDataInView(JSONArray jsonArray)
  30.                                 throws JSONException {
  31.                         // Если первый объект имеет ключ "place"
  32.                         if (jsonArray.getJSONObject(0).has("place")) {
  33.                                 JSONObject jsonObject = jsonArray.getJSONObject(0);
  34.                                 jsonText.setText("Вы на " + jsonObject.getString("place") + " месте");
  35.                                 Editor editor =  myPreferences.edit();
  36.                                 editor.putString(SavePlace, jsonObject.getString("place").toString());
  37.                                 editor.commit();
  38.  
  39.                        
  40.                 }
  41.        
  42.        
  43. private void loadText() {
  44.                         // TODO Auto-generated method stub
  45.          myPreferences = getSharedPreferences("myPref", MODE_PRIVATE);
  46.             String savedText = myPreferences.getString(SavePlace, "");  // почему в начале строки  savedText ведь строка имеет другое название???
  47.             prefText.setText(savedText);
  48.                        
  49.                 }
  50.  
  51.  
  52. class GetAsyncTask extends AsyncTask<String, Void, String> {
  53.  
  54.                
  55.         BufferedReader in = null;
  56.         String page = "Нет данных"; // Заполняем на тот случай если она не измениться в результате ошибки в блоке try
  57.  
  58.                
  59.                 @Override
  60.                 protected void onPreExecute() {
  61.                         super.onPreExecute();
  62.                         Log.d("my tag", "начало");
  63.                                        
  64.                 }
  65.                
  66.                 @Override
  67.                 protected String doInBackground(String... url) {
  68.                         try {
  69.                                
  70.                                 Log.d("myTag", "отправка запроса");
  71.                                 // ))
  72.                                 HttpClient client = new DefaultHttpClient();
  73.                                 HttpGet request = new HttpGet();
  74.                                 request.setURI(new URI(url[0]));
  75.                                 HttpResponse response = client.execute(request); // посылаем запрос
  76.                                 in = new BufferedReader(new InputStreamReader(response
  77.                                                 .getEntity().getContent()));
  78.                                 StringBuffer sb = new StringBuffer(""); // в этом буфере накапливаем данные которые пришли
  79.                                 String line = "";
  80.                                 String NL = System.getProperty("line.separator");
  81.                                 while ((line = in.readLine()) != null) { // здесь ждём пока придут все данные
  82.                                         sb.append(line + NL);
  83.                                 }
  84.                                 in.close();
  85.                                 page = sb.toString(); // вот строка с результатом
  86.                                 Log.d("myTag", "Результат запроса: \n" + page); // выводим её в лог
  87.        
  88.                         } catch (URISyntaxException e) {
  89.                                 // TODO Auto-generated catch block
  90.                                 e.printStackTrace();
  91.                         } catch (ClientProtocolException e) {
  92.                                 // TODO Auto-generated catch block
  93.                                 e.printStackTrace();
  94.                         } catch (IOException e) {
  95.                                 // TODO Auto-generated catch block
  96.                                 e.printStackTrace();
  97.                         } finally {
  98.  
  99.                                 if (in != null) {
  100.                                         try {
  101.                                                 in.close();
  102.                                         } catch (IOException e) {
  103.                                                 e.printStackTrace();
  104.                                         }
  105.                                 }
  106.                         }
  107.                         return page;
  108.                 }// doInBackground
  109.                
  110.                 @Override
  111.                 protected void onPostExecute(String result) {                  
  112.                         super.onPostExecute(result);
  113.                         Log.d("my tag", "завершение");
  114.                        
  115.                
  116.                 try {
  117.                         parsingDataInView(new JSONArray(result));
  118.                 } catch (JSONException e) {
  119.                         e.printStackTrace();
  120.                 }
  121.        
  122.  
  123.                        
  124.         }
  125.        
  126.  
  127.        
  128.         }
  129.  
  130.         @Override
  131.         protected void onPause() {
  132.                 saveText();
  133.                 super.onPause();
  134.         }
  135.  
  136.  
  137.         private void saveText() {
  138.                 // TODO Auto-generated method stub
  139.                
  140.         }
  141.  
  142. }
  143.  
Код работать то конечно работает..., но есть смутные подозрения, что не всё на своих местах...?
И пока не забыла всё-таки со String недопоняла - других вариантов кроме String не бывает?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 19 янв 2013, 20:14 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
Цитата:
И пока не забыла всё-таки со String недопоняла - других вариантов кроме String не бывает?

вы имеете в виду сохранять только стринг можно?

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 21 янв 2013, 13:27 

Зарегистрирован: 18 окт 2012, 10:11
Сообщений: 44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Цитата:
вы имеете в виду сохранять только стринг можно?

Да, может быть только final String или кроме строки ещё что-то можно сохранить?
И в следующей строке из кода недопонимание осталось
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1.  String savedText = myPreferences.getString(SavePlace, "");  // почему в начале строки  savedText ведь строка имеет другое название???


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 22 янв 2013, 19:58 

Зарегистрирован: 06 июл 2012, 17:23
Сообщений: 21
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
3Gern писал(а):
вместо текста хочу сохранить значения массива (в массиве хранятся результаты), сохраняю вот так
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. ed.putString(Save_Array, Arrays.toString(mas));

а как теперь ее загрузить? что в дальнейшим работать с результатами, я делал вот так: убрал добавившиеся символы с помощью substring (это запятые и прямоугольные скобки), затем создал строковый массив туда положил отредактированную строку с помощью split, и все что я сделал пошло на коту под хвост, обратно добавились прямоугольники, запятые и я в тупике не знаю что делать (( может не правильно сохраняю массив? помогите, дайте совет.


возможно в этом случае лучше воспользовать бинаторй сериализацией списка в файл вместо Preferences?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 25 янв 2013, 12:13 
Аватар пользователя

Зарегистрирован: 09 янв 2012, 14:45
Сообщений: 2386
Откуда: Самара
Благодарил (а): 102 раз.
Поблагодарили: 321 раз.
Здравствуйте. Подскажите с маленьким вопросом.
Есть CheckBoxPreference, который лежит в настройках. Мне надо программно изменить ему значение свойства enabled. И надо это сделать в сервисе. В сервисе нету метода findPreference.
Пока вижу только один вариант, а именно кидать бродкаст с сервиса, в настройках его ловить и уже там приводить искать элемент
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. Preference prefereces=findPreference("pref_screen_log");

и после приводить к View и менять значение.

Есть какие-либо другие идеи?

_________________
Изображение

А тот ли ты путь выбрал, разработчик?
Хочешь знать ошибки ответ? Загляни в logcat!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 25 янв 2013, 13:32 
Аватар пользователя

Зарегистрирован: 09 янв 2012, 14:45
Сообщений: 2386
Откуда: Самара
Благодарил (а): 102 раз.
Поблагодарили: 321 раз.
Всё, разобрался. Помог 73 урок, где программно меняют свойства. Еще раз огромное спасибо за материал!

_________________
Изображение

А тот ли ты путь выбрал, разработчик?
Хочешь знать ошибки ответ? Загляни в logcat!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 30 янв 2013, 17:49 

Зарегистрирован: 02 дек 2012, 15:17
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Такой вопрос, коллеги - форумчане. Возможно, кто подскажет решение. В моем приложении в preference сохраняется профиль пользователя. В зависимости от существования этого файла .xml:
- приложение считывает поля этого файла (если он существует);
- приложение вызывает активити для создания этого файла (если файла не существует).

Собственно, задача в том что мне нужно узнать существует этот файл или нет. Подскажите, пожалуйста, как это возможно сделать?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 33. Хранение данных. Preferences.
СообщениеДобавлено: 30 янв 2013, 23:43 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. File file = new File("data/data/myapp/file.xml");
  2. if(file.exists()) {
  3. //существует
  4. } else {
  5. //не существует
  6. }

Зачем учить Java, лучше сразу андроид :P

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 203 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 11  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB