HTML Downloader 2.0

Използвайки интегрираната среда за разработка Visual Studio и езика за програмиране C# ще разработим мулти-платформено мобилно приложение за изтегляне HTML съдържанието на кода от Интернет страница.

  1. Стартирайте интегрираната среда за разработка Visual Studio.
  2. Създайте нов проект: Visual C# > Cross-Platform > Mobile App (Xamarin.Forms).
  3. За име на проекта запишете: 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).

results matching ""

    No results matching ""