Урок 23. Activity Lifecycle. В каких состояниях может быть Activity

Обсуждение уроков
xameleonchyk
Сообщения: 2
Зарегистрирован: 05 ноя 2013, 17:51

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение xameleonchyk » 05 ноя 2013, 18:07

Добрый день. Урок очень хороший и познавательный. Хотелось только б продолжение...
Вопрос:
У меня есть переменные "x" и "y" при нажатии(в зависсимости от нажатия кнопки) "x" и "y" накапливаются, а при переходи на ландшафтный режим переменный аннулируются. Почему ето происходит я знаю. Но как етого избежать - не знаю((((. Помоготи пожалуйста.

Аватара пользователя
trew
Сообщения: 450
Зарегистрирован: 28 сен 2013, 17:34

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение trew » 05 ноя 2013, 18:50

Вам нужно посмотреть урок 70
http://startandroid.ru/ru/uroki/vse-uro ... krana.html
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.

xameleonchyk
Сообщения: 2
Зарегистрирован: 05 ноя 2013, 17:51

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение xameleonchyk » 05 ноя 2013, 18:55

trew писал(а):Вам нужно посмотреть урок 70
http://startandroid.ru/ru/uroki/vse-uro ... krana.html
Очень большое спасибо!

Axeles
Сообщения: 15
Зарегистрирован: 19 янв 2014, 15:53

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение Axeles » 26 мар 2014, 21:39

Ух ну и намучился я с этим уроком и обновлением Eclipse. Сделал всё как написано, работоспособность восстановил, но запустить приложение не могу. Отдельно эмулятор включается а приложение нет. Что я делаю не так. Ошибка следующая:
[2014-03-26 22:28:58 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2014-03-26 22:28:58 - P0231_OneActivityState] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.

Axeles
Сообщения: 15
Зарегистрирован: 19 янв 2014, 15:53

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение Axeles » 27 мар 2014, 16:48

Axeles писал(а):Ух ну и намучился я с этим уроком и обновлением Eclipse. Сделал всё как написано, работоспособность восстановил, но запустить приложение не могу. Отдельно эмулятор включается а приложение нет. Что я делаю не так. Ошибка следующая:
[2014-03-26 22:28:58 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2014-03-26 22:28:58 - P0231_OneActivityState] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
Что же некому помочь?

AlexVinn
Сообщения: 81
Зарегистрирован: 04 апр 2014, 04:56

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение AlexVinn » 26 апр 2014, 01:18

До обновления Eclips код MainActivity.java был такой (виден весь цикл MainActivity по вызовам onCreate и т.д.)-

[syntax=java]package ru.startandroid.develop.p0231oneactivitystate;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {

final String TAG = "States";

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d(TAG, "MainActivity: onCreate()");
}

@Override
protected void onStart() {
super.onStart();
Log.d(TAG, "MainActivity: onStart()");
}

@Override
protected void onResume() {
super.onResume();
Log.d(TAG, "MainActivity: onResume()");
}

@Override
protected void onPause() {
super.onPause();
Log.d(TAG, "MainActivity: onPause()");
}

@Override
protected void onStop() {
super.onStop();
Log.d(TAG, "MainActivity: onStop()");
}

@Override
protected void onDestroy() {
super.onDestroy();
Log.d(TAG, "MainActivity: onDestroy()");
}
}[/syntax]

Eclips обновили, добавили fragmet...
Как теперь изменить код, что бы было видо LifeCicle ИМЕННО fragment ???? Строки 65.......
Спасибо.

[syntax=java]package com.example.p0231_oneactivitystate;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}

/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {

public PlaceholderFragment() {
}

final String TAG = "States";

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
Log.d(TAG, "PlaceholderFragment: onCreate()");
return rootView;
}

????????????
????????????
????????????

}

}[/syntax]
Тут должна быть подпись.


AlexVinn
Сообщения: 81
Зарегистрирован: 04 апр 2014, 04:56

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение AlexVinn » 26 апр 2014, 12:58

+1, спс.
m090050 писал(а):Ну скопируйте туда жизненный цикл фрагмента, к примеру отсюда http://startandroid.ru/ru/uroki/vse-uro ... cycle.html
Тут должна быть подпись.

Eva
Сообщения: 4
Зарегистрирован: 11 окт 2013, 20:22

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение Eva » 09 июл 2014, 14:34

подскажите, пожалуйста. Есть два активити, на первом просто кнопка, на втором таймер. По нажатию на кнопку показывается второе активити с таймером. Сначала я запускала таймер в методе onCreate() второго активити. Но после нажатия на кнопку проходит около 4секунд и когда я вижу таймер, 3-4 секунды на нем уже протикали. Потом я перенесла запуск таймера в метод onStart() - стало не 3-4 секунды, а две. Как исправить ситуацию?

Viewer
Сообщения: 180
Зарегистрирован: 30 апр 2014, 11:42

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение Viewer » 09 июл 2014, 16:07

