Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

artem

Почти не начинающий програмист
  • 2
    вклад
  • 51
    вопрос
  • 6
    ответов
  • 67%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • AlertDialog устарел?

    zagayevskiy
    Денис Загаевский @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Да, устарел, и давно. Используй DialogFrament.
    Ответ написан вчера
    6 комментариев
    Нравится 1 6 комментариев
  • Нормально забывать технологии, когда перестаешь их использовать?

    Jump
    АртемЪ @Jump
    Системный администратор со стажем.
    Конечно нормально.
    Мозг человека так устроен что ненужная информация задвигается на второй план.
    Например я уж подзабыл cинтаксис и основные конструкции Perl.
    Если поднапрячься вспоминаются, но надо напрягаться. А все потому что сейчас в большинстве задач использую пайтон.
    Ответ написан 11 апр.
    Комментировать
    Нравится 1 Комментировать
  • Нормально забывать технологии, когда перестаешь их использовать?

    sergiks
    Сергей Соколов @sergiks
    ♬♬
    Нормально: в кэше лежит только то, к чему частые обращения )

    К тому же технологии не стоят на месте и лучше лишний раз заглянуть в документацию, чтобы узнать о новой версии API или о необязательных параметрах, которые в этот раз окажутся полезными.
    Ответ написан 11 апр.
    Комментировать
    Нравится 3 Комментировать
  • Нормально забывать технологии, когда перестаешь их использовать?

    zexer @zexer
    Пример.
    Человек может уметь ходить 50 лет, однако если он пролежит на кровати без движения хотя бы месяц, ему придется практически заново учиться ходить (пока мышцы не восстановятся).
    В случае программирования считайте происходит тот же самый процесс. И здесь не нужно зацикливаться на 3 или 4 раз написания одной и той же фичи. Даже если вы сделаете 100 раз одно и то же, после долгого перерыва вы все равно можете забыть какие-то детали. Это абсолютно нормально, так работает память человека. То, что вы не используете - медленно, но верно выпадает из памяти.
    Ответ написан 11 апр.
    Комментировать
    Нравится 2 Комментировать
  • Нормально забывать технологии, когда перестаешь их использовать?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev
    Седой и строгий
    Лично у меня забывается то, что я не использую каждый день, но чем больше я использовал это раньше, тем быстрее оно вспоминается. И в любом случае единожды понятное вспоминается сильно быстрее изучения заново.
    Ответ написан 11 апр.
    Комментировать
    Нравится 6 Комментировать
  • Как связать вкладку избранное и основное?

    zagayevskiy
    Денис Загаевский @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Ну очевидно, должен быть репозиторий, который торчит наружу стримами списков. Когда бд внутри обновляется, в стрим должны прилетать новые данные.
    PS стрим это в терминах Rx Observable. Если не используешь Rx, используй альтернативы, например listener самое простое. В корутинах flow.
    Ответ написан 04 апр.
    3 комментария
    Нравится 1 3 комментария
  • Нужен ли универсальный Adapter для RecyclerView?

    zagayevskiy
    Денис Загаевский @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Есть такая либа AdapterDelegates. Рекомендую использовать её. Будет универсальный адаптер, и возможность переиспользовать элементы на разных экранах.
    Ответ написан 23 мар.
    Комментировать
    Нравится 1 Комментировать
  • Прокрастинация, проблемы языка или я не программист?

    glaphire
    Daria Motorina @glaphire
    PHP developer
    Думаю что такой юный возраст и интерес к разным технологиям это отличная возможность накопить знания вширь, а потом накапливать внутрь. Мне самой многие вещи в разработке стали интересны после института, а не до)
    Есть ребята, которым нравится сразу идти вглубь по всем канонам отрасли, но это не гарантия успешной карьеры и счастливой жизни, как может казаться на первый взгляд
    Ответ написан 03 сент. 2020
    Комментировать
    Нравится 1 Комментировать
  • Плохо ли то, что я перепрыгиваю с направлений?

    saboteur_kiev
    Saboteur @saboteur_kiev Куратор тега IT-образование
    software engineer
    Стоит ли так резко перепрыгивать с разных направлений и языков

    Так ты же ничего не изучил, что значит перепрыгивать?
    Или ты считаешь, что если ты почитал про основы, то ты уже что-то изучил?

    Где реализованные проекты, которые не стыдно показать?
    Ответ написан 16 мар.
    Комментировать
    Нравится 2 Комментировать
  • Плохо ли то, что я перепрыгиваю с направлений?

    Василий Банников @vabka
    Токсичный
    Стоит ли так резко перепрыгивать с разных направлений и языков(я уже в сторону реакта начал засматриваться)? Или нужно выбрать один и развиваться с ним до вуза, а там будет понятней?

    Вы же учитесь и выбираете, что вам больше по душе - ничего плохого в этом нет.

    Сам так развивался - перетекал с плюсов на питон, а потом с питона на C#. Сейчас вот в дополнение к C# изучаю фронтенд и играюсь с питоном (опять).

    Главное, чтобы в итоге у вас был какой-то ключевой навык - лучше хорошо знать один язык, чем писать hello world на всех языках.
    Ответ написан 15 мар.
    Комментировать
    Нравится 1 Комментировать
  • Плохо ли то, что я перепрыгиваю с направлений?

    FasterTans @FasterTans
    Сначала надо определитья какое вы хотите направление, веб, десктоп, бекенд и тд, далее от этого смотрите языки.
    НАпример, вы понимаете что хотите развиваться в веб, берете условный python, php, nodejs, golang и на каждый язык тратите по недельке изучаете, по туториалам делаете условный todolist, после этого у вас будет представление о языке и будете понимать что вам ближе, типизации, семантика и тд.
    Ткнуть сейчас пальцем в небо, выбрав что-то одно и потом плеваться всю жизнь, смысла мало.
    В итоге вы месяц попрыгаете, выберете то что больше нравится и будете развиваться в этом направлении.
    Ответ написан 15 мар.
    Комментировать
    Нравится 1 Комментировать
  • Плохо ли то, что я перепрыгиваю с направлений?

    IonDen
    Денис Инешин @IonDen
    JavaScript developer. IonDen.com
    Обычное юношеское метание. Ничего плохого в этом нет.

    Теперь пора обрести следующий навык - усидчивость. Для этого возьмите тот технологический стек что вы изучаете сейчас (или какой вам больше нравится) и напишите на нем большой проект. Это может быть open-source библиотека, app в гугл. сторе или что-то еще.

    Чистое программирование в отрыве от реальных задач представлят разве что спортивный интерес. А вы ведь хотите получить какую-то профессию правильно?
    Ответ написан 15 мар.
    Комментировать
    Нравится 5 Комментировать
  • Есть шансы стать андроид разработчиком на фрилансе?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev
    Седой и строгий
    Спрос на android-разработчиков на фрилансе есть, но на тех, которые успели в офисе дорасти хотя бы до мидла. Без реального производственного опыта шансы на фрилансерский успех исчезающе малы.
    Ответ написан 09 мар.
    Комментировать
    Нравится 1 Комментировать
  • Есть шансы стать андроид разработчиком на фрилансе?

    opium
    Пума Тайланд @opium
    Просто люблю качественно работать
    Да просто идете на фриланс и все, если работа спорится все выучится в процессе
    Ну и надо все таки разместить свои приложения в плеймаркете
    Ответ написан 09 мар.
    6 комментариев
    Нравится 1 6 комментариев
  • Как скопировать данные из базы данных( из старой в новую) при обновлении приложения?

    GavriKos
    GavriKos @GavriKos
    При обновлении приложения все данные сохраняются
    А при переустановке - происходит же сначала удаление. И ничего не остается. Вариант для переустановки - хранить данные не локально, а на сервере
    Ответ написан 27 февр.
    3 комментария
    Нравится 1 3 комментария
  • Как дезактивировать кнопку?

    Олег @402d
    начинал с бейсика на УКНЦ в 1988
    Thread.sleep(600); - на UI потоке нельзя.

    возьми за основу пример single click
    https://stackoverflow.com/questions/5608720/androi...

    А лучше это сделать через timerTask
    developer.alexanderklimov.ru/android/java/timer.php
    Ответ написан 24 янв.
    Комментировать
    Нравится 1 Комментировать
  • Как создать таймер по окончанию которого жизни восстанавливаются?

    zagayevskiy
    Денис Загаевский @zagayevskiy Куратор тега Android
    Android developer at Yandex
    В момент, когда должен начаться отсчёт, сохрани в персистентное хранилище текущее время, а также произвольным образом начни отсчёт (например postDelayed, или Observable::interval). На очередном шаге отсчёта считай, сколько времени прошло между сохраненным тобой и текущим моментом. Останавливай отсчёт при остановке приложения(например в Activity::onStop, Fragment:: onDestroyView, etc).
    При восстановлении состояния просто считай, сколько прошло времени, и, либо начинай отсчёт снова, либо делай что должно быть после отсчёта.
    Как-то так. Конечно, всё это красиво надо инкапсулировать,тут просто основная идея.
    Ответ написан 29 янв.
    Комментировать
    Нравится 1 Комментировать
  • Как сделать такой же navbar, как у Telegram или Google Play?

    samodum
    Developer @samodum
    Какой вопрос - такой и ответ
    Раз
    https://developer.android.com/guide/navigation/nav...
    два, на русском
    developer.alexanderklimov.ru/android/navigation_dr...
    Ответ написан 21 янв.
    Комментировать
    Нравится 1 Комментировать
  • Прокрастинация, проблемы языка или я не программист?

    Егор Артемов @SourYogurt
    Инженер-программист
    Не запаривайся. То что ты пробуешь что-то и тебе это интересно или не интересно это совершенно нормально. Главное что ты интересуешься, проявляешь любопытство, пробуешь. Обычные и успешные программисты — они не задроты, а просто увлечённые люди. Они также пробовали что-то, было интересно, что-то скучно и не интересно, а что-то прям заинтересовало и они продолжили развиватьcя в этом направлении. Не потому, что кажется что так надо, что надо уделять этому столько-то часов, или потому что это "престижная профессия", или ещё почему, а просто потому что, вдруг, стало "интересно". Вот и всё. Вот и не запаривайся!:) Ты ведь ни кому не обязан? Ведь так?
    Книг на русском, на самом деле, не так уж и много хороших, к сожалению (я программист-читатель уже 17 лет), ориентированных на новичков и при этом интересных, чтоб их прочитать до конца.
    Просто продолжай проявлять любопытство и что-нибудь почитывать. Без напрягов. Кто знает, может ты прочитаешь статью из хакера про эксплоиты, и будешь писать на ассемблере или станешь ИБ специалистом. А может, прочтешь статью на Хабре про веб-сокетс и golang, и станешь golang программистом. ХЗ ведь? И на самом деле с другими программистами так и происходит. Главное — не запаривайся! Любопытство, без напрягов и всё! :)

    Кароче, иди туда, куда ведёт тебя твоё любопытство и не парься. Ты на верном пути! ;)
    Ответ написан 27 авг. 2020
    Комментировать
    Нравится 3 Комментировать
  • Как сделать два события на одну кнопку?

    VYakushev
    Владимир Якушев @VYakushev
    Разработчик Android в Nowtaxi
    public class Main extends Activity {
    	private ImageView image;
    	private Button button;	
    	private Animation anim1;
    	private Animation anim2;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);		
    
    		image = (ImageView)findViewById(R.id.images);
    		button = (Button)findViewById(R.id.button);	
    
    		// получаем обе анимации		
    		anim1 = AnimationUtils.loadAnimation(this, R.anim.anim1);
    		anim2 = AnimationUtils.loadAnimation(this, R.anim.anim2);
    
    		// устанавливаем первый обработчик      
    		button.setOnClickListener(firstButtonListener);
    
    		// запускаем первую анимацию
    		image.startAnimation(anim1);
    	}
    
    	@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;
    	}
    
    	View.OnClickListener firstButtonListener = new View.OnClickListener() {
    		@Override           
    		public void onClick(View v) {
    			// запускаем вторую анимацию
    			image.startAnimation(anim2);
    			// меняем обработчик нажатия кнопки на второй
    			button.setOnClickListener(secondButtonListener);
    		}
    	}
    
    	View.OnClickListener secondButtonListener = new View.OnClickListener() {
    		@Override           
    		public void onClick(View v) {
    			// запускаем первую анимацию
    			image.startAnimation(anim1);
    			// возвращаем первый обработчик нажатия кнопки
    			button.setOnClickListener(firstButtonListener);
    		}
    	}    
    }
    Ответ написан более трёх лет назад
    3 комментария
    Нравится 2 3 комментария
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • Следующие →
Самые активные сегодня
  • hottabxp
    Сергей Карбивничий
    • 9 ответов
    • 0 вопросов
  • cicatrix
    • 9 ответов
    • 0 вопросов
  • Василий Банников
    • 9 ответов
    • 0 вопросов
  • approximate_solution
    approximate solution
    • 7 ответов
    • 0 вопросов
  • 0xD34F
    0xD34F
    • 7 ответов
    • 0 вопросов
  • saboteur_kiev
    Saboteur
    • 6 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации