В последние несколько месяцев я занимался не только своими личными проектами, но и своей ежедневной работой с 9 до 5. Я работаю над внутренним приложением, которое поможет улучшить качество обслуживания клиентов моего работодателя Telefónica.
На первом этапе проект имеет простую настройку: сбор данных и их отправка по почте. Задача для меня заключалась в том, чтобы получить приложение для Windows Phone (да, Windows Phone был первым!) Для Android.
Я знал, что потребуется некоторое время, чтобы начать разработку под Android, и искал возможные решения, чтобы ускорить процесс. Я уже знал об Xamarin и смог получить годичную лицензию на Android (возможно, iOS последует позже).
Некоторые из моих коллег WinPhans и WinPhanDevs будут очень громко кричать в данный момент. Я это понимаю. Но, честно говоря, я не мог упустить эту огромную возможность для меня, поскольку она затрагивает как мою ежедневную работу, так и мою личную историю разработчиков. Чтобы успокоить вас: я всегда буду любить Windows Phone и Windows и сначала буду разрабатывать для них. Я всегда буду оставаться WinPhanDev. Но мне нужно идти вперед, и это большой шаг.
Давайте вернемся к теме.
С этим сообщением в блоге я начинаю новую серию блогов для разработки под Android с Xamarin. Огромное преимущество использования Xamarin заключается в том, что я могу использовать свои знания C # для разработки приложений для других платформ, что немного облегчает задачу.
Однако, если вы начнете с другой платформы, вам все равно придется изучить структуру платформы. Не зная или не желая изучать это, вы очень быстро потеряетесь. Каждая ОС имеет свои собственные правила пользовательского интерфейса, обработку сохранения и так далее. Об этом я и буду писать в блоге.
В приложении Windows Phone, которое я перенес на Android, есть элемент Pivot, который я перенес на Android. Он немного отличается от внешнего вида, но работает аналогичным образом, нажимая на заголовок или проводя пальцем, чтобы перемещаться между элементами / страницами.
Чтобы попасть туда, мне нужно было многое узнать об Android — и я поделюсь всем этим с вами.
Моя серия будет охватывать следующие темы:
- установка Xamarin и начало работы (этот пост)
- Настройка устройства Android для отладки и развертывания
- Ресурсы (макеты, строки и т. Д.)
- Деятельность и виды
- состояния приложения для Android
- Фрагменты
- показать и скрыть клавиатуру на Android
- Фокус управления
- использование SQLite для временного и постоянного сохранения данных
- используя Intents для отправки почты или сохранения записи календаря
- получение контактов из адресной книги
- Списки и Адаптеры
- создать SplashScreen
- и многое другое… (я обновлю этот список ссылками на соответствующие записи в блоге)
Установка Xamarin
Установить Xamarin довольно просто — но это займет некоторое время. Нажмите на эту ссылку, чтобы загрузить Xamarin IDE. IDE спросит вас, для какой платформы вы хотите разработать (на данный момент давайте выберем только Android), а затем загрузит огромное количество дополнительных SDK, таких как Java и Android SDK (приложения Android основаны на Java, если вы этого не сделали). знал).
На скриншоте выше вы можете увидеть стартовую страницу Xamarin Studio. С левой стороны у вас есть список последних решений, в середине вы видите новости Xamarin и, наконец, раздел готовых приложений.
Xamarin Studio имеет много общего с Visual Studio, и вы также можете использовать множество настроек, чтобы настроить внешний вид в соответствии с вашими потребностями. Давайте начнем новый проект, нажав на кнопку «Новый»
Xamarin создаст файл .sln со всем необходимым на данный момент. После создания проекта вы увидите следующие строки кода:
using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; namespace gettingstarted { [Activity (Label = "gettingstarted", MainLauncher = true)] public class MainActivity : Activity { int count = 1; protected override void OnCreate (Bundle bundle) { base.OnCreate (bundle); // Set our view from the "main" layout resource SetContentView (Resource.Layout.Main); // Get our button from the layout resource, // and attach an event to it Button button = FindViewById<Button> (Resource.Id.myButton); button.Click += delegate { button.Text = string.Format ("{0} clicks!", count++); }; } } }
Эти несколько строк должны помочь начать работу с базовой структурой приложения для Android.
У Android есть Действия. Действия можно рассматривать как код файлов в проекте C #. Здесь начинается все действие приложения для Android. Xamarin автоматически объявляет метку (имя проекта) и в этом случае также свойство MainLauncher, которое будет запускать этот код при запуске приложения.
Чтобы что-то отобразить в нашем приложении, нам нужно загрузить макет или создать представление из кода. В этом и заключается метод SetContentView (). Без этого приложение скомпилируется, но ничего не отображается. В этом демонстрационном приложении создается базовый макет с кнопкой внутри:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@+id/myButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
У нас уже есть первое отличие от других проектов C # здесь. Чтобы сделать кнопку видимой для нашего кода в Деятельности, нам нужно найти наши ресурсы для кнопки. Это делается методом FindViewById <T> (). Как только это становится видимым для нашего кода, мы можем создать делегата для нашего события Click кнопки.
Кнопка подсчитывает количество кликов и изменяет текст в зависимости от количества кликов.
Чтобы лучше понять структуру Android-приложения, я настоятельно рекомендую прочитать документацию. Для меня особенно эти ссылки были полезны:
- Здравствуйте, Android
- Здравствуйте, Многоэкранные Приложения
- Жизненный цикл деятельности
- Ресурсы Android
Есть еще несколько полезных ресурсов, но для начала этих четырех ссылок должно быть достаточно. Я расскажу о некоторых из вышеперечисленных тем также в своих будущих публикациях и также добавлю ссылки на дополнительные ресурсы.
Как и в случае разработки для Windows Phone, StackOverflow также очень полезен, как и форумы Xamarin для Android .
До следующего поста, счастливого кодирования!