Ejemplo n.º 1
0
        public DetailPage(ItemRss item)
        {
            InitializeComponent();

            this.item = item;

            BindingContext = new DetailViewModel(item);
        }
Ejemplo n.º 2
0
        public DetailViewModel(ItemRss feedData)
        {
            SharedCommad       = new Command(SharedLink_Clicked);
            OpenBrowserCommand = new Command(OpenBrowser_Clicked);

            this.ImageSource = feedData.Imagem;
            Title            = feedData.Titulo;
            Descricao        = "<html>" + "<body style=\"text-align: justify;\">" + feedData.Descricao + "</body>" + "</html>";
            link             = feedData.Link;
        }
Ejemplo n.º 3
0
        public async Task <ObservableCollection <ItemRss> > BaixarFeed(string url)
        {
            using (Acr.UserDialogs.UserDialogs.Instance.Loading("Carregando feed..."))
            {
                var client = new HttpClient();

                client.DefaultRequestHeaders.Add("User-Agent", "Other");

                HttpResponseMessage response;

                response = await client.GetAsync(url);

                var content = await response.Content.ReadAsStringAsync();

                XElement xmlitems = XElement.Parse(content);

                List <XElement> elements = xmlitems.Descendants("item").ToList();

                var aux = new ObservableCollection <ItemRss>();

                foreach (XElement rssItem in elements)
                {
                    var rss = new ItemRss();

                    rss.Descricao = rssItem.Element("description").Value;
                    rss.Link      = rssItem.Element("link").Value;
                    rss.Titulo    = rssItem.Element("title").Value;
                    rss.Data      = rssItem.Element("pubDate").Value.Remove(17);
                    string url2 = rssItem.Element("enclosure") != null?rssItem.Element("enclosure").ToString() : "empty";

                    var reg = new Regex("url=(?:\"|\')?(?<imgSrc>[^>]*[^/].(?:JPG|jpg|bmp|gif|png))(?:\"|\')?");

                    var match = reg.Match(url2);

                    if (match.Success)
                    {
                        var encod = match.Groups["imgSrc"].Value;

                        rss.Imagem = encod;
                    }
                    else
                    {
                        rss.Imagem = "d24amLogo.jpg";
                    }

                    aux.Add(rss);
                }

                return(aux);
            }
        }