Postagens

Mostrando postagens de dezembro, 2014

Como acessar os arquivos do Local Folder do seu app Windows Phone

Imagem
O "local Folder" é a pasta onde um aplicativo armazena os seus dados. Esta pasta isola um aplicativo do outro e por este motivo ele é chamado de "Isolated Storage". No código, para acessá-lo, seria algo do tipo: Ferramentas Para acessar os arquivos desta pasta, em tempo de desenvolvimento, você pode utilizar algumas ferramentas: Isolated Storage Explorer Windows Phone Power Tools ISE (Visual Studio extension - não funciona na versão Express do Visual Studio.) IsoStoreSpy   Na figura a seguir vemos a interface do IsoStoreSpy:

Installation Folder and Local Folder

http://stackoverflow.com/questions/24339553/how-to-read-data-files-included-in-the-app http://msdn.microsoft.com/library/windows/apps/hh286408(v=vs.105).aspx#BKMK_othertools http://isostorespy.codeplex.com/releases/view/121759 http://stackoverflow.com/questions/24095230/where-can-i-find-files-saved-in-applicationdata-current-localfolder-while-develo http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.applicationdata.localfolder http://msdn.microsoft.com/en-us/library/windows.applicationmodel.package.installedlocation.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2 sqlite http://stackoverflow.com/questions/21482881/using-sqlite3-file-to-create-a-database-on-windows-phone-8 http://stackoverflow.com/questions/27696517/windows-phone-8-1-open-an-existing-sqlite3-database http://stackoverflow.com/questions/15715700/database-using-sqlite-in-c-sharp-windows-phone-8

Fazendo parse de uma página HTML no Windows Phone 8.1 com HtmlAgilityPack

Imagem
Primeiro, através do Nuget, instale o pacote HtmlAgilityPack-PCL :   Ele é uma versão "PCL" (Portable Class Library) do pacote HtmlAgilityPack, utilizado para realizar parse HTML. Este pacote não suporta todas as funções do HtmlAgilityPack. No código, recupere o conteúdo HTML a ser "parseado", como no exemplo abaixo: Depois, acesse os elementos da página. Dá para fazer algo do tipo: Para mais detalhes: Para saber mais sobre PCL HtmlAgilityPack-PCL no GitHub

Utilizando um Banco de Dados em um app Windows Phone 8.1

Imagem
Nas versões abaixo: Windows Phone OS 7.1 Windows Phone 8 Windows Phone Silverlight 8.1 Existe o suporte para LINQ to SQL, através do namespace System.Data.Linq, como nos exemplos abaixo:   How to create a basic local database app for Windows Phone 8 Windows Phone 8.1 com Banco de Dados no SQL Server Compact 3.5/4 Fui tentar fazer algo parecido com o Windows Phone 8.1 (Windows Runtime) e quebrei a cara. Parece que o caminho a trilhar é através do SQLITE: “Database First” with SQLite in a Universal App using the SQLite Toolbox and sqlite-net SQLite for Windows Phone 8.1 Migrating SQL Server CE data to Windows Phone 8.1

Confusão entre Windows 8 + Windows RT + WinRT + WP

Imagem
Para aqueles que, assim como eu, tiveram dificuldade em compreender a diferença entre eles, de forma geral: Windows 8: é o sistema operacional para hardware Intel e AMD. WinRT: é uma camada de software (runtime) construída sobre o Windows 8, fornecendo as APIs para a construção de aplicação no estilo "Modern" . * Windows RT : é o sistema operacional para hardware que usa processador do tipo ARM. O exemplo principal é o tablet Surface da Microsoft. Windows Phone 8: é sistema operacional mobile, que implementa um subset do runtime WinRT. *O termo Modern UI = Metro UI= Windows Store App Hoje existe uma tendência de convergência dos runtimes (Desktop e Mobile), através das Universal Apps. A figura abaixo ilustra isto: Para mais detalhes: Windows Phone API reference Qual a diferença entre WinRT, Windows Runtime, Win8 Windows RT

Windows Phone: XAML/C# ou HTML/Javascript ?

Imagem
Existem boas discussões na web sobre o assunto: Microsoft likes WinJS for making Windows 8 apps but most developers prefer XAML   Advantages and disadvantages to using XAML/C# or HTML5/JavaScipt for Metro apps? The Future of WinJS and XAML C#/XAML vs. WinJS/HTML A plataforma suporta o desenvolvimento utilizando as duas opções: XAML/C# HTML5/Javascript : utilizando a biblioteca da Microsoft chamada WinJS As razões para utilizar uma ou outra opção são as mais diversas (e polêmicas). Um fato interessante é que, olhando a tendência de utilização de linguagens no Github, o javascript parece ser "o cara".

Como montar um ambiente de desenvolvimento para Windows Phone 8

