Comments 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);
}
});
UFO just landed and posted this here
Опирался на:
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(); закрывает приложение, а не перебрасывает на предыдущую активность.
UFO just landed and posted this here
Но если вызывать метод startActivity и передать туда созданный intent с установленными флагами — откроется новая activity, при этом очистив весь activity stack, это правда. Однако, у вас об этом нигде не сказано.
Опять же, это правда только для API>=11. Да, можно в принципе уже потихоньку на это глаза закрыть, но вот буквально недавно, пытаясь понять, как очистить стек на устройствах с API<11, я не смог найти ответ. Есть вроде как бекпорт (IntentCompat.FLAG_ACTIVITY_CLEAR_TASK), но и он с API 11 o_O
Я думаю, что подразумевалась следующая конструкция:
То есть, создав новую активити, она самостоятельно завершается, таким образом, истории не будет.
Intent intent = new Intent(ActivityCurrent.this, ActivityNext.class);
intent.startActivity(intent);
finish();
То есть, создав новую активити, она самостоятельно завершается, таким образом, истории не будет.
Стек же очищается при использовании Intent, а у вас он просто создан и наполнен необходимыми данными. Это намерение, а намерение должно быть кем-нибудь выполнено.
(edit) опередили меня с ответом.
(edit) опередили меня с ответом.
Как явно программно закрыть приложение при нажатии по кнопке:
finish() не закрывает приложение, данный метод закрывает Activity.
Обработка нажатия кнопки назад (Back Pressed):
И часто Вы вызываете новую Activity при нажатии назад?
Получить строку из ресурсов:
Обращение к ресурсам:
Мне кажется это почти одно и тоже.
Вы написали как о Java, так и о Android, всё вперемешку. Нужно понимать, что нельзя указать все базовые вещи для новичков, что Вы постарались сделать. В итоге, тут и десятой части нет того, что по Android надо для новичков, и сотой, того, что Java.
Некоторые вещи (такие как Task в Android) лучше писать более конкретизировано, либо лучше не писать. Да в принципе относится ко многому.
ИМХО, в такой статье нет необходимости. Лучше написать статью — сборник ссылок по полезным Android вещам на хабре. Раньше такая была (сейчас нет под рукой), но она уже не особо актуальна.
Полностью согласен. ИМХО в таком формате статья не нужна, так как тут по большой части или ссылки на 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 уроки для начала посмотреть. Там все подобные неточности достаточно объёмно объяснены.
Много спорных момент с учётом того, что это для новичков статья.
Например:
Новичок сразу закричит: «Что за
За статью спасибо, но, всё же, подобные вопросы гуглятся обычно по необходимости и находятся ответы довольно быстро, посему не вижу целесообразности в подобной статье =/
Например:
Обращение к ресурсам: getResources().getColor(R.color.errorColor)
Новичок сразу закричит: «Что за
getResources()
? У меня нет такого метода». Ибо нужен контекст. В Activity отработает, во фрагменте доступ через getActivity()
и т.п.За статью спасибо, но, всё же, подобные вопросы гуглятся обычно по необходимости и находятся ответы довольно быстро, посему не вижу целесообразности в подобной статье =/
Ребят, это бесполезно пытаться что-то выучить по таким FAQам, у вас наверняка этот список вопросов возник в ходе чего-то. Лучший способ — придумать идею для приложения, пусть несложного, и реализовать. И возникнувшие вопросы из серии «жизненного цикла» или «как заставить вибрировать», которые появятся, решать.
Есть такой сайт — startandroid.ru. В нём сейчас множество уроков, которые будут полезны для новичков. Год назад появился видеоканал — Start Android, который возглавил другой человек, с разрешения админа сайта. В данный момент, я с создателем видеоканала, продумываем разработку мобильного приложения для данного сайта и видеоканала. В планах сделать:
— просмотр уроков
— просмотр видеоуроков, как и их скачивание
— тесты уроков
— навигация по наиболее частым вопросам
Если у кого есть вопросы и предложения — пишите либо мне, либо автору видео уроков (Виталий Непочатов).
— просмотр уроков
— просмотр видеоуроков, как и их скачивание
— тесты уроков
— навигация по наиболее частым вопросам
Если у кого есть вопросы и предложения — пишите либо мне, либо автору видео уроков (Виталий Непочатов).
Eclipse мастдай. Сейчас либо AS, либо IDEA 13 (платная, либо бесплатная). Хотя eclipse немного жалко…
Eclipse всё ещё нужен, например для создания плагинов для unity3d.
Тут речь о том, что авторы видео-уроков не заморачиваются с объяснением как настроить другую IDE для учебы по их урокам. А для таких опытных людей я думаю это не слишком трудно.
Начал с уроков по Java на hexlet.org, поставил и настроил IDEA.
Потом начал смотреть там же, уроки по программированию для андройд, уже настраивают Eclipse.
startandroid.ru вроде то же на Eclipse начинают уроки а заканчивают уже на AS.
И я как средний пользователь этих уроков вынужден ставить по очереди то одно, то другое, то третье, так как боюсь что из-за разницы в IDE и подключенных «модулей» у меня будут проблемы с воспроизведением материала.
Начал с уроков по Java на hexlet.org, поставил и настроил IDEA.
Потом начал смотреть там же, уроки по программированию для андройд, уже настраивают Eclipse.
startandroid.ru вроде то же на Eclipse начинают уроки а заканчивают уже на AS.
И я как средний пользователь этих уроков вынужден ставить по очереди то одно, то другое, то третье, так как боюсь что из-за разницы в IDE и подключенных «модулей» у меня будут проблемы с воспроизведением материала.
А почему
А то я больше по .NET-у загоняюсь и может что-то упустил.
Eclipse мастдай. Сейчас либо AS, либо IDEA 13?
А то я больше по .NET-у загоняюсь и может что-то упустил.
Довольно много багов, связанных с Eclipse. Особенно дело касается случая, когда приходится обновить Android Development Tools. Это похоже на танцы с бубном, когда что-то кого-то не находит и ты идешь гуглить. AS тут выглядит лучше, при этом она еще в beta версии.
Неявный плюс, но всё же — рендеринг в Eclipse хуже, чем той же AS.
Опять же, это моё сугубое ИМХО, но все разработчики, которых я знаю, ушли с Eclipse либо в AS, либо в IDEA, что в принципе одно и тоже.
Неявный плюс, но всё же — рендеринг в Eclipse хуже, чем той же AS.
Опять же, это моё сугубое ИМХО, но все разработчики, которых я знаю, ушли с Eclipse либо в AS, либо в IDEA, что в принципе одно и тоже.
Способ вызова диалога устаревший и, если не ошибаюсь, deprecated. Нужно использовать DialogFragment.
Подборка хорошая для новичка. Руки давно не доходили с работой, но сейчас опять заинтриговало.
UFO just landed and posted this here
Sign up to leave a comment.
FAQ по программированию под Android от новичка, и для новичков