MasteringXamarinUIDevelopment
TableofContents
MasteringXamarinUIDevelopment
Credits
AbouttheAuthor
Acknowledgments
AbouttheReviewers
www.PacktPub.com
Whysubscribe?
CustomerFeedback
Dedication
Preface
Whatthisbookcovers
Whatyouneedforthisbook
Whothisbookisfor
Conventions
Readerfeedback
Customersupport
Downloadingtheexamplecode
Errata
Piracy
Questions
1.CreatingtheTrackMyWalksNativeApp
CreatingtheTrackMyWalkssolution
UpdatingtheTrackMyWalkssolutionpackages
CreatingtheTrackMyWalksmodel
Creatingthewalksmainpage
Creatingthenewwalkentrycontentpage
Creatingthewalktrailcontentpage
AddingtheXamarin.Forms.MapsNuGetpackage
CreatingtheDistanceTravelledPagecontentpage
CreatingtheSplashscreencontentpage
UpdatingtheXamarin.FormsAppclass
DifferencesbetweenXamarinStudioandVisualStudio
RunningtheTrackMyWalksappusingthesimulator
Summary
2.MVVMandDataBinding
UnderstandingtheMVVMpatternarchitecture
ImplementingtheMVVMViewModelswithinyourapp
CreatingtheWalkBaseViewModelfortheTrackMyWalksapp
ImplementingtheWalksPageViewModel
UpdatingthewalksmainpagetousetheMVVMmodel
ImplementingthewalksentrypageViewModel
UpdatingtheWalksEntryPagetousetheMVVMmodel
ImplementingthewalktrailpageViewModel
UpdatingtheWalksTrailPagetousetheMVVMmodel
ImplementingtheDistanceTravelledViewModel
UpdatingtheDistanceTravelledPagetousetheMVVMmodel
Summary
3.NavigatingwithintheMVVMModel-TheXamarin.FormsWay
UnderstandingtheXamarin.FormsNavigationAPI
DifferencesbetweenthenavigationandViewModelapproaches
Implementingthenavigationservicewithinyourapp
CreatingthenavigationserviceinterfacefortheTrackMyWalksapp
CreatinganavigationservicetonavigatewithinourViewModels
UpdatingtheWalkBaseViewModeltouseournavigationservice
UpdatingthewalksmainpageViewModelandnavigationservice
UpdatingthewalksmainpagetousetheupdatedViewModel
UpdatingthewalksentrypageViewModelandnavigationservice
UpdatingtheWalksEntryPagetousetheupdatedViewModel
UpdatingthewalkstrailpageViewModelandnavigationservice
UpdatingtheWalksTrailPagetousetheupdatedViewModel
UpdatingthedistancetravelledViewModelandnavigationservice
UpdatingtheDistanceTravelledPagetousetheupdatedViewModel
UpdatingtheXamarin.Forms.Appclasstousethenavigationservice
Summary
4.AddingLocation-BasedFeatureswithinYourApp
Creatingandusingplatform-specificservices
CreatingtheLocationServiceInterfacefortheTrackMyWalksapp
CreatingtheLocationServiceclassfortheAndroidplatform
CreatingtheLocationServiceclassfortheiOSplatform
Enablingbackgroundupdatesandgettingtheuser'scurrentlocation
UpdatingtheWalkEntryViewModeltousethelocationservice
UpdatingtheDistanceTravelledViewModeltousethelocationservice
UpdatingtheSplashPagetoregisterourViewModels
UpdatingtheMainActivityclasstouseXamarin.Forms.Maps
UpdatingtheXamarin.FormsAppclasstouseplatformspecifics
Summary
5.CustomizingtheUserInterface
CreatingtheDataTemplateclassfortheTrackMyWalksapp
Updatingthewalksmainpagetousethedatatemplate
CreatingaTableViewEntryCellcustompickerfortheiOSplatform
CreatingthecustompickerrendererclassfortheiOSplatform
UpdatingtheWalksEntryPagetousethecustompickerrenderer
CreatingPlatformEffectsusingtheEffectsAPIfortheiOSplatform
CreatingPlatformEffectsusingtheEffectsAPIfortheAndroidplatform
ImplementingvalueconverterswithintheTrackMyWalksapp
UpdatingtheWalkBaseViewModeltouseourBooleanconverter
UpdatingtheWalksPageViewModeltouseourBooleanconverter
UpdatingthewalksmainpagetousetheupdatedViewModel
UpdatingtheWalksTrailPagetousetheupdatedViewModel
UpdatingtheDistanceTravelledPagetousetheupdatedViewModel
UpdatingtheWalkCellDataTemplateclasstousePlatformEffects
Summary
6.WorkingwithRazorTemplates
UnderstandingtheRazortemplateengine
CreatingandimplementingRazortemplateswithinXamarinStudio
AddingtheSQLite.NetpackagetotheBookLibrarysolution
Creatingandimplementingthebooklibrarydatabasemodel
Creatingandimplementingthebookdatabasewrapper
CreatingandimplementingtheBookLibrarydatabasewrapper
Creatingandimplementingthebooklistingmainpage
CreatingandimplementingtheBookLibraryAddRazortemplate
CreatingandimplementingtheBookLibraryEditRazortemplate
CreatingandimplementingtheWebViewControllerclass
UpdatingthebooklibraryCascadingStyleSheet(CSS)
Summary
7.IncorporatingAPIDataAccessUsingMicrosoftAzureAppServices
SettingupourTrackMyWalksappusingMicrosoftAzure
AddingtheJson.NetNuGetpackagetotheTrackMyWalksapp
AddingtheHttpClientNuGetpackagetotheTrackMyWalksapp
UpdatingtheWalkEntriesmodeltousetheJson.Netframework
CreatingtheHTTPwebserviceclassfortheTrackMyWalksapp
CreatingtheDataServiceAPIfortheTrackMyWalksapp
CreatingtheDataServiceAPIclassfortheTrackMyWalksapp
UpdatingtheWalkBaseViewModeltouseourDataServiceAPI
UpdatingtheWalkEntryViewModeltouseourDataServiceAPI
UpdatingtheWalksPageViewModeltouseourDataServiceAPI
UpdatingtheWalksPagetousetheupdatedViewModel
UpdatingthecustompickerrendererclassfortheiOSplatform
UpdatingtheWalksEntryPagetousetheupdatedcustompicker
Summary
8.MakingOurAppSocial-UsingtheFacebookAPI
SettingupandregisteringtheTrackMyWalksappwithFacebook
AddingtheXamarin.AuthNuGetpackagetotheTrackMyWalksapp
AddingtheFaceBookSDKlibrarytotheTrackMyWalksapp
CreatingaFacebookusermodelfortheTrackMyWalksapp
CreatingaFacebookCredentialsclassfortheTrackMyWalksapp
CreatingtheFacebookSignIntousewithinourTrackMyWalksapp
CreatingtheFacebookSignInClassforTrackMyWalks(iOS)app
UpdatingtheNavigationServiceInterfacefortheTrackMyWalksapp