Comments 46
Классно, а главное — понятно. Будем учится писать программы под Android.
+4
Android привлекает тем, что несложно начать.
+3
OpenSource же :) Открытый код — бери, кодь :)
-8
>несложно начать
открою вам тайну — это заслуга ЯП (java), а не системы.
открою вам тайну — это заслуга ЯП (java), а не системы.
+1
начать не сложно, сложно закончить
-1
Отличная статья! Давно хотел начать писать под андройдом, но не знал с чего начать!
+2
Рекомендую, кстати, статью с сайта IBM: www.ibm.com/developerworks/ru/library/x-android/
Очень понятное и полезное руководство
Очень понятное и полезное руководство
+2
Со мной связался челове по скайпу и написал такие коментарии.
0
UFO just landed and posted this here
Дмитрий: Хотел посоветовать приписать, что это способ влоб, при разработке серьезных приложений, так делать нельзя.
Для затравки стоит указать направление начинающим чтобы они сразу пошли правильной дорогой
www.youtube.com/watch?v=xHXn3Kg2IQE&playnext_from=TL&videos=SF9H436Fikg
Тут как раз инженер гугла все рассказывает, очень поучительно через час все поймете сами.
— нельзя держать все в памяти, потому что жизненный цикл приложений андроида в любой момент это все похерить, нужно писать в базу, возвращать курсор и строить список при помощи CursorAdapter
— памяти и ресурсов очень мало, поэтому использовать org.w3c.dom.* для разбора XML будет очень дорого, лучше saxparser и сразу в базу без промежуточного сохранения в памяти
title = "\n" + selectedRssItem.getTitle() + " ( "
+ sdf.format(selectedRssItem.getPubDate()) + " )\n\n";
дорогая операция, много мусора от нее остается, лучше использовать StringBuilder для конкантенации строк
— где-то еще видел создание объекта в функции, когда его инициализацию можно вынести в конструктор, но это уже не на столько важно
А так статья просто отличная, на 5 с плюсом, попалась бы она мне раньше, было бы гораздо проще начинать! спасибо.
Для затравки стоит указать направление начинающим чтобы они сразу пошли правильной дорогой
www.youtube.com/watch?v=xHXn3Kg2IQE&playnext_from=TL&videos=SF9H436Fikg
Тут как раз инженер гугла все рассказывает, очень поучительно через час все поймете сами.
— нельзя держать все в памяти, потому что жизненный цикл приложений андроида в любой момент это все похерить, нужно писать в базу, возвращать курсор и строить список при помощи CursorAdapter
— памяти и ресурсов очень мало, поэтому использовать org.w3c.dom.* для разбора XML будет очень дорого, лучше saxparser и сразу в базу без промежуточного сохранения в памяти
title = "\n" + selectedRssItem.getTitle() + " ( "
+ sdf.format(selectedRssItem.getPubDate()) + " )\n\n";
дорогая операция, много мусора от нее остается, лучше использовать StringBuilder для конкантенации строк
— где-то еще видел создание объекта в функции, когда его инициализацию можно вынести в конструктор, но это уже не на столько важно
А так статья просто отличная, на 5 с плюсом, попалась бы она мне раньше, было бы гораздо проще начинать! спасибо.
+6
Дмитрий:
for (int i = 0; i < nodeList.getLength(); i++)
не помню реалищует ли NodeList интерфейс Iterable, если да, то лучше делать такие штуки for (obj1: obj2) (foreach типа), если нет, то результат nodeList.getLength() помещать в локальную переменную перед циклом
developer.android.com/guide/practices/design/performance.html
for (int i = 0; i < nodeList.getLength(); i++)
не помню реалищует ли NodeList интерфейс Iterable, если да, то лучше делать такие штуки for (obj1: obj2) (foreach типа), если нет, то результат nodeList.getLength() помещать в локальную переменную перед циклом
developer.android.com/guide/practices/design/performance.html
0
спасибо
понятно и удобно
понятно и удобно
0
Извините за глупый вопрос, но где дизайн редактируется?
0
Редактора не нашел. Может плохо искал. Все писал руками в layout файлы. Может кто посоветует решения для разработки дизайна.
0
вот здесь
www.droiddraw.org/
www.droiddraw.org/
0
С первого взгляда не заметил ничего что использует возможности 2.2, поэтому target sdk стоит поставить 4, а minimal sdk 3. Это позволит запускать приложение на всех девайсах начиная с Android 1.5 и добавит возможность сделать различный арт для различных разрешений экрана.
+1
Спасибо вам большое, как раз намедни искал нечто подобное!
+1
я бы не рискнул купить телефон с андроидом…
-2
Вы меня, конечно, извините, но даже для начинающих этот обзор имхо не годится — уж больно много тут вещей, которые нужно бы сделать по другому (начиная от minSkd, про который уже сказали и заканчивая SAX/XML PULL вместо DOM)
0
Напишите! А мы почитаем )
+1
Можете прокоментировать подробней? Буду очень признателен.
Пишу следующую статью.
Пишу следующую статью.
0
по андроиду:
minSdk можно (и нужно) ставить 4, а не 8
listView можно использовать через ListActivity
list_item нет смысла делать fill_parent по высоте, насколько я понимаю
ListView не нужно делать wrap_content
все размеры стоит вынести в одно место (или даже скорее проинклюдать вьюшки)
//Bundle extras = getIntent().getExtras(); я так понимаю вы неосилили и поэтому храните текущий Item как статик в главной активити?
по коду:
SimpleDateFormat стоит прокэшировать
код
SimpleDateFormat стоит закэшировать
ps освойте уже, наконец
1) форматирование кода и
2) форматирование XML, оно ведь даже в eclipse работает (плохенько, но хоть как-то)
3) optimize imports
minSdk можно (и нужно) ставить 4, а не 8
listView можно использовать через ListActivity
list_item нет смысла делать fill_parent по высоте, насколько я понимаю
ListView не нужно делать wrap_content
все размеры стоит вынести в одно место (или даже скорее проинклюдать вьюшки)
//Bundle extras = getIntent().getExtras(); я так понимаю вы неосилили и поэтому храните текущий Item как статик в главной активити?
по коду:
SimpleDateFormat стоит прокэшировать
код
ArrayList<RssItem> rssItems = new ArrayList<RssItem>();Блох советует писать как
ArrayList<RssItem> rssItems = new ArrayList<RssItem>();(однако для как минимум android <2.2 ваш способ всё же правильнее с т.з. перфоманса)
SimpleDateFormat стоит закэшировать
ps освойте уже, наконец
1) форматирование кода и
2) форматирование XML, оно ведь даже в eclipse работает (плохенько, но хоть как-то)
3) optimize imports
+2
дальше:
про DOM vs SAX/PULL — ну тут всё понятно
onClickListener у вас синхронный, насколько я вижу, что есть страшное зло
адаптер лучше использовать resourceCursor через провайдер и сервис
интент лучше вызывать явно по имени класса, а не по action'у, я думаю
кастомизировать AVD нет никакого смысла — она по-дефолту вполне себе умеет в интернет ходить
стартует виртуалка на более-менее современных компах всего минуту (первый запуск может чуть подольше — пара минут), приложение деплоится за секунды
ну вот примерный список после прочтения по диагонали — сами видите, что замечаний предостаточно, причём многие я считаю критическими
про DOM vs SAX/PULL — ну тут всё понятно
onClickListener у вас синхронный, насколько я вижу, что есть страшное зло
адаптер лучше использовать resourceCursor через провайдер и сервис
интент лучше вызывать явно по имени класса, а не по action'у, я думаю
кастомизировать AVD нет никакого смысла — она по-дефолту вполне себе умеет в интернет ходить
стартует виртуалка на более-менее современных компах всего минуту (первый запуск может чуть подольше — пара минут), приложение деплоится за секунды
ну вот примерный список после прочтения по диагонали — сами видите, что замечаний предостаточно, причём многие я считаю критическими
0
вот здесь можно создавать интерфейс приложений. просто и наглядно
www.droiddraw.org/
www.droiddraw.org/
0
Было бы просто супер, если описали коротко какие библиотеки для чего.
0
а где реализация ArrayAdapter? он кастомный?
просто сейчас заткнулся именно на этом адаптере. не понятно немного.
просто сейчас заткнулся именно на этом адаптере. не понятно немного.
0
Sign up to leave a comment.
Простой RSS-клиент на Android