Eva писал(а):подскажите, пожалуйста. Есть два активити, на первом просто кнопка, на втором таймер. По нажатию на кнопку показывается второе активити с таймером. Сначала я запускала таймер в методе onCreate() второго активити. Но после нажатия на кнопку проходит около 4секунд и когда я вижу таймер, 3-4 секунды на нем уже протикали. Потом я перенесла запуск таймера в метод onStart() - стало не 3-4 секунды, а две. Как исправить ситуацию?
Остался последний шажок - поместить запуск таймера в onResume() :)
Изображение

ЗЫ На тормозном эмуляторе поди запускаете? На реальном устройстве врядли разница будет ощутима.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение Foenix » 09 июл 2014, 16:58

мда
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Eva
Сообщения: 4
Зарегистрирован: 11 окт 2013, 20:22

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение Eva » 10 июл 2014, 22:01

Viewer, кхм :) да, была невнимательна. Спасибо ;)

А запускала сначала на эмуляторе, потом думаю, может на телефоне будет иначе. Но нет, в данном случае одинаково.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение KamiSempai » 11 июл 2014, 10:42

Советую задуматься о том, почему активити 3-4 секунды запускается. Это тормоза от которых нужно избавляться.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Dizzy
Сообщения: 3
Зарегистрирован: 21 июн 2014, 21:19

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение Dizzy » 19 июл 2014, 10:22

При открытии и закрытии вызываются сообщения как описано в уроке. При повороте не вызывается ни одного сообщения. min API 15. Эмулятор, 4.0.3. Это нормально?

betirsolt
Сообщения: 38
Зарегистрирован: 03 июл 2014, 23:45

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение betirsolt » 24 июл 2014, 00:35

Как быть если не работает фильтр в LogCat? в основной вкладке все события показываются а во вкладке фильтра пусто, проповал решить проблему вашими советами которые вы давали в уроках, но ничего не помогает, у меня в столбце TAG ввезде написано Unknown, а у вас на видео там соответствующий тэг States, как быть тут?

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение Mikhail_dev » 24 июл 2014, 08:28

Приложите скриншот, я не совсем понимаю о чем речь.

zqwadrat
Сообщения: 2
Зарегистрирован: 18 сен 2014, 23:35

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение zqwadrat » 19 сен 2014, 00:45

Activity переходит но Tag с фильтром States не отображается в консоле

Код: Выделить всё

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {
  
  final String TAG = "States";
  
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Log.d(TAG, "MainActivity: onCreate()");
    }
    
  @Override
  protected void onStart() {
    super.onStart();
    Log.d(TAG, "MainActivity: onStart()");
  }

  @Override
  protected void onResume() {
    super.onResume();
    Log.d(TAG, "MainActivity: onResume()");
  }

  @Override
  protected void onPause() {
    super.onPause();
    Log.d(TAG, "MainActivity: onPause()");
  }

  @Override
  protected void onStop() {
    super.onStop();
    Log.d(TAG, "MainActivity: onStop()");
  }
    
  @Override
  protected void onDestroy() {
    super.onDestroy();
    Log.d(TAG, "MainActivity: onDestroy()");
  }
}
avd froyo 2.2

min sdk 8
target sdk 16
compile sdk 16

Изображение
http://uploads.ru/1HyqX.png

petdroid
Сообщения: 2
Зарегистрирован: 08 окт 2014, 12:44

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение petdroid » 13 окт 2014, 13:38

Код: Выделить всё

@Override
  protected void onDestroy() {
    super.onDestroy();
    Log.d(TAG, "MainActivity: onDestroy()");
  }
"В каментах подсказали важное замечание! При реализации этих методов обязательно вызывайте соответствующие методы супер-класса и обязательно перед вашим кодом."

разве для дестроя это справедливо?
если в коде будет какая то работа с классом, то дестрой супера его убьет раньше и никакой работы с классом не будет. Нет?
Может так надо?

Код: Выделить всё

 @Override
  protected void onDestroy() {
**работа с классом ***
    super.onDestroy();
    Log.d(TAG, "MainActivity: onDestroy()");// это не работа с классом, а просто само по себе.
  }

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение Mikhail_dev » 13 окт 2014, 15:19

Нет, не так. Убитие произойдет после выполнения метода destroy, а не после вызова super.onDestroy(); .
разве для дестроя это справедливо?
Почитайте про переопределение методов и наследование. Все варианты (писать метод суперкласса до/после/вообще не писать) справедливы в различных ситуациях.

Ivan2007
Сообщения: 22
Зарегистрирован: 05 янв 2015, 19:55

Re: Урок 23. Activity Lifecycle. В каких состояниях может бы

Сообщение Ivan2007 » 14 янв 2015, 00:37

Здравствуйте.Такая проблемка. Не отображаются логи в Log Cat (deprecated).
Тестирую я на реальном устройстве( Samsung Galaxy 2)Версия андроид 4.1.2
Версию проэкта создавал на андроид 4.0.
Логи про жизнненый цикл нашел но не в своей созданной вкладке а другом LoG Cat, в общем скину пару скринов как да что.
Зарание благодарен за помощ
Вложения
LogCat1.png
LogCat1.png (38.87 КБ) 15744 просмотра
LogCat.png
LogCat.png (20.76 КБ) 15744 просмотра

Ответить