Нужен совет начинающему: программирование под Android
От: ali2  
Дата: 26.12.21 20:01
Оценка:
Здравствуйте,

мне нужно написать программу для телефона — вывод информации на карту (объектов из списка).
Последний раз программировал лет 5 назад на С++ под Windows, VBA, совсем давно — Pascal. Java на знаю.

Что мне понадобится, какие темы надо изучить? На данный момент — полный ноль, но готов читать всё, что потребуется.
Буду благодарен за любой совет.

Александр
android maps
Re: Нужен совет начинающему: программирование под Android
От: vsb Казахстан  
Дата: 26.12.21 20:17
Оценка:
Здравствуйте, ali2, Вы писали:

A>мне нужно написать программу для телефона — вывод информации на карту (объектов из списка).


Про постановку поподробней бы, пока ничего не понятно.

A>Последний раз программировал лет 5 назад на С++ под Windows, VBA, совсем давно — Pascal. Java на знаю.


Если С++ знали на нормальном уровне, Java выучите в два счёта, она в сто раз проще.

A>Что мне понадобится, какие темы надо изучить?


1. Сам язык Java на базовом уровне. Версия — Java 8, выше вам не нужно. Можно даже Java 7. Если будете изучать отдельно от Android, посоветую использовать Intellij Idea Community Edition, она сама по себе окажет большую помощь в изучении с помощью подсказок и прочего.

2. Инструментарий для, собственно, написания приложений под Android. Это Android Studio, Gradle, Android Emulator (можно заменить реальным устройством, в некоторых случаях нужно). Gradle штука сложная, сильно не углубляйтесь, на поверхностном уровне знаний для простого проекта должно хватить. Android Studio это Intellij Idea с плагином Android.

A>На данный момент — полный ноль, но готов читать всё, что потребуется.


Я бы советовал меньше читать, а больше пробовать. Информации по андроиду в интернете очень много и на любую вашу непонятную ситуацию кто-то уже кому-то ответил и помог, гугл вам в помощь. Потратьте некоторое количество времени на ознакомление с основами Java и начинайте пробовать писать свой код уже в Android.

На этом форуме, возможно, стоит писать в https://rsdn.org/forum/pda

И ещё посоветую не увлекаться библиотеками и фреймворками, потом концов не соберёте. Совсем без библиотек не выйдет, support library нынче официальная, но всякими там dagger и тд лучше не увлекайтесь, для простого приложения оно не нужно, тем более, если вам надо просто написать и забыть.
Отредактировано 26.12.2021 20:18 vsb . Предыдущая версия .
Re[2]: Нужен совет начинающему: программирование под Android
От: ali2  
Дата: 30.12.21 13:34
Оценка:
Здравствуйте, vsb, большое спасибо за указания.

A>>мне нужно написать программу для телефона — вывод информации на карту (объектов из списка).

vsb>Про постановку поподробней бы, пока ничего не понятно.

Постановка (на данный момент): взять список объектов с некоторого сайта с их координатами (подробностей пока сам не знаю), а потом плюхнуть их на свою карту. Подсвечивать объекты в радиусе от заданной точки, новые появившиеся или исчезнувшие из предыдущего списка.

Даже в этом куске мне надо понять/изучить — что значит "взять список объектов с сайта", что значит вывести на карту (т.е. откуда брать карту, чем с ней работать — видимо, есть какие-то библиотеки, краем глаза видел названия Mapbox и LeafLet, пока ничего про них не знаю — буду читать).

A>>Что мне понадобится, какие темы надо изучить?

vsb>1. Сам язык Java на базовом уровне.
vsb>2. Инструментарий <...> Это Android Studio

