Комментарии 23
Хорошая подборка для новичков. Правда, по звуку — приведенный способ не подходит для быстрой смены коротких звуков (звуки в игре, допустим). Тогда лучше использовать SoundPool:
mSoundPool = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
moveId = mSoundPool.load(this, R.raw.button_move, 1);
mSoundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
Log.d("SoundPool_15", "onLoadComplete, sampleId = " + sampleId + ", status = " + status);
}
});
+4
НЛО прилетело и опубликовало эту надпись здесь
Опирался на:
stackoverflow.com/questions/3473168/clear-the-entire-history-stack-and-start-a-new-activity-on-android
stackoverflow.com/questions/4190429/how-to-clear-the-android-stack-of-activities
Очищается стэк поэтому finish(); закрывает приложение, а не перебрасывает на предыдущую активность.
stackoverflow.com/questions/3473168/clear-the-entire-history-stack-and-start-a-new-activity-on-android
stackoverflow.com/questions/4190429/how-to-clear-the-android-stack-of-activities
Очищается стэк поэтому finish(); закрывает приложение, а не перебрасывает на предыдущую активность.
0
НЛО прилетело и опубликовало эту надпись здесь
Но если вызывать метод startActivity и передать туда созданный intent с установленными флагами — откроется новая activity, при этом очистив весь activity stack, это правда. Однако, у вас об этом нигде не сказано.
Опять же, это правда только для API>=11. Да, можно в принципе уже потихоньку на это глаза закрыть, но вот буквально недавно, пытаясь понять, как очистить стек на устройствах с API<11, я не смог найти ответ. Есть вроде как бекпорт (IntentCompat.FLAG_ACTIVITY_CLEAR_TASK), но и он с API 11 o_O
0
Я думаю, что подразумевалась следующая конструкция:
То есть, создав новую активити, она самостоятельно завершается, таким образом, истории не будет.
Intent intent = new Intent(ActivityCurrent.this, ActivityNext.class);
intent.startActivity(intent);
finish();
То есть, создав новую активити, она самостоятельно завершается, таким образом, истории не будет.
0
Стек же очищается при использовании Intent, а у вас он просто создан и наполнен необходимыми данными. Это намерение, а намерение должно быть кем-нибудь выполнено.
(edit) опередили меня с ответом.
(edit) опередили меня с ответом.
0
Как явно программно закрыть приложение при нажатии по кнопке:
finish() не закрывает приложение, данный метод закрывает Activity.
Обработка нажатия кнопки назад (Back Pressed):
И часто Вы вызываете новую Activity при нажатии назад?
Получить строку из ресурсов:
Обращение к ресурсам:
Мне кажется это почти одно и тоже.
Вы написали как о Java, так и о Android, всё вперемешку. Нужно понимать, что нельзя указать все базовые вещи для новичков, что Вы постарались сделать. В итоге, тут и десятой части нет того, что по Android надо для новичков, и сотой, того, что Java.
Некоторые вещи (такие как Task в Android) лучше писать более конкретизировано, либо лучше не писать. Да в принципе относится ко многому.
ИМХО, в такой статье нет необходимости. Лучше написать статью — сборник ссылок по полезным Android вещам на хабре. Раньше такая была (сейчас нет под рукой), но она уже не особо актуальна.
+3
Полностью согласен. ИМХО в таком формате статья не нужна, так как тут по большой части или ссылки на stackoverflow или куцые вырезанные ответы с того же сайта. В продолжение Toast.makeText(this,...). Toast может быть вызван из другого класса, и что такое this в этом случае для новичка — становится непонятно. А кнопка назад может быть обработана не через onBackPressed, а при помощи
Что может быть более полезно и удобно во многих случаях, а также избавит от некоторых ошибок в работе программы, а также даёт более удобную дополнительную обработку.
Прыгать по EditText лучше программно, так как сталкивался с той проблемой, что не все устройства одинаково поддерживают подобные прыжки, и иногда даже падают.
ИМХО, в этой статье просто подняты некоторые вопросы (далеко не самые важные для новичков), а ответов нет. Слабая статья. Для новичков советую На startandroid уроки для начала посмотреть. Там все подобные неточности достаточно объёмно объяснены.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.
return true;
}
return super.onKeyDown(keyCode, event);
}
Что может быть более полезно и удобно во многих случаях, а также избавит от некоторых ошибок в работе программы, а также даёт более удобную дополнительную обработку.
Прыгать по EditText лучше программно, так как сталкивался с той проблемой, что не все устройства одинаково поддерживают подобные прыжки, и иногда даже падают.
ИМХО, в этой статье просто подняты некоторые вопросы (далеко не самые важные для новичков), а ответов нет. Слабая статья. Для новичков советую На startandroid уроки для начала посмотреть. Там все подобные неточности достаточно объёмно объяснены.
+1
Много спорных момент с учётом того, что это для новичков статья.
Например:
Новичок сразу закричит: «Что за
За статью спасибо, но, всё же, подобные вопросы гуглятся обычно по необходимости и находятся ответы довольно быстро, посему не вижу целесообразности в подобной статье =/
Например:
Обращение к ресурсам: getResources().getColor(R.color.errorColor)
Новичок сразу закричит: «Что за
getResources()
? У меня нет такого метода». Ибо нужен контекст. В Activity отработает, во фрагменте доступ через getActivity()
и т.п.За статью спасибо, но, всё же, подобные вопросы гуглятся обычно по необходимости и находятся ответы довольно быстро, посему не вижу целесообразности в подобной статье =/
+2
Ребят, это бесполезно пытаться что-то выучить по таким FAQам, у вас наверняка этот список вопросов возник в ходе чего-то. Лучший способ — придумать идею для приложения, пусть несложного, и реализовать. И возникнувшие вопросы из серии «жизненного цикла» или «как заставить вибрировать», которые появятся, решать.
+5
Есть такой сайт — startandroid.ru. В нём сейчас множество уроков, которые будут полезны для новичков. Год назад появился видеоканал — Start Android, который возглавил другой человек, с разрешения админа сайта. В данный момент, я с создателем видеоканала, продумываем разработку мобильного приложения для данного сайта и видеоканала. В планах сделать:
— просмотр уроков
— просмотр видеоуроков, как и их скачивание
— тесты уроков
— навигация по наиболее частым вопросам
Если у кого есть вопросы и предложения — пишите либо мне, либо автору видео уроков (Виталий Непочатов).
— просмотр уроков
— просмотр видеоуроков, как и их скачивание
— тесты уроков
— навигация по наиболее частым вопросам
Если у кого есть вопросы и предложения — пишите либо мне, либо автору видео уроков (Виталий Непочатов).
0
0
Eclipse мастдай. Сейчас либо AS, либо IDEA 13 (платная, либо бесплатная). Хотя eclipse немного жалко…
+1
Eclipse всё ещё нужен, например для создания плагинов для unity3d.
0
Тут речь о том, что авторы видео-уроков не заморачиваются с объяснением как настроить другую IDE для учебы по их урокам. А для таких опытных людей я думаю это не слишком трудно.
Начал с уроков по Java на hexlet.org, поставил и настроил IDEA.
Потом начал смотреть там же, уроки по программированию для андройд, уже настраивают Eclipse.
startandroid.ru вроде то же на Eclipse начинают уроки а заканчивают уже на AS.
И я как средний пользователь этих уроков вынужден ставить по очереди то одно, то другое, то третье, так как боюсь что из-за разницы в IDE и подключенных «модулей» у меня будут проблемы с воспроизведением материала.
Начал с уроков по Java на hexlet.org, поставил и настроил IDEA.
Потом начал смотреть там же, уроки по программированию для андройд, уже настраивают Eclipse.
startandroid.ru вроде то же на Eclipse начинают уроки а заканчивают уже на AS.
И я как средний пользователь этих уроков вынужден ставить по очереди то одно, то другое, то третье, так как боюсь что из-за разницы в IDE и подключенных «модулей» у меня будут проблемы с воспроизведением материала.
0
А почему
А то я больше по .NET-у загоняюсь и может что-то упустил.
Eclipse мастдай. Сейчас либо AS, либо IDEA 13?
А то я больше по .NET-у загоняюсь и может что-то упустил.
0
Довольно много багов, связанных с Eclipse. Особенно дело касается случая, когда приходится обновить Android Development Tools. Это похоже на танцы с бубном, когда что-то кого-то не находит и ты идешь гуглить. AS тут выглядит лучше, при этом она еще в beta версии.
Неявный плюс, но всё же — рендеринг в Eclipse хуже, чем той же AS.
Опять же, это моё сугубое ИМХО, но все разработчики, которых я знаю, ушли с Eclipse либо в AS, либо в IDEA, что в принципе одно и тоже.
Неявный плюс, но всё же — рендеринг в Eclipse хуже, чем той же AS.
Опять же, это моё сугубое ИМХО, но все разработчики, которых я знаю, ушли с Eclipse либо в AS, либо в IDEA, что в принципе одно и тоже.
+1
Способ вызова диалога устаревший и, если не ошибаюсь, deprecated. Нужно использовать DialogFragment.
+2
Подборка хорошая для новичка. Руки давно не доходили с работой, но сейчас опять заинтриговало.
-3
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
FAQ по программированию под Android от новичка, и для новичков