Летние наслаждения под магновым солнцем… Образцы данных, местоположения и акселерометры
Сегодняшнее сообщение – замечательный летний проект, потому что он демонстрирует нам как, используя Expression, Mango и Windows Phone 7.x, быстро и просто создать приложение и высвободить нам время, чтобы понежиться на солнышке…
Введение в образцы данных и сенсоры с прикольным летним приложением!
C появлением Windows Phone многие студенты начали проявлять интерес к технологиям и средствам разработки Microsoft. Они могут легко попробовать эти инструменты через сервисы MSDN AA и DreamSpark. Эти сервисы предоставляют студентам инструменты разработки бесплатно. Добавив в этот набор простые в изучении технологии вроде Silverlight, и вы точно начнете быстро разрабатывать, не жертвуя своим свободным временем.
Первоначально эта статья была опубликована в финском журнале Tietokone, вот почему в приложении используются финские имена и фестивали. Я решил перевести ее на английский, чтобы англоговорящие студенты также смогли прочитать ее и получить представление, на что похожа разработка для Windows Phone. Кроме того в Tietokone проводится соревнование среди финских разработчиков, в результате которого они могут выиграть Windows Phone. Всё, что надо сделать – так это убедиться насколько быстрым является Expression Blend!
Эта статья не является детальным руководством, если вы ищете что-то более подробное, я бы предложил посмотреть серию «Введение в разработку для Windows Phone».
...
Прежде всего – модели данных. Построение пользовательского интерфейса становится гораздо легче, когда вы видите приложение в действии, вместе с его данными. Но вы не можете увидеть приложение в действии, пока не напишите его. Проблема яйца и курицы.
Expression предоставляет поддержку и помощь в создании некоторых образцов данных, которые могут быть использованы вами и Expression для того, чтобы притвориться, будто приложение работает, по крайней мере, в части вывода данных на экран.
Далее местоположения, местоположения, местоположения …
void ShowDirections(int itemIndex)
{
BingMapsDirectionsTask bingDirections = new BingMapsDirectionsTask();
GeoCoordinate helsinki = new GeoCoordinate(60.169812, 24.93824);
FestariItem festari = festivalList.Items[itemIndex] as FestariItem;
GeoCoordinate destination = new GeoCoordinate(festari.Leveysaste, festari.Pituusaste);
//bingDirections.Start = new LabeledMapLocation("Helsinki", helsinki);
bingDirections.End = new LabeledMapLocation(festari.Nimi, destination);
bingDirections.Show();
}
И наконец, использование акселерометра, чтобы встряхнуть устройство…
Эмулятор позволяет проверить также и акселерометры. Давайте позволим приложению случайным образом выбрать фестиваль, на который мы поедем, просто встряхнув телефон.
App Hub – прекрасное место для различных ресурсов, откуда можно скачать свободно доступные инструменты, прочесть разные статьи и загрузить примеры. Зайдите на App Hub и скачайте библиотеку ShakeGesture, так чтобы можно было легко обрабатывать встряхивания.
using ShakeGestures;
namespace Festarit2011
{
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
ShakeGesturesHelper.Instance.ShakeGesture += new EventHandler<ShakeGestureEventArgs>(Instance_ShakeGesture);
ShakeGesturesHelper.Instance.MinimumRequiredMovesForShake = 4;
ShakeGesturesHelper.Instance.Active = true;
}
void Instance_ShakeGesture(object sender, ShakeGestureEventArgs e)
{
}
void Instance_ShakeGesture(object sender, ShakeGestureEventArgs e)
{
Dispatcher.BeginInvoke(delegate()
{
Random random = new Random();
int randomIndex = random.Next(0, festivalList.Items.Count - 1);
ShowDirections(randomIndex);
});
}
Теперь мы прошли через разные этапы разработки для Windows Phone. Мы использовали Expression Blend и Visual Studio, разработали стили, использовали образцы данных и попробовали различные события и датчики. Вы можете скачать окончательный вариант приложения, щелкнув на картинке справа. Так чего же вы ждете, сделайте еще один шаг и создайте собственное убойное приложение!
Что еще сказать…
Вот несколько ссылок, которые могут оказаться интересными: