В последние несколько месяцев я занимался не только своими личными проектами, но и своей ежедневной работой с 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 .
До следующего поста, счастливого кодирования!