De forma bem resumida: Requisitos de Hardware Verifique os requisitos de hardware: Windows 8 Pro 64 bit 1.6 GHZ de processador Suporte para SLAT (Second Level Address Translation): isto é usado para rodar o emulador do celular 4 GB de RAM 6.5 GB de disco Para verificar se a sua máquina suporta SLAT, utilize o utilitário: CoreInfo Se não suportar, ainda é possível desenvolver testando direto no device. Se você possui o VS.NET 2012: Faça o download e instale o Windows Phone SDK Se você possui o VS.NET 2013: O VS.NET 2013 já possui o SDK do Windows Phone 8.1. Não será preciso fazer nada. Para entrar nos detalhes de instalação, veja este link .

Certificação em Desenvolvimento para Windows Phone

Imagem
A certificação atual é focada em Windows Phone 7 . São 3 provas: Exam 70-506 - MCTS prerequisite: TS: Silverlight 4, Development Exam 70-516 - MCTS prerequisite: TS: Accessing Data with Microsoft .NET Framework 4 Exam 70-599 - MCPD requirement: PRO: Designing and Developing Windows Phone Applications https://www.microsoft.com/learning/en-sa/windows-phone-certification.aspx Para o Windows Phone 8 , a opção atual é através da certificação MCSD, que é a mesma para o Windows 8 : Existem 2 opções: usando HTML5/Javascritpt ou usando C#. São também 3 provas. O link segue abaixo: https://www.microsoft.com/learning/en-sa/mcsd-windows-store-apps-certification.aspx Tudo indica que vale mais a pena focar nesta certificação, pois, além de ser mais recente, ela é está alinhada com a estratégia de convergência das plataformas Windows Phone e Windows Store, chamada de "Universal Apps".

10 eBooks Grátis para desenvolvimento Windows Phone e Windows Store

Link para download de 10 ebooks grátis sobre desenvolvimento nas plataformas Windows Phone e Windows Store: http://superdevresources.com/free-ebooks-windows-phone-windows-store-app-development/

eBook Free: Windows Phone Recipes, 2nd Edition

Imagem
eBook sobre desenvolvimento Windows Phone. Embora o livro seja baseado na versão 7.5, a estrutura orientada à "receitas" é muito legal e prática: Link para download

eBook Free: Windows Phone 8 Application Development Essentials

Imagem
Guia para a criação de aplicativos Windows Phone 8 usando C#, XAML e MVVM. Link para download

eBook Free: Windows Phone 8 Development Internals

Imagem
Para aqueles que gostam de mergulhar nos detalhes de arquitetura e implementação (hardcore): Link para dowload

eBook Free: Windows Phone 8 Development Succinctly

Imagem
eBook grátis sobre desenvolvimento na plataforma Windows Phone: Link para download Introduction The User Interface: Basic XAML Concepts Core Concepts Data Access: Storage Data Access: Network Integrating with the Hardware Integrating with the Operating System Multimedia Applications Live Apps: Tiles, Notifications, and Multitasking Distributing the Application: Localization, the Windows Phone Store, and In-App Purchases

Integração com Twitter, Facebook e Linkedin usando oAuth 1.0 [Parte 3]

Imagem
Entendendo um pouco mais sobre o código de exemplo, basicamente o fluxo é o seguinte: Passo 1 Com as chaves criadas do post anterior, altere o arquivo "MainPage.xaml.cs":  Execute o código. Passo 2 Clique em GetRequestToken . Os tokens de "request" serão gerados e também a URL de autorização. Clique sobre a mesma. Passo 3 Será aberta a página de autenticação do Linkedin. Entre com um usuário/senha válidos e confirme. Será gerado um código de verificação. Passo 4 Clique no botão GetAccessToken . Serão gerados os tokens de acesso. A partir deste momento, você já tem todas as informações necessárias para interagir com o LinkedIn. Passo 5 Por exemplo, clique no botão GetUserProfile para recuperar as informações do usuário "logado".  A idéia é melhorar este código, automatizando os passos e exigindo que o usuário somente entre as suas credenciais (usuário/senha) e o restante é feito "por debaixo dos panos". Para tal...

Integração com Twitter, Facebook e Linkedin usando oAuth 1.0 [Parte 2]

Imagem
Vamos usar o Linkedin como exemplo. O primeiro passo para criar uma integração com ele, é criar as chaves para o oAuth. Entre no endereço abaixo: Na opção de menu "API Keys", cadastre a sua app e crie as chaves necessárias: Utilizando este código como base, a única coisa a ser feita é alterar as chaves no arquivo "MainPage.xaml.cs": A explicação do fluxo de execução do código será feita no próximo post.

Integração com Twitter, Facebook e Linkedin usando oAuth 1.0 [Parte 1]

