Статьи

Android для Windows Phone 8, часть 6: создание второй страницы

За последние несколько недель я работал над некоторым контентом, которым я, наконец, рад поделиться с вами серией постов в блоге. Эта серия познакомит вас с разработкой Windows Phone 8 с точки зрения разработчика Android. В ходе серии вы создадите свое первое приложение. Это не будет ничего приятного, но вы узнаете все тонкости среды разработки, как создать простой пользовательский интерфейс и как выполнять навигацию. По пути вы увидите несколько советов по Android , которые помогут вам легче перенести свои навыки на платформу Windows Phone. Вы также увидите несколько советов по Visual Studio, которые сделают вас более продуктивными в вашей среде разработки. Удачи!

На предыдущем уроке вы создали простой пользовательский интерфейс, который принимает текст от пользователя. На этом уроке вы создадите в приложении вторую страницу для отображения ввода пользователя.

Создать вторую страницу

Щелкните правой кнопкой мыши проект в обозревателе решений, нажмите кнопку « Добавить» и нажмите « Создать элемент» .

В диалоговом окне Добавить новый элемент выберите Windows Phone в Visual C # .

Выберите шаблон портретной страницы Windows Phone, присвойте странице имя SecondPage.xaml и нажмите « Добавить» .

Теперь вы должны увидеть SecondPage.xaml в Solution Explorer.

Если SecondPage.xaml не открыт, дважды щелкните его.

Удалите содержимое из самого внешнего элемента <Grid> . Вы должны получить что-то похожее на это:

<!–LayoutRoot is the root grid where all page content is placed–>


<Grid x:Name=”LayoutRoot” Background=”Transparent”>

 


</Grid>

Add a <TextBlock> element to the grid:

<Grid x:Name=”LayoutRoot” Background=”Transparent”>


<TextBlock x:Name=”messageFromUser” />


</Grid>

 

Ответить на кнопку отправки

Теперь вам нужно получить сообщение с первой страницы на вторую страницу. Начните с открытия MaingPage.xaml .

Чтобы ответить на атрибут Click элемента <Button> для элемента

 <Grid x:Name=”LayoutRoot” Background=”Transparent”>

<StackPanel x:Name=”theStackPanel”

Orientation=”Vertical”>

<TextBlock x:Name=”theLabel”

Text=”{Binding Path=LocalizedResources.MessageLabelText,

Source={StaticResource LocalizedStrings}}” />

<TextBox x:Name=”theMessage” />

<Button x:Name=”sendButton”

Content=”{Binding Path=LocalizedResources.SendButtonText,

Source={StaticResource LocalizedStrings}}”


Click=”sendButton_Click”/>

</StackPanel>

</Grid>

ANDROID HINT

Нажмите атрибут похож на андроид: OnClick атрибут Android <Button> элемента.

 

Open the code-behind file for MainPage.xaml (MainPage.xaml.cs) and add the following method:

private
void sendButton_Click(object sender, RoutedEventArgs e)

{

 

} 

VISUAL STUDIO TIP

Вы можете открыть файл с выделенным кодом для файла, с которым вы работаете, в режиме конструктора, нажав клавишу F7 .

 

Теперь вам нужно сделать три вещи.

  1. Получить текст, введенный пользователем.
  2. Создайте URI для перехода к SecondPage.xaml, который включает текст, введенный пользователем. Это делается путем включения текста в качестве параметра строки запроса.
  3. Перейдите к SecondPage.xaml.

Все три могут быть выполнены путем добавления следующего в метод sendButton_Click :

 private void sendButton_Click(object sender, RoutedEventArgs e)

{


//Get the message from the <TextBox> element


var message = this.theMessage.Text;

 


//Use a default message if none is provide


if (string.IsNullOrEmpty(message))

message = “Hello World!”;

 


//Create the uri to navigate to SecondPage.xaml, passing


//the message through in the query string


var uri = new Uri(string.Format(“/SecondPage.xaml?message={0}”, message),

UriKind.Relative);

 


//Perform the navigation


this.NavigationService.Navigate(uri);

}

 

ANDROID HINT

В Android вы должны создать Intent и вызвать метод startActivity для перехода на вторую страницу с кодом, подобным следующему:

 

public void sendButton_Click (Просмотреть представление) {

Intent intent = new Intent (this, SecondPageActivity.class);

startActivity (намерение);

}

 

Если вы запустите приложение сейчас ( F5 ) и нажмете кнопку, вы заметите, что переходите на вторую страницу. Мы будем работать над отображением сообщения в последней части этого урока.

Показать сообщение

Теперь, когда вы можете перейти к SecondPage.xaml из MainPage.xaml, вам нужно отобразить сообщение, введенное пользователем.

Откройте SecondPage.xaml.cs (файл кода для SecondPage.xaml ).

Добавьте переопределение для метода OnNavigatedTo

protected
override
void OnNavigatedTo(NavigationEventArgs e)

{


base.OnNavigatedTo(e);

} 

 

Наконец, получите параметр строки запроса из свойства страницы NavigationContext и отобразите его в элементе <TextBlock> со следующим кодом:

 protected override void OnNavigatedTo(NavigationEventArgs e)

{

base.OnNavigatedTo(e);

 


//Check that the query string contains the message parameter


//and display on the page if found


if (this.NavigationContext.QueryString.ContainsKey(“message”))


this.messageFromUser.Text =


this.NavigationContext.QueryString["message"];

}

Запустите приложение ( F5 ), чтобы увидеть результаты!

Вывод

Поздравляем! Вы просто создаете свое первое приложение для Windows Phone. Чтобы узнать больше о создании приложений для Магазина Windows, продолжайте следовать этой серии. Следующая часть — Работа с данными .

Предыдущие сообщения в этой серии

  • Настройка среды разработки
  • Создание вашего первого проекта Windows Phone
  • Изучение проекта Windows Phone
  • Запуск приложения Windows Phone
  • Создание простого пользовательского интерфейса

Дополнительные ресурсы