Наскоро разработих приложение за прехвърляне на файлове за Android, което използва технологиите softap и wi-fi direct за прехвърляне на файлове между две устройства с Android. Това са стъпките, които можете да следвате, за да научите програмирането за Android и да разработите просто приложение за прехвърляне на файлове.

Научете Java или Kotlin

Първото нещо, което трябва да направите, за да станете разработчик на Android, е да научите Java или Kotlin. Начинаещите винаги имат съмнения относно учебната програма, която трябва да покрият, за да започнат програмиране за Android. Честно казано, колкото повече научаваш, толкова по-добър ставаш в програмирането за Android. Според мен основните знания, от които се нуждаете, за да започнете с програмирането за android, са:

  • Типове данни, променливи и масиви
  • Оператори
  • Контролни отчети
  • Класове
  • Контрол на потока, изключения и твърдения
  • Низове, I/O, форматиране и анализиране
  • Генерични продукти и колекции
  • Вътрешни класове
  • Многонишково програмиране
  • Програмиране на сокет
  • Изброяване, автобоксиране и анотации
  • Обработка на събития

Избор на най-добрата IDE за разработка на приложения

Имам ли нужда от IDE за разработка на приложения за Android? Всъщност можете да разработвате приложения за Android без да използвате IDE, като изтеглите SDK за android, но не се препоръчва, защото с помощта на IDE разработването на приложения ще бъде много по-лесно.

IDE или интегрирана среда за разработка позволява на програмистите да консолидират различните аспекти на писането на компютърна програма.

IDE увеличават продуктивността на програмиста, като комбинират общи дейности по писане на софтуер в едно приложение: редактиране на изходния код, изграждане на изпълними файлове и отстраняване на грешки.

Ето най-добрите безплатни IDE за разработка на приложения за Android:

Android Studio

Android Studio е официалната интегрирана среда за разработка на операционната система Android на Google, изградена върху софтуера IntelliJ IDEA на JetBrains и проектирана специално за разработка под Android. Android studio предлага много функции в сравнение с други IDE.

Препоръчвам Android Studio, тъй като изпълнява всички функции, които прави Eclipse с ADT плъгин, с много повече допълнителни функции.

Визуално студио

Microsoft Visual Studio е интегрирана среда за разработка (IDE) от Microsoft. Използва се за разработване на компютърни програми, както и за уебсайтове, уеб приложения, уеб услуги и мобилни приложения. Visual Studio използва платформи за разработка на софтуер на Microsoft като Windows API, Windows Forms, Windows Presentation Foundation, Windows Store и Microsoft Silverlight.

Затъмнение

Eclipse е написан предимно на Java и основната му употреба е за разработване на Java приложения, но може да се използва и за разработване на приложения на други езици за програмиране чрез добавки, включително Ada, ABAP, C, C++ и др.

Как да научите Android програмиране?

Има много книги и онлайн курсове, както платени, така и безплатни за изучаване на програмиране за Android. Не можете да започнете да правите приложения за android, без да научите Android API, така че да научите как да използвате Android API е следващата стъпка. Ето някои от най-добрите книги, които можете да използвате, за да научите програмирането за Android:

  • Android програмиране: The Big Nerd Ranch Guide (3-то издание)
  • Android програмиране: The Big Nerd Ranch Guide (3-то издание)
  • Здравей, Android: Представяне на платформата за мобилна разработка на Google (прагматични програмисти), трето издание, издание от Ед Бърнет
  • App Inventor за Android: Създайте свои собствени приложения Не се изисква опит! от Джейсън Тайлър

Можете да намерите много повече книги, документация и други материали само като потърсите в Google.

Как да създам приложение за прехвърляне на файлове?

UI/UX

За да създадете приложение за Android, първото нещо, което трябва да направите, е да създадете модел на вашия UI/UX. Приложението за прехвърляне на файлове трябва да показва всички файлове в устройството, така че потребителите да могат да избират файловете, които искат да прехвърлят между сдвоени устройства. За зареждане на изображения и миниатюри използвах библиотеката Glide. Има много други библиотеки като Fresco, Picasso и др.

технология

Има два API, предоставени от android, които могат да се използват за създаване на приложение за прехвърляне на файлове чрез wi-fi, което е wifi direct и softap. И двете технологии имат някои плюсове и минуси, които са изброени по-долу.

Wi-fi Direct

Wi-fi Direct (известен също като peer-to-peer или P2P) позволява на приложенията да се свързват с устройства наблизо, без да е необходимо да се свързват към мрежа или гореща точка.

Плюсове

  1. По-бързо от конфигурацията на Softap.
  2. Връзката може да се установи дори ако устройството е в самолетен режим.
  3. Можете да проверите документацията за Android, за да разберете как да прехвърляте файлове през P2P.

Против

  1. Връзката с android 10 или по-нова е малко трудна, тъй като приемниците за излъчване wifi_p2p_connection_changed_action и wifi_p2p_this_device_changed_action не са лепкави, започвайки с android 10.

SoftAp Configuration

SoftApConfiguration (само локална гореща точка) използва гореща точка за установяване на връзка между две или повече Android устройства.

Плюсове

  1. Връзката с всяка версия на Android може да се установи лесно.
  2. Създаването на групова връзка е сравнително лесно.

Против

  1. Скоростта на трансфер е малко по-ниска от Wi-fi Direct.
  2. Връзката може да прекъсва по-често от Wi-fi Direct.

Програмиране на сокет

След като установите връзка между устройства, следващата стъпка е да прехвърлите файлове между устройства в мрежата. В този момент се нуждаем от програмиране на сокет. В програмирането на сокет има клиент и сървър. Ако използвате wi-fi direct, тогава приемащото устройство е сървърът, а подателят е клиентът. От друга страна, подателят или получателят може да бъде сървър в softap. Използвах подателя като сървър и получателя като клиент в softap. От страната на изпращача трябва да създадем DataOutputStream и OutputStream. DataOutputStream се използва за прехвърляне на два типа данни към приемника, който е тип низ и дълъг тип. Типът низ се използва за изпращане на името на файла, а дългият тип се използва за изпращане на размера на файловете в байтове. OutputStream се използва за прехвърляне на файла в байтове. Файловете трябва да се прехвърлят като парчета от 1448 байта. От страната на получателя трябва да създадете тип файл и да зададете името на файла като тип низ, получен от подателя. Размерът на файла след прехвърлянето трябва да е равен на дългия тип. Ако искате да осъществите връзка, при която приемникът може да изпраща файлове обратно на подателя, тогава трябва да създадете два сървърни сокета и клиентски сокет, един за получаване и друг за изпращане. Можете да добавите опция за пауза и възобновяване, като създадете трети сървърен сокет за комуникация. Важно е да не можете да използвате другите два сокета за създаване на тази опция, защото използваме другите два сокета за прехвърляне на низове, дълги типове данни и файлове, но в комуникационния сокет използваме главно булев тип.

Заключение

Това са основните стъпки за създаване на приложение за прехвърляне на файлове. Не съм обхванал всички аспекти, а само важните. Успях да разработя приложение за прехвърляне на файлове, като следвах тези стъпки. Надявам се тази статия да е била полезна.

Благодаря ти.