Установил Android Studio, решил начать с чтения и экспериментов из guide на их сайте (https://developer.android.com/training/basics/firstapp) — просто как писать приложения, выводить на экран, записывать это приложение на телефон — в общем, всё то, что составляет нулевой уровень.

vsb>На этом форуме, возможно, стоит писать в https://rsdn.org/forum/pda

А почему эта ветка не подходит, если пиcать буду на Java?

vsb>И ещё посоветую не увлекаться библиотеками и фреймворками, потом концов не соберёте. Совсем без библиотек не выйдет, support library нынче официальная, но всякими там dagger и тд лучше не увлекайтесь


Этот кусок не ясен — видимо, недостаток знаний мешает. Если нужна программа, что ищешь то, что для неё надо (работу с картами, например, как я понимаю). Если другой надобности нет, то и увлекаться вроде как нечем. Названия "support library", "dagger" мне сейчас ничего не говорят.

Ещё раз спасибо за помощь, а то я поначалу посмотрел, что на сайте новый вопрос появляется раз в 1-2 недели, и подумал, что тут мало кто живёт
(когда программировал на С++ Builder, то на их форуме в хорошие времена было по сотне вопросов в день)
Re[3]: Нужен совет начинающему: программирование под Android
От: vsb Казахстан  
Дата: 30.12.21 13:58
Оценка:
Здравствуйте, ali2, Вы писали:

A>Постановка (на данный момент): взять список объектов с некоторого сайта с их координатами (подробностей пока сам не знаю), а потом плюхнуть их на свою карту. Подсвечивать объекты в радиусе от заданной точки, новые появившиеся или исчезнувшие из предыдущего списка.


A>Даже в этом куске мне надо понять/изучить — что значит "взять список объектов с сайта"


Ну видимо сделать HTTP-запрос по какому-то адресу, получить ответ и распарсить его. Если ответ в виде JSON/XML, то распарсить будет легко. Если произвольный HTML, то посложней.

> что значит вывести на карту (т.е. откуда брать карту, чем с ней работать — видимо, есть какие-то библиотеки, краем глаза видел названия Mapbox и LeafLet, пока ничего про них не знаю — буду читать).


Ну я работал с Google Maps и с Yandex Maps. У них есть SDK (google maps android sdk), его прописываешь в зависимости, на сайте регистрируешься, получаешь ключ для своего приложения, указываешь в настройках. на форму кладёшь соответсвующий компонент и оно всё волшебным образом работает. Через нужыне методы добавляешь объекты на карту. В целом задача не особо сложная.

vsb>>На этом форуме, возможно, стоит писать в https://rsdn.org/forum/pda

A>А почему эта ветка не подходит, если пиcать буду на Java?

Ну я не знаю, предполагаю, что те, кто на андроиде пишут, больше там бывают, хотя может ошибаюсь. Мне лично без разницы.

vsb>>И ещё посоветую не увлекаться библиотеками и фреймворками, потом концов не соберёте. Совсем без библиотек не выйдет, support library нынче официальная, но всякими там dagger и тд лучше не увлекайтесь


A>Этот кусок не ясен — видимо, недостаток знаний мешает. Если нужна программа, что ищешь то, что для неё надо (работу с картами, например, как я понимаю). Если другой надобности нет, то и увлекаться вроде как нечем.


Не, библиотека для работы с картами это, конечно, надо.

> Названия "support library", "dagger" мне сейчас ничего не говорят.


Dagger это библиотека для управления зависимостями, Support Library это официальная библиотека от гугла, для обеспечения обратной совместимости (т.е. чтобы код, написанный для Android 12, работал на Android 4).

В целом если ничего не говорят, то пропускайте мимо ушей этот совет.

A>Ещё раз спасибо за помощь, а то я поначалу посмотрел, что на сайте новый вопрос появляется раз в 1-2 недели, и подумал, что тут мало кто живёт


Да на этом форуме в принципе мало людей осталось. Если ответа не получите, лучше на stackoverflow спрашивать.
Re[4]: Нужен совет начинающему: программирование под Android
От: ali2  
Дата: 30.12.21 14:30
Оценка:
Здравствуйте, vsb, Вы писали:


A>>Даже в этом куске мне надо понять/изучить — что значит "взять список объектов с сайта"


vsb>Ну видимо сделать HTTP-запрос по какому-то адресу, получить ответ и распарсить его. Если ответ в виде JSON/XML, то распарсить будет легко. Если произвольный HTML, то посложней.

Так, увидел новые термины для изучения: HTTP-запрос, JSON/XML, произвольный HTML. Прибавляю к списку
По сути дела, из вашего абзаца понял только слово "распарсить". С остальным буду разбираться.


>> что значит вывести на карту (т.е. откуда брать карту, чем с ней работать — видимо, есть какие-то библиотеки, краем глаза видел названия Mapbox и LeafLet


vsb>Ну я работал с Google Maps и с Yandex Maps. У них есть SDK (google maps android sdk), его прописываешь в зависимости, на сайте регистрируешься, получаешь ключ для своего приложения, указываешь в настройках. на форму кладёшь соответсвующий компонент и оно всё волшебным образом работает. Через нужыне методы добавляешь объекты на карту. В целом задача не особо сложная.


Правильно ли я понял, что при работе с Google Maps sdk и с Yandex Maps другие библиотеки не нужны (вроде Mapbox)? Они платные (sdk google, yandex)? Что из них лучше (если знаешь одно, то зачем другое)?
Звуки "его прописываешь в зависимости" мне неясны, но, наверное, в каком-нибудь help-e прочту.

vsb>Да на этом форуме в принципе мало людей осталось. Если ответа не получите, лучше на stackoverflow спрашивать.


Это я понял. Но тогда Google maps предпочтительней?
Re[5]: Нужен совет начинающему: программирование под Android
От: vsb Казахстан  
Дата: 30.12.21 15:59
Оценка:
Здравствуйте, ali2, Вы писали:

vsb>>Ну я работал с Google Maps и с Yandex Maps. У них есть SDK (google maps android sdk), его прописываешь в зависимости, на сайте регистрируешься, получаешь ключ для своего приложения, указываешь в настройках. на форму кладёшь соответсвующий компонент и оно всё волшебным образом работает. Через нужыне методы добавляешь объекты на карту. В целом задача не особо сложная.


A>Правильно ли я понял, что при работе с Google Maps sdk и с Yandex Maps другие библиотеки не нужны (вроде Mapbox)?


Нет, не нужны.

> Они платные (sdk google, yandex)?


До определённых лимитов бесплатные. Если у вас будет не слишком много пользователей, проблем не будет.

Есть OpenStreetMaps. По ним не подскажу, не пользовался. Но по идее они бесплатные.

> Что из них лучше (если знаешь одно, то зачем другое)?


Ну что лучше в той местности. В Казахстане, например, яндекс-карты сильно лучше гугловых, данных гораздо больше. В Европе, очевидно, наоборот будет.

A>Это я понял. Но тогда Google maps предпочтительней?


В среднем по миру, думаю, да.
Отредактировано 30.12.2021 16:00 vsb . Предыдущая версия .
Re: Нужен совет начинающему: программирование под Android
От: Glaurung Германия  
Дата: 05.01.22 08:27
Оценка:
Здравствуйте, ali2, Вы писали:

A>Здравствуйте,


A>Что мне понадобится, какие темы надо изучить? На данный момент — полный ноль, но готов читать всё, что потребуется.

A>Буду благодарен за любой совет.

A>Александр


Добрый день,

Я бы посоветовал пройти короткий видеокурс (3-5 часов макс) на тему разработки под андроид. Чтобы там просто по шагам разрабатывали готовое приложение, и был бы доступен код в гитхабе. Основная цель — научиться пользоваться инструментами, отлаживать, "деплоить" код в телефон.

"Учить" java не надо, лучше решите простую задачу с заранее известным алгоритмом, например напишите консольное приложение, которое:
Телефонная книжка, консольное приложение, хранит абонентов в файле на диске. Можно добавлять, удалять, просматривать абонентов.
Если вы "С++ под Windows", то java для вас будет одним праздником.

Удачи!
Re: Нужен совет начинающему: программирование под Android
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 05.01.22 09:07
Оценка: -1
Здравствуйте, ali2, Вы писали:

A>Последний раз программировал лет 5 назад на С++ под Windows, VBA, совсем давно — Pascal. Java на знаю.


Можно создавать приложения для Android на Qt5 на чистом C++ без QML и прочего. Нужно поставить Qt5 SDK (я предпочитаю 5.9.9) и Android Studio, на последней выкачать Android NDK. Дальше там будет одно и тоже приложение после компиляции будет запускаться на смартфоне под Android и на amd64 на десктопе.

Устаревший урок ниже, хотя сейчас всё проще в связке Qt5 с Android Studio, потыкать пару кнопок. Программировать в Qt Creator из состава Qt5.
https://www.youtube.com/watch?v=ltZ01zZF9o4
Re[2]: Нужен совет начинающему: программирование под Android
От: ali2  
Дата: 05.01.22 12:55
Оценка:
Здравствуйте, Glaurung, Вы писали:

G>Я бы посоветовал пройти короткий видеокурс (3-5 часов макс) <...> и был бы доступен код в гитхабе.

Есть ли какая-то проверенная ссылка? Попробовал первые несколько попавшихся — неудачно (староватые).

Про гитхаб — просто слышал название. Что посоветуете почитать? Зашёл на их сайт — с ходу не понимаю, что и как. Или если кто-то говорит о проекте на гитхабе, то просто даст ссылку, и ничего больше знать не надо будет?
Re[2]: Нужен совет начинающему: программирование под Android
От: ali2  
Дата: 05.01.22 13:02
Оценка:
Здравствуйте, velkin, Вы писали:

V>Можно создавать приложения для Android на Qt5 на чистом C++ без QML и прочего.


Решил пока связываться только с Android Studio. Java выучу. Всё равно надо научиться нажимать по минимуму на кнопки в Studio, a дополнительная прокладка с Qt немного смущает — посмотрел видео по вашей ссылке — сейчас не мой уровень (не понял практически ничего)
Re: Нужен совет начинающему: программирование под Android
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 05.01.22 14:13
Оценка:
Здравствуйте, ali2, Вы писали:

A>мне нужно написать программу для телефона — вывод информации на карту (объектов из списка).

A>Последний раз программировал лет 5 назад на С++ под Windows, VBA, совсем давно — Pascal. Java на знаю.

A>Что мне понадобится, какие темы надо изучить? На данный момент — полный ноль, но готов читать всё, что потребуется.

A>Буду благодарен за любой совет.

Лучше не связывайся
Я так понимаю, это разовая необходимость, и дальнейшей карьеры на в Андроид-программировании, ни даже в джава — не планируется?
Мобильная разработка вообще — такое себе, на ней имхо не особо денег можно поднять.

Проще заказать тому, кто умеет, чем изучать самому. Потратишь кучу времени, и на выходе либо будет ничего, либо какое-то Г.

Если приспичило самому таки — я бы посмотрел в сторону чего-то типа Electron — я хз, есть ли он на андроиде, но теоретически должен быть. На нём будешь писать почти как обычный сайт, можно яндекс карты или гугл карты в пять минут прикрутить, и рисовать на них свое. За несколько вечеров имхо можно управиться
Маньяк Робокряк колесит по городу
Re[2]: Нужен совет начинающему: программирование под Android
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 05.01.22 14:15
Оценка:
Здравствуйте, Glaurung, Вы писали:

G>Если вы "С++ под Windows", то java для вас будет одним праздником.


Как плюсовик, нюхавший эту вашу джаву — я категорически не согласен
Маньяк Робокряк колесит по городу
Re[2]: Нужен совет начинающему: программирование под Android
От: ali2  
Дата: 05.01.22 14:22
Оценка:
Здравствуйте, Marty, Вы писали:


M>Лучше не связывайся

M>Я так понимаю, это разовая необходимость, и дальнейшей карьеры на в Андроид-программировании, ни даже в джава — не планируется?

О карьере речь не идёт
Просто интересно.

M>Проще заказать тому, кто умеет, чем изучать самому. Потратишь кучу времени, и на выходе либо будет ничего, либо какое-то Г.


Этот совет спорный — так можно сказать любому начинающему
Конечно, время надо потратить (как в любом деле). Ну, и в начале может быть Г. Ну и что?
Re: Нужен совет начинающему: программирование под Android
От: Worminator X Россия #StandWithPalestine 🖤🤍💚
Дата: 18.04.22 07:23
Оценка:
Здравствуйте, ali2, Вы писали:

A>Здравствуйте,


A>мне нужно написать программу для телефона — вывод информации на карту (объектов из списка).

A>Последний раз программировал лет 5 назад на С++ под Windows, VBA, совсем давно — Pascal. Java на знаю.

И С++, и Pascal (Delphi и Lazarus) позволяют создавать приложения для Андроида без каких-либо сложностей (например, для игр можно использовать SDL).
Java и Kotlin обычно используют для приложений со сложным GUI и/или взаимодействующих с сервером по REST.
Хотя во 2-м случае можно попытаться найти библиотеки C++ для работы с REST и JSON (у Delphi такие есть), либо взаимодействовать через сокеты.
Как запру я тебя за железный замок, за дубовую дверь окованную,
Чтоб свету божьего ты не видела, мое имя честное не порочила…
М. Лермонтов. Песня про царя Ивана Васильевича, молодого опричника и удалого купца Калашникова
Re[2]: Нужен совет начинающему: программирование под Android
От: ali2  
Дата: 18.04.22 07:47
Оценка:
Здравствуйте, Worminator X, Вы писали:

WX>И С++, и Pascal (Delphi и Lazarus) позволяют создавать приложения для Андроида без каких-либо сложностей

Почитал и решил учить Kotlin.

WX>Java и Kotlin обычно используют для приложений со сложным GUI и/или взаимодействующих с сервером по REST.

Что значит "сложное GUI"? Если работать с картой с помощью какой-то библиотеки — это сложное?
Если я собираюсь писать программу под Android, должен ли я понимать, что такое REST? Из википедии не особо понятно.
Re[3]: Нужен совет начинающему: программирование под Android
От: kov_serg Россия  
Дата: 18.04.22 08:13
Оценка: 3 (1) +1
Здравствуйте, ali2, Вы писали:

WX>>Java и Kotlin обычно используют для приложений со сложным GUI и/или взаимодействующих с сервером по REST.

A>Что значит "сложное GUI"? Если работать с картой с помощью какой-то библиотеки — это сложное?
A>Если я собираюсь писать программу под Android, должен ли я понимать, что такое REST? Из википедии не особо понятно.

Начинайте сразу с примера
https://developers.google.com/maps/documentation/android-sdk/map-with-marker?hl=ru
Re[2]: Нужен совет начинающему: программирование под Android
От: nrwl  
Дата: 18.04.22 12:38
Оценка:
Здравствуйте, Worminator X, Вы писали:

A>>Последний раз программировал лет 5 назад на С++ под Windows, VBA, совсем давно — Pascal. Java на знаю.


WX>И С++, и Pascal (Delphi и Lazarus) позволяют создавать приложения для Андроида без каких-либо сложностей (например, для игр можно использовать SDL).


По-моему, С++ и Pascal здесь использовать — так себе идея, особенно если еще пытаться прикрутить GoogleMap.
Взять Android Studio, Kotlin / Java, Retrofit (если нормальный REST) — и вперед.
Re[3]: Нужен совет начинающему: программирование под Android
От: paradok  
Дата: 18.04.22 12:40
Оценка:
Здравствуйте, ali2, Вы писали:

A>(когда программировал на С++ Builder,


Он как и дельфи может одним щелком мыши все сделать для Андроид
Прогай на нем для десктоп как ты умеешь, потом экспортнешь как Андроид приложение.
(все что надо для этого сразу идет внутри инстала из коробки, думать не надо, ничего настраивать не надо, все работает сразу, просто подключаешь свой Андроид к компу и опаньки, твоя прилада уже там)
Проверено лично, все работает, выложил в плэй маркет — все Ок.
Оно может и для iOS
Отредактировано 18.04.2022 12:45 paradok . Предыдущая версия .
Re[3]: Нужен совет начинающему: программирование под Android
От: vsb Казахстан  
Дата: 18.04.22 12:55
Оценка:
Здравствуйте, ali2, Вы писали:

WX>>И С++, и Pascal (Delphi и Lazarus) позволяют создавать приложения для Андроида без каких-либо сложностей

A>Почитал и решил учить Kotlin.

WX>>Java и Kotlin обычно используют для приложений со сложным GUI и/или взаимодействующих с сервером по REST.

A>Что значит "сложное GUI"? Если работать с картой с помощью какой-то библиотеки — это сложное?

С картами работают через официальный sdk от гугла/яндекса. Без sdk можно попробовать показывать карту в webview и работать с JS SDK. Это будет менее производительно, менее удобно и, возможно, будут ещё какие-нибудь проблемы. В целом лучше всего использовать Java/Kotlin для такой задачи.

A>Если я собираюсь писать программу под Android, должен ли я понимать, что такое REST? Из википедии не особо понятно.


Разберётесь по ходу дела, не заостряйте на этом внимание.
Re[3]: Нужен совет начинающему: программирование под Android
От: Worminator X Россия #StandWithPalestine 🖤🤍💚
Дата: 01.05.22 03:20
Оценка:
Здравствуйте, ali2, Вы писали:

A>Почитал и решил учить Kotlin.

Да, это самый правильный путь для разработки на Android. Нужно изучить Kotlin, Android SDK и систему сборки Gradle. Если Delphi освоили, то и здесь справитесь, ничего сложного.

A>Что значит "сложное GUI"? Если работать с картой с помощью какой-то библиотеки — это сложное?

Ну как в Delphi и C++, либо пользуешься встроенными компонентами, либо рисуешь все сам.
Для отображения таблиц, например, лучше использовать Java/Kotlin и родные классы Android.
Для написания игры удобнее делать все самому, на OpenGL, например.

A>Если я собираюсь писать программу под Android, должен ли я понимать, что такое REST? Из википедии не особо понятно.

Это для взаимодействия с сервером, в REST — через методы HTTP протокола (GET, POST и др.). Для работы с API карт Google или Яндекса, если данные берутся оттуда, необходимо.
Как запру я тебя за железный замок, за дубовую дверь окованную,
Чтоб свету божьего ты не видела, мое имя честное не порочила…
М. Лермонтов. Песня про царя Ивана Васильевича, молодого опричника и удалого купца Калашникова
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.