Урок 23. Activity Lifecycle. В каких состояниях может быть Activity
-
- Сообщения: 2
- Зарегистрирован: 05 ноя 2013, 17:51
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Добрый день. Урок очень хороший и познавательный. Хотелось только б продолжение...
Вопрос:
У меня есть переменные "x" и "y" при нажатии(в зависсимости от нажатия кнопки) "x" и "y" накапливаются, а при переходи на ландшафтный режим переменный аннулируются. Почему ето происходит я знаю. Но как етого избежать - не знаю((((. Помоготи пожалуйста.
Вопрос:
У меня есть переменные "x" и "y" при нажатии(в зависсимости от нажатия кнопки) "x" и "y" накапливаются, а при переходи на ландшафтный режим переменный аннулируются. Почему ето происходит я знаю. Но как етого избежать - не знаю((((. Помоготи пожалуйста.
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Вам нужно посмотреть урок 70
http://startandroid.ru/ru/uroki/vse-uro ... krana.html
http://startandroid.ru/ru/uroki/vse-uro ... krana.html
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
-
- Сообщения: 2
- Зарегистрирован: 05 ноя 2013, 17:51
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Очень большое спасибо!trew писал(а):Вам нужно посмотреть урок 70
http://startandroid.ru/ru/uroki/vse-uro ... krana.html
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Ух ну и намучился я с этим уроком и обновлением 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.
[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.
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Что же некому помочь?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.
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
До обновления 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]
[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]
Тут должна быть подпись.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Ну скопируйте туда жизненный цикл фрагмента, к примеру отсюда http://startandroid.ru/ru/uroki/vse-uro ... cycle.html
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
+1, спс.
m090050 писал(а):Ну скопируйте туда жизненный цикл фрагмента, к примеру отсюда http://startandroid.ru/ru/uroki/vse-uro ... cycle.html
Тут должна быть подпись.
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
подскажите, пожалуйста. Есть два активити, на первом просто кнопка, на втором таймер. По нажатию на кнопку показывается второе активити с таймером. Сначала я запускала таймер в методе onCreate() второго активити. Но после нажатия на кнопку проходит около 4секунд и когда я вижу таймер, 3-4 секунды на нем уже протикали. Потом я перенесла запуск таймера в метод onStart() - стало не 3-4 секунды, а две. Как исправить ситуацию?
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Остался последний шажок - поместить запуск таймера в onResume()Eva писал(а):подскажите, пожалуйста. Есть два активити, на первом просто кнопка, на втором таймер. По нажатию на кнопку показывается второе активити с таймером. Сначала я запускала таймер в методе onCreate() второго активити. Но после нажатия на кнопку проходит около 4секунд и когда я вижу таймер, 3-4 секунды на нем уже протикали. Потом я перенесла запуск таймера в метод onStart() - стало не 3-4 секунды, а две. Как исправить ситуацию?
ЗЫ На тормозном эмуляторе поди запускаете? На реальном устройстве врядли разница будет ощутима.
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
мда
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Viewer, кхм да, была невнимательна. Спасибо
А запускала сначала на эмуляторе, потом думаю, может на телефоне будет иначе. Но нет, в данном случае одинаково.
А запускала сначала на эмуляторе, потом думаю, может на телефоне будет иначе. Но нет, в данном случае одинаково.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Советую задуматься о том, почему активити 3-4 секунды запускается. Это тормоза от которых нужно избавляться.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
При открытии и закрытии вызываются сообщения как описано в уроке. При повороте не вызывается ни одного сообщения. min API 15. Эмулятор, 4.0.3. Это нормально?
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Как быть если не работает фильтр в LogCat? в основной вкладке все события показываются а во вкладке фильтра пусто, проповал решить проблему вашими советами которые вы давали в уроках, но ничего не помогает, у меня в столбце TAG ввезде написано Unknown, а у вас на видео там соответствующий тэг States, как быть тут?
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Приложите скриншот, я не совсем понимаю о чем речь.
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Activity переходит но Tag с фильтром States не отображается в консоле
avd froyo 2.2
min sdk 8
target sdk 16
compile sdk 16
http://uploads.ru/1HyqX.png
Код: Выделить всё
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()");
}
}
min sdk 8
target sdk 16
compile sdk 16
http://uploads.ru/1HyqX.png
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Код: Выделить всё
@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. В каких состояниях может бы
Нет, не так. Убитие произойдет после выполнения метода destroy, а не после вызова super.onDestroy(); .
Почитайте про переопределение методов и наследование. Все варианты (писать метод суперкласса до/после/вообще не писать) справедливы в различных ситуациях.разве для дестроя это справедливо?
Re: Урок 23. Activity Lifecycle. В каких состояниях может бы
Здравствуйте.Такая проблемка. Не отображаются логи в Log Cat (deprecated).
Тестирую я на реальном устройстве( Samsung Galaxy 2)Версия андроид 4.1.2
Версию проэкта создавал на андроид 4.0.
Логи про жизнненый цикл нашел но не в своей созданной вкладке а другом LoG Cat, в общем скину пару скринов как да что.
Зарание благодарен за помощ
Тестирую я на реальном устройстве( Samsung Galaxy 2)Версия андроид 4.1.2
Версию проэкта создавал на андроид 4.0.
Логи про жизнненый цикл нашел но не в своей созданной вкладке а другом LoG Cat, в общем скину пару скринов как да что.
Зарание благодарен за помощ
- Вложения
-
- LogCat1.png (38.87 КБ) 15748 просмотров
-
- LogCat.png (20.76 КБ) 15748 просмотров