HTML Downloader 2.0
Използвайки интегрираната среда за разработка Visual Studio и езика за програмиране C# ще разработим мулти-платформено мобилно приложение за изтегляне HTML съдържанието на кода от Интернет страница.
- Стартирайте интегрираната среда за разработка Visual Studio.
- Създайте нов проект: Visual C# > Cross-Platform > Mobile App (Xamarin.Forms).
- За име на проекта запишете: HTML Downloader 2.0.
Инсталирайте допълнителен пакет към приложението от менюто: Tools > NuGet Package Manager > Package Manager Console, като изпълните следната команда в конзолата:
PM> Install-Package AngleSharp -Version 0.9.11
Файлът MainPage.xaml съдържа изходния код от дизайна на потребителския интерфейс на разработваното приложение и се пише на езика XAML. Копирайте (Ctrl+C) и поставете (Ctrl+V) програмният фрагмент даден по-долу във Вашето приложение..
MainPage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="HTML_Downloader_2._0.MainPage">
<!-- HTML Downloaders 2.0 -->
<StackLayout Padding="20">
<Label Text="HTML Downloader 2.0" FontSize="Medium" />
<Entry x:Name="URL" Text="http://www.minchev.eu" />
<Button Text="Download" Clicked="OnButtonClicked" />
<ScrollView>
<Label x:Name="HTML" />
</ScrollView>
</StackLayout>
</ContentPage>
Файлът MainPage.xaml.cs съдържа изходния код от бизнес логиката на разработваното приложение и се пише на програмният език C#. Копирайте (Ctrl+C) и поставете (Ctrl+V) програмният фрагмент даден по-долу във Вашето приложение.
MainPage.xaml.cs
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Xamarin.Forms;
using AngleSharp.Parser.Html;
namespace HTML_Downloader_2._0
{
/// <summary>
/// HTML Downloader 2.0
/// </summary>
public partial class MainPage : ContentPage
{
// Constructor
public MainPage()
{
InitializeComponent();
}
// Button Click Event Handler
private async void OnButtonClicked(object sender, EventArgs args)
{
// Get Html
string html = await Go(new Uri(this.URL.Text));
// Angle Sharp Parsing
var temp = new HtmlParser().Parse(html);
string text = temp.Body.TextContent;
// Plain Text
this.HTML.Text = text;
}
// Get the HTML
private async Task<string> Go(Uri link)
{
HttpClient client = new HttpClient();
return await client.GetStringAsync(link);
}
}
}
Стартирайте приложението от менюто: Debug > Start Debugging или като натиснете клавиш F5.
Фиг.65 Разработка на мултиплатформено мобилно приложение за изтегляне HTML съдържанието на кода от Интернет страница.
Фиг.66 Тестване на мултиплатформено мобилно приложение за изтегляне HTML съдържанието на кода от Интернет страница - Android Emulator 7.1 (API 25).