Para integrar um aplicativo Windows Phone 8 com alguns dos sites citados abaixo é necessário utilizar o protocolo oAuth (padrão aberto para autenticação). Vou mostrar aqui a implentação da versão 1.0 e em breve mostro também a versão 2.0 (atual). Basicamente, o oAuth permite você conectar a sua aplicação Web, Desktop ou Mobile aos principais provedores, com o intuito de autenticar o usuário e também trocar informações com estes sites: Twitter Facebook Google Linkedin Etc Explicação em 2 linhas Como a mágica é feita: a sua aplicação irá enviar algumas informações para o provedor (Ex: Linkedin), o provedor irá abrir uma página para autenticar o usuário e depois disso irá retornar uma chave (acess token) para a sua aplicação. Esta chave deverá ser usada para trocar informação com o provedor. Tudo isto acontece usando HTTP/HTTPS. Exemplo com Linkedin para Windows 8.1  (Desktop) Vou fazer o porte para Windows Phone e coloco aqui.

Consumindo um serviço WCF com Windows Phone 8.1

Imagem
Como sabemos, uma decisão curiosa e polêmica da Microsoft foi a falta de suporte para serviços SOAP WCF (no Windows Phone 8.1), através do recurso de "Add Service Reference", pelo menos por enquanto. "Windows Phone 8.1 XAML applications does not support the System.ServiceModel namespace, and therefore you are not able to right click references in the project and choose Add Service Reference. The recommended solution is to add a REST endpoint to your WCF endpoint, and access the WCF application through the REST endpoint using HttpClient." Uma maneira de "driblar" esta limitação é a seguinte: Passo 1: Transforme o seu método do WCF em uma operação REST: Passo 2: Altere o "endpoint" do WCF, alterando o arquivo web.config do serviço, tornando-o RESTFULL : Passo 3: Do lado do Windows Phone, crie o seguinte código para fazer o consumo do serviço : Para mais detalhes e código fonte, dê uma olhada neste post : Workaround...

Criando botões na "App Bar"

Imagem
No Windows Phone 8.1 você pode usar BottomAppBar para adicionar uma "barra de comandos" no rodapé do aplicativo. Normalmente utiliza-se o CommandBar para posicionar os botões de comando. É possível agrupá-los em dois níveis, como no exemplo abaixo:   O código XAML segue abaixo: Para mais detalhes: Adding App Bar buttons Veja também: AppBarToggleButton AppBarSeparator

Arquivo de Manifesto Package.appxmanifest

Imagem
O arquivo de manifesto é um arquivo XML (Package.appxmanifest) gerado automaticamente pelo VS.NET e empacotado juntamente com o pacote do "app". Este arquivo é utilizado para descrever uma série de características importantes do aplicativo, tais como:   Capacidades utilizadas pelo aplicativo (Capabilities): uso de câmera, sensores, web browser, push notification, localização, etc. Identidade do app (nome, idioma padrão, descrição, uso de cartão SD, etc) Elementos visuais (ícones dos tiles, badge, splash screen) Informações de dependências de outros pacotes (para deployment e atualização)   Todo app deve possuir um arquivo de manifesto em seu pacote. Na versão 8, o arquivo possuía o nome "WMAppManifest.xml".   http://msdn.microsoft.com/en-us/library/windows/apps/br211474.aspx

Analisando a performance de aplicativos Windows Phone

Imagem
O VS.NET 2013 possui recursos poderosos para análise de performance (profiling). Através destes recursos é possível verificar: Utilização de CPU Consumo de Energia Desempenho da interface (XAML UI Responsiveness) Outros recursos... Para mais detalhes: http://channel9.msdn.com/Events/Build/2013/3-322 http://msdn.microsoft.com/en-us/library/windows/apps/hh696636.aspx http://msdn.microsoft.com/en-us/library/windows/apps/jj215908(v=vs.105).aspx

Consumindo um serviço REST a partir do Windows Phone 8.1

Imagem
O código abaixo realiza o consumo de um serviço REST disponibilizado pela FIPE (tabela de preços de carros no Brasil): As classes/namespaces principais: Windows.Web.HttpClient: classe base para enviar "requests" e receber "responses" HTTP. Windows.Data.Json: contém classes para manipulação de dados no formato JSON. Para entrar no detalhe: http://msdn.microsoft.com/en-us/library/windows/apps/windows.web.http.httpclient.aspx

Recuperar informações dos Contatos

Imagem
  Uma maneira de recuperar as informações dos contatos no Windows Phone 8 é através da classe ContactPicker ( Windows.ApplicationModel.Contacts.ContactPicker ), como no exemplo abaixo: Mais informações: Classe ContactPicker: http://msdn.microsoft.com/library/windows/apps/br224913 Classe Contact : http://msdn.microsoft.com/pt-br/library/windows/apps/xaml/windows.applicationmodel.contacts.contact