Soumettre la recherche
Mettre en ligne
Xamarin.Forms Hands On Lab (Advanced)
•
1 j'aime
•
421 vues
Cheah Eng Soon
Suivre
Xamarin.Forms Hands On Lab (Advanced)
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 39
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Xamarin.Forms Hands On Lab (Intermediate)
Xamarin.Forms Hands On Lab (Intermediate)
Cheah Eng Soon
Learn .NET Core - UWP & Xamarin.Forms
Learn .NET Core - UWP & Xamarin.Forms
Eng Teong Cheah
Building Canvas Apps with ASP.NET and Azure
Building Canvas Apps with ASP.NET and Azure
Salesforce Developers
From 0 to Deployed
From 0 to Deployed
nj-azure
Your first application with Xamarin.Forms
Your first application with Xamarin.Forms
Димитър Иванов
Intégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft Teams
Guillaume Meyer
Getting started with Xamarin Forms
Getting started with Xamarin Forms
Leomaris Reyes
Integrating Web Apps with Canvas - Salesforce1 World Tour
Integrating Web Apps with Canvas - Salesforce1 World Tour
Richard Donkin
Recommandé
Xamarin.Forms Hands On Lab (Intermediate)
Xamarin.Forms Hands On Lab (Intermediate)
Cheah Eng Soon
Learn .NET Core - UWP & Xamarin.Forms
Learn .NET Core - UWP & Xamarin.Forms
Eng Teong Cheah
Building Canvas Apps with ASP.NET and Azure
Building Canvas Apps with ASP.NET and Azure
Salesforce Developers
From 0 to Deployed
From 0 to Deployed
nj-azure
Your first application with Xamarin.Forms
Your first application with Xamarin.Forms
Димитър Иванов
Intégrez vos applications métiers dans Microsoft Teams
Intégrez vos applications métiers dans Microsoft Teams
Guillaume Meyer
Getting started with Xamarin Forms
Getting started with Xamarin Forms
Leomaris Reyes
Integrating Web Apps with Canvas - Salesforce1 World Tour
Integrating Web Apps with Canvas - Salesforce1 World Tour
Richard Donkin
Introducing mono & xamarin
Introducing mono & xamarin
Techizzaa
Intro to Building Mobile Apps with Xamarin
Intro to Building Mobile Apps with Xamarin
Heather Downing
Hitchhicker's Guide to Using Xamarin Forms with RESTful Services
Hitchhicker's Guide to Using Xamarin Forms with RESTful Services
Heather Downing
Your First Adobe Flash Application for Android
Your First Adobe Flash Application for Android
Motorola Mobility - MOTODEV
Making Money with Adobe AIR
Making Money with Adobe AIR
Almog Koren
How does flutter cuts app development cost?
How does flutter cuts app development cost?
VIRENDRA SHAKYA (L I O N)
Benefits of xamarin
Benefits of xamarin
Mindfire LLC
Introduction to Xamarin
Introduction to Xamarin
Guy Barrette
Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5
Chris Griffith
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
Joseph Labrecque
Appium Interview Questions and Answers | Edureka
Appium Interview Questions and Answers | Edureka
Edureka!
App Development: Create Cross Platform Mobile App with Just 6 Steps
App Development: Create Cross Platform Mobile App with Just 6 Steps
Marvin Heng
Dreamwares: Lightning Experience
Dreamwares: Lightning Experience
Amit Ahuja
Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)
Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)
Ed Snider
Diving Into Xamarin.Forms
Diving Into Xamarin.Forms
Catapult New Business
Mobile gaming - 10 tips to optimize your in-app advertising
Mobile gaming - 10 tips to optimize your in-app advertising
Thomas Bensoussan
Codename one
Codename one
Software Infrastructure
Cordova vs xamarin vs titanium
Cordova vs xamarin vs titanium
Rakesh Jha
PWAs overview
PWAs overview
TejinderMakkar
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGap
Sasha Goldshtein
Cross Platform Mobile Technologies
Cross Platform Mobile Technologies
Talentica Software
dot net
dot net
sambhajimeher
Contenu connexe
Tendances
Introducing mono & xamarin
Introducing mono & xamarin
Techizzaa
Intro to Building Mobile Apps with Xamarin
Intro to Building Mobile Apps with Xamarin
Heather Downing
Hitchhicker's Guide to Using Xamarin Forms with RESTful Services
Hitchhicker's Guide to Using Xamarin Forms with RESTful Services
Heather Downing
Your First Adobe Flash Application for Android
Your First Adobe Flash Application for Android
Motorola Mobility - MOTODEV
Making Money with Adobe AIR
Making Money with Adobe AIR
Almog Koren
How does flutter cuts app development cost?
How does flutter cuts app development cost?
VIRENDRA SHAKYA (L I O N)
Benefits of xamarin
Benefits of xamarin
Mindfire LLC
Introduction to Xamarin
Introduction to Xamarin
Guy Barrette
Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5
Chris Griffith
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
Joseph Labrecque
Appium Interview Questions and Answers | Edureka
Appium Interview Questions and Answers | Edureka
Edureka!
App Development: Create Cross Platform Mobile App with Just 6 Steps
App Development: Create Cross Platform Mobile App with Just 6 Steps
Marvin Heng
Dreamwares: Lightning Experience
Dreamwares: Lightning Experience
Amit Ahuja
Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)
Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)
Ed Snider
Diving Into Xamarin.Forms
Diving Into Xamarin.Forms
Catapult New Business
Mobile gaming - 10 tips to optimize your in-app advertising
Mobile gaming - 10 tips to optimize your in-app advertising
Thomas Bensoussan
Codename one
Codename one
Software Infrastructure
Cordova vs xamarin vs titanium
Cordova vs xamarin vs titanium
Rakesh Jha
PWAs overview
PWAs overview
TejinderMakkar
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGap
Sasha Goldshtein
Tendances
(20)
Introducing mono & xamarin
Introducing mono & xamarin
Intro to Building Mobile Apps with Xamarin
Intro to Building Mobile Apps with Xamarin
Hitchhicker's Guide to Using Xamarin Forms with RESTful Services
Hitchhicker's Guide to Using Xamarin Forms with RESTful Services
Your First Adobe Flash Application for Android
Your First Adobe Flash Application for Android
Making Money with Adobe AIR
Making Money with Adobe AIR
How does flutter cuts app development cost?
How does flutter cuts app development cost?
Benefits of xamarin
Benefits of xamarin
Introduction to Xamarin
Introduction to Xamarin
Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
Appium Interview Questions and Answers | Edureka
Appium Interview Questions and Answers | Edureka
App Development: Create Cross Platform Mobile App with Just 6 Steps
App Development: Create Cross Platform Mobile App with Just 6 Steps
Dreamwares: Lightning Experience
Dreamwares: Lightning Experience
Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)
Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)
Diving Into Xamarin.Forms
Diving Into Xamarin.Forms
Mobile gaming - 10 tips to optimize your in-app advertising
Mobile gaming - 10 tips to optimize your in-app advertising
Codename one
Codename one
Cordova vs xamarin vs titanium
Cordova vs xamarin vs titanium
PWAs overview
PWAs overview
Native Mobile Apps, Xamarin, and PhoneGap
Native Mobile Apps, Xamarin, and PhoneGap
Similaire à Xamarin.Forms Hands On Lab (Advanced)
Cross Platform Mobile Technologies
Cross Platform Mobile Technologies
Talentica Software
dot net
dot net
sambhajimeher
Android Development recipes with java.pptx
Android Development recipes with java.pptx
abdulqayoomjat2470
Cordova Mobile Application Developer Certification
Cordova Mobile Application Developer Certification
Vskills
madanResume
madanResume
Madan Vakkalagadda
Mahesh_Dimble
Mahesh_Dimble
Mahesh Dimble
Top Cross Platform Mobile App Development Frameworks
Top Cross Platform Mobile App Development Frameworks
WDP Technologies
CV_Sayani_Updated
CV_Sayani_Updated
SAYANI ROY
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
Jorge Ferrer
Net, MVC 3+ years Experience
Net, MVC 3+ years Experience
Madhava B
IBM MobileFirst Platform v7.0 Pot Intro v0.1
IBM MobileFirst Platform v7.0 Pot Intro v0.1
Banking at Ho Chi Minh city
IBM MobileFirst Platform v7.0 pot intro v0.1
IBM MobileFirst Platform v7.0 pot intro v0.1
Banking at Ho Chi Minh city
Ravi Sahu Profile
Ravi Sahu Profile
Ravi Sahu
Why is Flutter now Trendsetter in mobile app development .
Why is Flutter now Trendsetter in mobile app development .
Techugo
Android Web app
Android Web app
Sumit Kumar
Industrial Summer Training for MCA/BCA/BE/B-Tech Students
Industrial Summer Training for MCA/BCA/BE/B-Tech Students
Tech Mentro
Mobile Application Development class 001
Mobile Application Development class 001
Dr. Mazin Mohamed alkathiri
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
Troy Miles
CURRICULUM VITAE
CURRICULUM VITAE
Vicky Kumar
Alves Mea Pch1 Free
Alves Mea Pch1 Free
Alexandre de Castro Alves
Similaire à Xamarin.Forms Hands On Lab (Advanced)
(20)
Cross Platform Mobile Technologies
Cross Platform Mobile Technologies
dot net
dot net
Android Development recipes with java.pptx
Android Development recipes with java.pptx
Cordova Mobile Application Developer Certification
Cordova Mobile Application Developer Certification
madanResume
madanResume
Mahesh_Dimble
Mahesh_Dimble
Top Cross Platform Mobile App Development Frameworks
Top Cross Platform Mobile App Development Frameworks
CV_Sayani_Updated
CV_Sayani_Updated
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
Net, MVC 3+ years Experience
Net, MVC 3+ years Experience
IBM MobileFirst Platform v7.0 Pot Intro v0.1
IBM MobileFirst Platform v7.0 Pot Intro v0.1
IBM MobileFirst Platform v7.0 pot intro v0.1
IBM MobileFirst Platform v7.0 pot intro v0.1
Ravi Sahu Profile
Ravi Sahu Profile
Why is Flutter now Trendsetter in mobile app development .
Why is Flutter now Trendsetter in mobile app development .
Android Web app
Android Web app
Industrial Summer Training for MCA/BCA/BE/B-Tech Students
Industrial Summer Training for MCA/BCA/BE/B-Tech Students
Mobile Application Development class 001
Mobile Application Development class 001
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
CURRICULUM VITAE
CURRICULUM VITAE
Alves Mea Pch1 Free
Alves Mea Pch1 Free
Plus de Cheah Eng Soon
Microsoft Defender for Endpoint
Microsoft Defender for Endpoint
Cheah Eng Soon
Azure Active Directory - Secure and Govern
Azure Active Directory - Secure and Govern
Cheah Eng Soon
Microsoft Zero Trust
Microsoft Zero Trust
Cheah Eng Soon
MEM for OnPrem Environments
MEM for OnPrem Environments
Cheah Eng Soon
Microsoft Threat Protection Automated Incident Response
Microsoft Threat Protection Automated Incident Response
Cheah Eng Soon
Azure Penetration Testing
Azure Penetration Testing
Cheah Eng Soon
Azure Penetration Testing
Azure Penetration Testing
Cheah Eng Soon
Penetration Testing Azure for Ethical Hackers
Penetration Testing Azure for Ethical Hackers
Cheah Eng Soon
Microsoft Threat Protection Automated Incident Response Demo
Microsoft Threat Protection Automated Incident Response Demo
Cheah Eng Soon
Microsoft Secure Score Demo
Microsoft Secure Score Demo
Cheah Eng Soon
Microsoft Cloud App Security Demo
Microsoft Cloud App Security Demo
Cheah Eng Soon
M365 Attack Simulation Demo
M365 Attack Simulation Demo
Cheah Eng Soon
Cloud Security Demo
Cloud Security Demo
Cheah Eng Soon
Azure Active Directory - External Identities Demo
Azure Active Directory - External Identities Demo
Cheah Eng Soon
Azure WAF
Azure WAF
Cheah Eng Soon
Azure Weekend 2020 Build Malaysia Bus Uncle Chatbot
Azure Weekend 2020 Build Malaysia Bus Uncle Chatbot
Cheah Eng Soon
Microsoft Azure的20大常见安全漏洞与配置错误
Microsoft Azure的20大常见安全漏洞与配置错误
Cheah Eng Soon
20 common security vulnerabilities and misconfiguration in Azure
20 common security vulnerabilities and misconfiguration in Azure
Cheah Eng Soon
Integrate Microsoft Graph with Azure Bot Services
Integrate Microsoft Graph with Azure Bot Services
Cheah Eng Soon
Azure Sentinel with Office 365
Azure Sentinel with Office 365
Cheah Eng Soon
Plus de Cheah Eng Soon
(20)
Microsoft Defender for Endpoint
Microsoft Defender for Endpoint
Azure Active Directory - Secure and Govern
Azure Active Directory - Secure and Govern
Microsoft Zero Trust
Microsoft Zero Trust
MEM for OnPrem Environments
MEM for OnPrem Environments
Microsoft Threat Protection Automated Incident Response
Microsoft Threat Protection Automated Incident Response
Azure Penetration Testing
Azure Penetration Testing
Azure Penetration Testing
Azure Penetration Testing
Penetration Testing Azure for Ethical Hackers
Penetration Testing Azure for Ethical Hackers
Microsoft Threat Protection Automated Incident Response Demo
Microsoft Threat Protection Automated Incident Response Demo
Microsoft Secure Score Demo
Microsoft Secure Score Demo
Microsoft Cloud App Security Demo
Microsoft Cloud App Security Demo
M365 Attack Simulation Demo
M365 Attack Simulation Demo
Cloud Security Demo
Cloud Security Demo
Azure Active Directory - External Identities Demo
Azure Active Directory - External Identities Demo
Azure WAF
Azure WAF
Azure Weekend 2020 Build Malaysia Bus Uncle Chatbot
Azure Weekend 2020 Build Malaysia Bus Uncle Chatbot
Microsoft Azure的20大常见安全漏洞与配置错误
Microsoft Azure的20大常见安全漏洞与配置错误
20 common security vulnerabilities and misconfiguration in Azure
20 common security vulnerabilities and misconfiguration in Azure
Integrate Microsoft Graph with Azure Bot Services
Integrate Microsoft Graph with Azure Bot Services
Azure Sentinel with Office 365
Azure Sentinel with Office 365
Dernier
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
MadyBayot
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
apidays
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
danishmna97
Architecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Jago de Vreede
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Zilliz
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Sandro Moreira
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
Overkill Security
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
Rustici Software
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
apidays
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
Zilliz
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Nanddeep Nachan
Dernier
(20)
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
Architecting Cloud Native Applications
Architecting Cloud Native Applications
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Xamarin.Forms Hands On Lab (Advanced)
1.
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 Table of Contents Overview Introduction Requirements Create Resource Group Azure Mobile Services (Part 1) Azure Mobile Services (Part 2) Azure Mobile Services (Part 3) Create Class & Install Nuget (Part 1) Create Class & Install Nuget (Part 2) Create Class & Install Nuget (Part 3) Create Member (Part 1) Create Member (Part 2) Update Member List & Search Member Create MemberCell Authentication (Login) References 1
2.
Xamarin.Forms Advanced Tutorial Introduction About this tutorial Learn Xamarin by Creating Real World Cross-Platform Apps Learn to build both Android and iOS Apps in C#. Also understand how code sharing works on the Xamarin platform. Target Audience Those who want to apply their existing C# knowledge to create multi-platform mobile apps. Prepared by Eng Soon Cheah , Microsoft MVP @CheahEngSoon Introduction 2
3.
Requirements Visual Studio 2015 and above https://www.visualstudio.com/ Visual Studio Emulator for Android https://www.visualstudio.com/vs/msft-android-emulator/ Microsoft Azure Account https://azure.microsoft.com/en-us/ Requirements 3
4.
Create Resource Group 1. Go to Your Microsoft Azure Portal, login with your Microsoft account (outlook, hotmail & live). 2. On your left hand side pane, go to select "Resources groups" . 1.
Select "Add" on your top of the Pane. Create Resource Group 4
5.
4. Enter your Resources Group information and Click "Create". Create Resource Group 5
6.
Azure Mobile Services (Part 1) 1. Go to your Left Pane, Select " + New". 1. Select "Web + Mobile " , and "Mobile App" 3 Azure Mobile Services (Part 1) 6
7.
3.Enter Your Mobile App information and Resources Group select the Resource Group that you had create. After fill in information , please click "Create". Azure Mobile Services (Part 1) 7
8.
4.Your Mobile App Dashboard Success create. 5.In the Search Pane, Search for "Easy tables" and Select "Easy tables". 6. 6.After select "Easy Tables", Select "Need to configure Easy Tables/Easy APIs - Click here to continue ->" Azure Mobile Services (Part 1) 8
9.
6. 7.Follow the Instruction , Select "Connect a database" & Select "Add". 8.Configure the Data Connection Information. Azure Mobile Services (Part 1) 9
10.
Azure Mobile Services (Part 2) 1. Select "Connection String" & Click "OK" 1. Check/ Tick [ / ] I acknowledge that this will overwrite all site contents. & Click "Initialize App". 3. Now you create your database table. Select "Add" and Enter Your Table Name and Click "OK". Azure Mobile Services (Part 2) 10
11.
4.Select your "Table (Member)" , and Select "Manage Schema". Azure Mobile Services (Part 2) 11
12.
Azure Mobile Services ( Part 4) 1. Select "Add Column", add 3 column "username","password" & "membername". Azure Mobile Services (Part 3) 12
13.
Create Class and Install Nuget ( Part 1) 1. Open your Visual Studio 2015 and above. 2. Select "Cross Platform", "BlankApp(Xamarin.FormsPortable)" and name your Xamarin Project. 3.
Your Xamarin project success created and on your right side. 4. Go to your Solution Solution 'GitBookDemo', Right Click and select "Manage Nuget Packages for Solution". 5. Create Class & Install Nuget (Part 1) 13
14.
1. Select the First Nuget "Newtonsoft.Json" and Chcek[/] all the Project and Click "Install". 6. Search for another Nuget "Microsoft.Azure.Mobile.Client" & check all the project like previous step. Do the same step for "Microsoft.Azure.Mobile.Client.SQLiteStore". Create Class & Install Nuget (Part 1) 14
15.
Create Class & Install Nuget (Part 1) 15
16.
Create Class & Install Nuget (Part 2) 1. Go to "GitBookDemo (Portable)" , Right Click > "Add" > "Class" & name your class as "Constants.cs". 2. Write the Class and replace the Link with your Azure Mobile Services URL that you had create previously. Create Class & Install Nuget (Part 2) 16
17.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GitBookDemo { public static class Constants { public static string ApplicationURL = @"https://gitbook. azurewebsites.net"; } } Create Class & Install Nuget (Part 2) 17
18.
Create Class & Install Nuget (Part 3) 1. Create another Class, name as "Member.cs" and write the code in the Class. using System.Linq; using System.Text; using System.Threading.Tasks; namespace GitBookDemo { public class Member { [JsonProperty(PropertyName="id")] public string ID { get; set; } [JsonProperty(PropertyName ="username")] public string username { get; set; } [JsonProperty(PropertyName ="password")] public string password { get; set; } [JsonProperty(PropertyName ="membername")] public string membername { get; set; } } } 1. Create another Class, name as "MemberManager.cs" using Microsoft.WindowsAzure.MobileServices; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Linq.Expressions; using System.Text; Create Class & Install Nuget (Part 3) 18
19.
using System.Threading.Tasks; namespace GitBookDemo { public class MemberManager { IMobileServiceTable<Member> usersTable; MobileServiceClient client; public MemberManager() { client = new MobileServiceClient(Constants.Applicati onURL); usersTable = client.GetTable<Member>(); } public async Task<Member> GetUserWhere(Expression<Func<M ember, bool>> linq) { try { List<Member> newUser = await usersTable.Where(li nq).Take(1).ToListAsync(); return newUser.First(); } catch (MobileServiceInvalidOperationException msioe) { Debug.WriteLine(@"INVALID {0}", msioe.Message); } catch (Exception e) { Debug.WriteLine(@"ERROR {0}", e.Message); } return null; } public async Task<Member> SaveGetUserAsync(Member user) { if (user.ID == null) Create Class & Install Nuget (Part 3) 19
20.
{ await usersTable.InsertAsync(user); } else { await usersTable.UpdateAsync(user); } try { List<Member> newUser = await usersTable.Where(us erSelect => userSelect.username == user.username).ToListAsync(); return newUser.First(); } catch (MobileServiceInvalidOperationException msioe) { Debug.WriteLine(@"INVALID {0}", msioe.Message); } catch (Exception e) { Debug.WriteLine(@"ERROR {0}", e.Message); } return null; } public async Task<List<Member>> ListUserWhere(Expression <Func<Member, bool>> linq) { try { return new List<Member> ( await usersTable.Where(linq).ToListAsync() ); } catch (MobileServiceInvalidOperationException msioe) { Debug.WriteLine(@"INVALID {0}", msioe.Message); } Create Class & Install Nuget (Part 3) 20
21.
catch (Exception e) { Debug.WriteLine(@"ERROR {0}", e.Message); } return null; } } } Create Class & Install Nuget (Part 3) 21
22.
Create Member (Part 1) 1. Right Click "GitBookDemo(Portable)" , Select "Add" > Select "New Item" . 2.2. Create Member (Part 1) 22
23.
2.Select "Forms Xaml Page" and name the page "AddMember.xaml". Create Member (Part 1) 23
24.
Create Member (Part 2) 1.Go to "AddMember.xaml", Place the Entry (Textbox) and Button and Clicked Event <StackLayout> <Entry Placeholder="Username" x:Name="txtusername"/> <Entry Placeholder="Password" x:Name="txtpassword"/> <Button Text="Add Member" x:Name="addButton" Clicked="OnAdd" /> </StackLayout> 2.Then go to "AddMember.xaml.cs" and place the code. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; namespace GitBookDemo { public partial class AddMember : ContentPage { private MemberManager manager; public AddMember() { InitializeComponent(); manager = new MemberManager(); } Create Member (Part 2) 24
25.
async Task AddNewMember(Member member) { Member userResponse = await manager.SaveGetUserAsync (member); Application.Current.Properties["user"] = userRespons e; } public async void OnAdd(object sender, EventArgs e) { string username = txtusername.Text; string password = txtpassword.Text; if(!string.IsNullOrEmpty(username)&&!!string.IsNullOrEm pty(password)) { var member = new Member { username = username, password = password }; await AddNewMember(member); await Navigation.PushModalAsync(new MemberProfil e()); await Navigation.PopAsync(); } } } } Create Member (Part 2) 25
26.
Update Member 1. Add another page "MemberProfile.xaml" and place the code. <StackLayout> <Entry x:Name="txtMemberName"/> <Button x:Name="Save" Clicked="Save_Clicked"/> </StackLayout> 2.Go to MemberProfile.xaml.cs and place the code. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; namespace GitBookDemo { public partial class MemberProfile : ContentPage { private Member currentUser; MemberManager manager; public MemberProfile() { InitializeComponent(); manager = new MemberManager(); currentUser = (Member)Application.Current.Properties ["user"]; loadData(); } Update Member 26
27.
void loadData() { if(currentUser!=null) { if(!string.IsNullOrEmpty(currentUser.membername) ) { txtMemberName.Text = currentUser.membername; } } } async Task UpdateUser(Member member) { Member userResponse = await manager.SaveGetUserAsync (member); Application.Current.Properties["user"] = userRespons e; } async void Save_Clicked(object sender, EventArgs e) { string membername = this.txtMemberName.Text; if(string.IsNullOrEmpty(membername)) { await DisplayAlert("Error", "Fill blank fields", "Accept"); } else { var member = new Member { ID=currentUser.ID, username=currentUser.username, password=currentUser.password, membername=membername }; await UpdateUser(member); await DisplayAlert("Error", "Success Update", "A Update Member 27
28.
ccept"); } } } } Update Member 28
29.
List & Search Member 1. Create ListMember.xaml and place the code in Content <StackLayout> <SearchBar x:Name="searchBar" Placeholder="Search Route" Tex tChanged="OnSearch"></SearchBar> <ListView x:Name="memberListView" VerticalOptions="FillAndEx pand" HorizontalOptions="FillAndExpand" HeightRequest="500" RowHe ight="100" BackgroundColor="White" SeparatorColor="#009688" IsPullToRefreshEnabled="True" ></L istView> </StackLayout> 2.Place the code in ListMember.xaml.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; namespace GitBookDemo { public partial class ListMember : ContentPage { private Member currentUser; private List<Member> memberList; private MemberManager memberManager; public ListMember() { InitializeComponent(); List & Search Member 29
30.
currentUser = (Member)Application.Current.Properties ["user"]; memberList = new List<Member>(); memberManager = new MemberManager(); memberListView.ItemTemplate = new DataTemplate(typeo f(MemberCell)); LoadMember(); } private async void LoadMember() { memberList = await memberManager.ListUserWhere(userS elect => userSelect.membername != currentUser.membername); if(memberList.Count!=0) { memberListView.ItemsSource = memberList; } } private void OnSearch(object sender, TextChangedEventArg s e) { if(!string.IsNullOrWhiteSpace(e.NewTextValue)) { memberListView.ItemsSource= memberList.Where( userSelect=>userSelect.membername.ToLower( ).Contains(e.NewTextValue.ToLower())); } else { memberListView.ItemsSource = memberList; } } } List & Search Member 30
31.
} List & Search Member 31
32.
Create MemberCell 1. Now go to "GitBookDemo (Portable)" > Select "Add" > Select "New Item" > Select "Forms Xaml View" and Name MemberCell.xaml 2.Place the code in MemberCell.xaml Create MemberCell 32
33.
<?xml version="1.0" encoding="UTF-8"?> <ViewCell xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml " x:Class="GitBookDemo.MemberCell"> <StackLayout Orientation="Horizontal" Spacing="10" Background Color="White" Padding="10"> <Image x:Name="imageRoute" Source="profile.jpg" Aspect="Aspe ctFill" WidthRequest="75" ></Image> <StackLayout Orientation="Vertical" VerticalOptions="Center" > <Label x:Name="membername" TextColor="Blue" VerticalOption s="Center" FontSize="20"></Label> </StackLayout> </StackLayout> </ViewCell > 3.Place the backend Code in MemberCell.xaml.cs Create MemberCell 33
34.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; namespace GitBookDemo { public partial class MemberCell : ViewCell { public MemberCell() { InitializeComponent(); membername.SetBinding(Label.TextProperty, new Bindin g("membername")); } } } Create MemberCell 34
35.
Authentication (Login) 1. Create a LoginPage.xaml (Forms Xaml Page) and place the code in Content <StackLayout> <Entry x:Name="txtusername" Placeholder="Username"/> <Entry x:Name="txtpassword" Placeholder="Password"/> <Button x:Name="signInButton" Text="SignIn" Clicked="SignIn_ Clicked"/> </StackLayout> 2.Place the backend code LoginPage.xaml.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; namespace GitBookDemo { public partial class Login : ContentPage { private Member currentUser; private MemberManager memberManager; public Login() { InitializeComponent(); memberManager = new MemberManager(); } Authentication (Login) 35
36.
async void SignIn_Clicked(object sender, EventArgs e) { string username = this.txtusername.Text; string password = this.txtpassword.Text; var user = new Member { username = username, passwor d = password }; if(!string.IsNullOrEmpty(username)&&!string.IsNullOr Empty(password)) { Member userResponse = await memberManager.GetUse rWhere(userSelect => userSelect.username == user.username && use rSelect.password == user.password); if (userResponse != null && userResponse.usernam e.Equals(username, StringComparison.Ordinal) && userResponse.pas sword.Equals(password, StringComparison.Ordinal)) { Application.Current.Properties["user"] = use rResponse; Application.Current.MainPage = new Navigatio nPage(new ListMember()); } else { await DisplayAlert("Incorrect", "Your userna me or password is incorrect, please try again.", "Close"); } } else { await DisplayAlert("Incorrect", "The fields user name or Password can't be empty, please insert valid values.", " Close"); } Authentication (Login) 36
37.
} } } 1. Go to App.cs , place this code to set Main Page to Login Page. MainPage = new NavigationPage(new Login()); Authentication (Login) 37
38.
References Problems & Solutions after installation Xamarin in Visual Studio 2015 and above Part 1: http://cheahengsoon.weebly.com/blog/unable-to-install-latest-xamarin-android- nuget-visual-studio-solutionsc Part 2: http://cheahengsoon.weebly.com/blog/solve-javalangobjectclass-in-xamarin Xamarin.Forms - Page,Layouts and Views https://channel9.msdn.com/Blogs/MVP-Windows-Dev/XamarinFormsBeginner Xamarin.Forms - Plugin https://channel9.msdn.com/Blogs/MVP-Windows-Dev/XamarinForms--Plugin Xamarin + Azure Create a no code backend with Easy Tables http://bit.ly/AzureXHOL1 Create a Scalable .NET Backend & Authenticate Users http://bit.ly/AzureXHOL2 Microsoft Virtual Academy https://mva.microsoft.com/en-US/training-courses/xamarin-for-absolute-beginners- 16182?l=fPHWqptJC_5705846048 Xamarin E-Book https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps- xamarin-forms/ Source Code References 38
39.
https://github.com/cheahengsoon/GitBookDemo1 References 39
Télécharger maintenant