An open API service indexing awesome lists of open source software.

https://github.com/redone06/xamarinapps

šŸ“˜ Cursos Alura - Xamarin parte 1, Xamarin parte 2, Xamarin parte 3, Xamarin parte 4
https://github.com/redone06/xamarinapps

alura android xamarin

Last synced: 14 days ago
JSON representation

šŸ“˜ Cursos Alura - Xamarin parte 1, Xamarin parte 2, Xamarin parte 3, Xamarin parte 4

Awesome Lists containing this project

README

        

![Xamarin1](https://github.com/RedONe06/XamarinApps/assets/98191980/fe3273b6-a147-472b-b327-2267204222b6)

# Xamarin parte 1: Crie aplicativos mobile com Visual Studio
## Descrição do sistema

O projeto se trata de um **aplicativo multiplataforma** construído a partir do Visual Studio. O sistema é um aplicativo de **Teste Drive** onde é possível escolher um carro a partir de uma listagem, definir características que alteram o preço final e agendar um horÔrio para utilizar o carro alugado. Utilizou-se as ferramentas do [Xamarin](https://learn.microsoft.com/pt-br/xamarin/get-started/what-is-xamarin) para a construção do serviço e teve como base o curso _"Xamarin parte 1: crie aplicativos mobile com Visual Studio"_ disponível pela Alura.

## Sobre o curso

- Instalação de ambiente Xamarin para Visual Studio;
- Criação de pÔginas XAML em projeto com padrão MVVM (Model-View-ViewModel);
- Utilização de tags como StackLayout, Grid, ListView, Label, TableView, EntryCell, DatePicker e TimePicker;
- Utilização de propriedades como OnPropertyChanged e alteração dinâmica de teclados para cada tipo de dados;
- Exibição de mensagens por DisplayAlert();
- Conceito de _Data Binding_ para tratamento no _code behind_;


![Xamarin2](https://github.com/RedONe06/XamarinApps/assets/98191980/ec706674-115e-4bc1-855f-5e30f5c511d2)

# Xamarin parte 2: Crie aplicativos mobile com Visual Studio
## Descrição do sistema

O projeto agora respeita o padrão **MVVM (Model View ViewModel)** e para isso utilizou-se de comandos e troca de mensagens entre classes. A listagem agora é realizada a partir de uma chamada para uma **API REST** que aguarda com um _ActivityIndicator_ e a aplicação só permite a confirmação dos agendamentos caso os campos sejam preenchidos corretamente.

## Sobre o curso

- Ajuste da arquitetura: desacoplamento do code behind em camadas intermediƔrias de ViewModel;
- HeranƧa de classes para resgate de interfaces e mƩtodos como OnPropertyChanged;
- Utilização de _MessagingCenter_ da mensageria do Xamarin Forms para evitar acoplamento;
- Utilização de ações realiazadas por _Command_ e não pelos eventos de _Clicked_;
- Conexão da lista de veículos a um servidor externo de Fipe através de um serviço HTTP GET;
- Utilização de novos conceitos como: _ContentPage.BindingContext_, _SelectedItem_, _OnAppearing_ e _OnDisappearing_, _Subscribe_ e _Unsubscribe_, _MessagingCenter_, _Command_ e _ICommand_, HTTP GET e _StringAsync_, _DisplayAlert_ com 2 condições, _ChangeCanExecute()_, _ActivityIndicator_, etc.

![Xamarin3](https://github.com/RedONe06/XamarinApps/assets/98191980/82c0d12b-4c41-4fd7-a279-c3a96c69ac31)

# Xamarin parte 3: Crie aplicativos mobile com Visual Studio
## Descrição do sistema

Entre as atualizações no projeto estão: tela de login com todas as propriedades e excessões da interface e um menu lateral com as informações do perfil e abas de edição. Além da estilização do projeto.

## Sobre o curso

- Implementação da tela de login com imagem e campos de texto com definições corretas para teclado e excessões.
- Implementação de um menu lateral _FlyoutPage_ com abas por _TabbedPage_ mostrando os dados do usuÔrio que fez login e permitindo editar por dois botões.
- Habilitar e desabilitar campos por meio de Conversor
- Utilização de conceitos como: _Converter_ e _IValueConverter_, navegação entre abas por _CurrentPage()_, tratamento de excessões por _DisplayAlert_, etc.

![Projeto](https://github.com/RedONe06/XamarinApps/assets/98191980/613a9a16-8b0c-4fc1-a128-df1cc6fd96d7)

# Xamarin parte 4: Crie aplicativos mobile com Visual Studio
## Descrição do sistema

Ente as atualizações no projeto estão: acesso a câmera nativa do dispositivo para registrar foto de perfil, utilização do banco de dados local para criação de banco relacional contendo todos os agendamentos registrados, implementação de pÔgina de visualização de agendamentos.

## Sobre o curso

- Utilização dos conceitos de Intent e Activity para acessar a câmera nativa do aparelho;
- Conversão de formatos para a aplicação reconhecer a imagem;
- Criação e visualização de banco de dados relacionais utilizando SQLite, ADB (Android Debug Bridge) e DB Browser;
- Leitura de dados para projeção em pÔgina com lista de dados;
- Conversor de cor sobre propriedades de dados.
- Adicionando permissƵes no AndroidManifest e foto de aplicativo;
- Alguns conceitos aprendidos: interfaces entre projetos (com DependencyService, [assembly: Xamarin.Forms.Dependency(typeof(MainActivity))]), PCL (Portable Class Library), utilização de DAO para manutenção de dados e entidades do banco;