舉報

會員
Xamarin.Forms Projects
Xamarin.Formsisalightweightcross-platformdevelopmenttoolkitforbuildingapplicationswitharichuserinterface.Inthisbookyou'llstartbybuildingprojectsthatexplaintheXamarin.Formsecosystemtogetupandrunningwithbuildingcross-platformapplications.We'llincreaseindifficultythroughouttheprojects,makingyoulearnthenitty-grittyofXamarin.Formsofferings.You'llgaininsightsintothearchitecture,howtoarrangeyourapp'sdesign,wheretobegindeveloping,whatpitfallsexist,andhowtoavoidthem.Thebookcontainssevenreal-worldprojects,togetyouhands-onwithbuildingrichUIsandprovidingatrulycross-platformexperience.ItwillalsoguideyouonhowtosetupamachineforXamarinappdevelopment.You'llbuildasimpleto-doapplicationthatgetsyougoing,thendivedeepintobuildingadvancedappssuchasmessagingplatform,games,andmachinelearning,tobuildaUIforanaugmentedrealityproject.Bytheendofthebook,you'llbeconfidentinbuildingcross-platformsandfittingXamarin.Formstoolkitsinyourappdevelopment.You'llbeabletotakethepracticeyougetfromthisbooktobuildapplicationsthatcomplywithyourrequirements.
最新章節
- Leave a review - let other readers know what you think
- Other Books You May Enjoy
- Summary
- Building the view
- Building the ViewModel
- Building the result view
品牌:中圖公司
上架時間:2021-07-02 12:38:11
出版社:Packt Publishing
本書數字版權由中圖公司提供,并由其授權上海閱文信息技術有限公司制作發行
- Leave a review - let other readers know what you think 更新時間:2021-07-02 14:44:43
- Other Books You May Enjoy
- Summary
- Building the view
- Building the ViewModel
- Building the result view
- Building the view
- Building the ViewModel
- Building the first view
- Creating the Android bootstrapper
- Creating the iOS bootstrapper
- Creating a Bootstrapper
- Creating a Resolver
- Initializing the app
- Creating a base ViewModel
- Using TensorFlow for image classification
- Using CoreML for image classification
- Classifying images with machine learning
- Building the app
- Exporting a model
- Training a model
- Tagging images
- Training a model
- Building the Hot Dog or Not Hot Dog application using machine learning
- Getting started
- Project overview
- TensorFlow
- CoreML
- Azure Cognitive Services – Custom Vision
- Machine learning
- Technical requirements
- Hot Dog or Not Hot Dog Using Machine Learning
- Summary
- Subscribing to the updates in the MainForm
- Updating the GUI
- Wiring up events
- Sending updates via MessagingCenter
- Defining a statistics class
- Updating statistics
- Wiring up input
- OnTouchBegin()
- DetermineHit()
- Adding a death animation
- Adding box hit-test
- Assigning the Rotator component
- Creating the rotate component
- Making boxes rotate
- OnUpdate()
- AddBox()
- Adding boxes
- Implementing the game startup
- Adding lights
- Configuring a renderer
- Adding a camera
- Writing the game
- InitializeAR
- OnConfigRequested
- Initializing ARCore
- Writing a handler for ARFrame updates
- SetPositionAndRotation
- Defining the ARCoreComponent
- Writing ARCore-specific code
- Initializing ARKit
- OnRemoveAnchors
- Writing a handler for removing anchors
- OnUpdateAnchors
- OnAddAnchor
- UpdateOrAddPlaneNode
- SetPositionAndRotation
- Writing handlers for adding and updating anchors
- Defining the ARKitComponent
- Writing the ARKit-specific code
- Adding the Android-specific partial class
- Adding the iOS-specific partial class
- Adding platform-specific partial classes
- FindNodeByPlaneId
- UpdateSubPlane
- CreateSubPlane
- Adding the shared partial Game class
- Creating the game
- For Android
- For iOS
- Adding custom renderers for the ARView control
- Defining the PlaneNode
- Adding the Android life cycle events
- Installing the UrhoSharp.ARCore Nuget Package for Android
- Installing the UrhoSharp NuGet package for iOS
- Adding Urhosharp
- Modifying the MainPage
- Creating the ARView control
- Defining the user interface
- Adding Camera Usage Description for iOS
- Adding the camera permission to Android
- Setting the Android target to 8.1
- Updating the Xamarin.Forms NuGet packages
- Creating the project
- Beginning the project
- An overview of the project
- Essential theory
- Technical requirements
- Creating an Augmented-Reality Game
- Summary
- Handling life cycle events
- Applying the style sheet
- Styling with CSS
- Styling
- Fixing the code behind
- Adding the buttons and entry control
- Creating a template selector
- Adding templates
- Adding ListView
- Adding ResourceDictionary
- Creating the skeleton ChatView
- Creating Base64ToImageConverter
- Creating the ChatView
- Sending photos
- Installing the Media plugin
- Installing the Acr.UserDialogs plugin
- Sending text messages
- Creating the LocalSimpleTextMessage class
- Receiving messages
- Adding the text property
- Creating the class
- Creating the ChatViewModel
- Creating the ChatView
- Setting the main view
- Fixing the code behind the view
- Editing the XAML
- Replacing the MainPage
- Creating the MainView
- Creating MainViewModel
- Creating the Mainview
- Creating a base ViewModel
- Creating a Bootstrapper
- Creating a resolver
- Initializing the app
- Creating the chat service
- Building the chat app
- Getting started
- Project overview
- Technical requirements
- Building a Real-Time Chat Application
- Summary
- Deploying the functions to Azure
- Creating a scheduled job to clear photos from storage
- Using the Computer Vision API to scan for adult content
- Creating a function for sending messages
- Creating a storage helper
- Creating a message library
- Creating a function to return the connection information for the SignalR service
- Creating the Azure service for functions
- Creating functions
- Creating a Cognitive Service
- Creating a storage account
- Creating a SignalR service
- Building the serverless backend
- Project overview
- Azure Cognitive Services
- Azure blob storage
- Azure functions
- Azure SignalR Service
- Azure serverless services
- Technical requirements
- Setting up a Backend for a Chat App Using Azure Services
- Summary
- Creating a behavior to set state changes
- Handling states with VisualStateManager
- Navigating to different views based on the form factor
- Adding pull to refresh functionality
- Using a grouped ListView
- Creating the view for phones
- Setting a background image
- Adding a loading indicator
- Adding a toolbar item to refresh the weather data
- Using RepeaterView
- Creating the view for tablets and desktop computers
- Creating a RepeaterView based on a FlexLayout
- Creating a bootstrapper
- Creating a Resolver
- Grouping the weather data
- Getting the weather data
- Creating the ViewModel class
- Configuring the UWP app to use location services
- Configuring the Android app to use location services
- Configuring the iOS app to use location services
- Configuring the applications to use location services
- Creating a service for fetching the weather data
- Adding the Forecast model
- Adding the ForecastItem model
- Adding the app-specific models
- Adding the weather API models manually
- Creating models for the weather data
- Building the weather app
- Getting started
- Project overview
- Technical requirements
- Building a Weather App for Multiple Form Factors
- Summary
- Refreshing the map when resuming the app
- Creating a custom renderer to extend the map in the Android app
- Creating a custom renderer to extend the map in the iOS app
- Creating a custom control for the map
- Creating custom renderers
- Preparing the data for visualization
- Adding a GetAll method to the LocationRepository
- Creating a heat map
- Subscribing to location updates
- Scheduling a background job
- Creating a background job
- Adding the required permissions to use the location of the user
- Background location tracking with Android
- Subscribing to location updates
- Getting permissions to use the location of the user
- Enabling location updates in the background
- Background location tracking on iOS
- Setting the MainPage
- Creating the Android bootstrapper
- Creating the iOS bootstrapper
- Creating the bootstrapper
- Creating a resolver
- Creating a ViewModel
- Creating a view with a map
- Setting up the app logic
- Creating a service for location tracking
- Configuring Xamarin.Essentials on Android
- Installing the NuGet package
- Xamarin.Essentials
- Creating the repository
- Creating a model for the location data
- Creating a repository to save the location of the users
- Building the MeTracker app
- Getting started
- Project overview
- Technical requirements
- Building a Location Tracking App Using GPS and Maps
- Summary
- Wiring up events
- Adding methods to update the GUI and respond to events
- Subscribing to events
- Adding count labels
- Making the call from the constructor
- Adding initial photos
- Adding images
- Wiring up the Swiper control
- Raising the events
- Declaring two events
- Adding events to the control
- Updating PanCompleted
- Removing the image
- Checking if the image should exit
- Adding exit logic
- Wiring up the pan state check
- Defining a method for calculating the state
- Adding code to calculate the state
- Adding a clamp function
- Determining the screen size
- Adding the StackLayout for denying photos
- Adding the StackLayout for liking photos
- Extending the grid
- Creating decision zones
- Testing the control
- Handling pan gestures
- Controlling the loading label
- Setting the source
- Binding the picture to the control
- Creating a picture class
- Creating the DescriptionGenerator
- Adding a content view for the photo
- Defining the main grid
- Creating the control
- Creating the Swiper control
- Designing the MainPage file
- Updating the Xamarin.Forms NuGet packages
- Creating the new project
- Creating the project
- Creating the matchmaking app
- Project overview
- Technical requirements
- A Matchmaking App with a Rich UX Using Animations
- Summary
- Touching up the ListView
- The filter button
- Laying out the MainView and ListView items
- Setting an application-wide background color
- Laying out contents
- Creating the filter toggle function using a command
- Marking an item as complete using a command
- Navigating to an item using a command
- Using the ValueConverter
- Creating a ValueConverter for the item status
- Binding the ListView in the MainView
- Adding new items to the list
- Navigating from the MainView to the ItemView to add a new item
- Adding data bindings
- Making the app run
- Adding a bootstrapper in UWP
- Adding a bootstrapper in Android
- Adding a bootstrapper on iOS
- Creating the bootstrapper
- Creating the resolver
- Adding a reference to Autofac
- Wiring up a dependency injection through Autofac
- Creating the ItemView
- Creating the MainView
- Creating the ItemViewModel
- Creating the TodoItemViewModel
- Creating the MainViewModel
- Introducing PropertyChanged.Fody
- Defining a ViewModel base class
- Using MVVM – creating Views and ViewModels
- Implementing the Get Add and Update methods
- Creating a connection to the SQLite database
- Updating the TodoItem class
- Adding the SQLite NuGet package
- Connecting SQLite to persist data
- Creating a repository and its interface
- Defining a to-do list item
- Creating a repository and a TodoItem model
- Removing the MainPage file
- Updating the Xamarin.Forms packages
- DoToo.UWP
- DoToo.iOS
- DoToo.Android
- DoToo
- Examining the files
- Creating the new project
- Setting up the project
- Beginning the project
- An overview of the project
- Technical requirements
- Building Our First Xamarin.Forms App
- Summary
- Configuring UWP developer mode
- Configuring an Android emulator and hardware acceleration
- Pairing Visual Studio with a Mac
- Installing Xamarin for Visual Studio
- Setting up a Windows machine
- Configuring the Android emulator
- Installing Visual Studio
- Installing Xcode
- Setting up a Mac
- Setting up a development machine
- When to use Xamarin.Forms
- Xamarin.Forms versus traditional Xamarin
- XAML or C#?
- Creating a page in C#
- Creating a page in XAML
- Defining a Label control
- Defining a user interface using XAML
- The architecture of Xamarin.Forms
- Xamarin.Forms
- Xamarin.Mac
- Xamarin.Android
- Xamarin.iOS
- Using existing knowledge
- Code sharing
- Xamarin and Mono
- Native applications
- Introduction to Xamarin
- Reviews
- Get in touch
- Conventions used
- Download the color images
- Download the example code files
- To get the most out of this book
- What this book covers
- Who this book is for
- Preface
- Packt is searching for authors like you
- About the reviewer
- About the authors
- Contributors
- Foreword
- Packt.com
- Why subscribe?
- www.PacktPub.com
- Dedication
- Xamarin.Forms Projects
- Copyright and Credits
- Title Page
- coverpage
- coverpage
- Title Page
- Copyright and Credits
- Xamarin.Forms Projects
- Dedication
- www.PacktPub.com
- Why subscribe?
- Packt.com
- Foreword
- Contributors
- About the authors
- About the reviewer
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- Introduction to Xamarin
- Native applications
- Xamarin and Mono
- Code sharing
- Using existing knowledge
- Xamarin.iOS
- Xamarin.Android
- Xamarin.Mac
- Xamarin.Forms
- The architecture of Xamarin.Forms
- Defining a user interface using XAML
- Defining a Label control
- Creating a page in XAML
- Creating a page in C#
- XAML or C#?
- Xamarin.Forms versus traditional Xamarin
- When to use Xamarin.Forms
- Setting up a development machine
- Setting up a Mac
- Installing Xcode
- Installing Visual Studio
- Configuring the Android emulator
- Setting up a Windows machine
- Installing Xamarin for Visual Studio
- Pairing Visual Studio with a Mac
- Configuring an Android emulator and hardware acceleration
- Configuring UWP developer mode
- Summary
- Building Our First Xamarin.Forms App
- Technical requirements
- An overview of the project
- Beginning the project
- Setting up the project
- Creating the new project
- Examining the files
- DoToo
- DoToo.Android
- DoToo.iOS
- DoToo.UWP
- Updating the Xamarin.Forms packages
- Removing the MainPage file
- Creating a repository and a TodoItem model
- Defining a to-do list item
- Creating a repository and its interface
- Connecting SQLite to persist data
- Adding the SQLite NuGet package
- Updating the TodoItem class
- Creating a connection to the SQLite database
- Implementing the Get Add and Update methods
- Using MVVM – creating Views and ViewModels
- Defining a ViewModel base class
- Introducing PropertyChanged.Fody
- Creating the MainViewModel
- Creating the TodoItemViewModel
- Creating the ItemViewModel
- Creating the MainView
- Creating the ItemView
- Wiring up a dependency injection through Autofac
- Adding a reference to Autofac
- Creating the resolver
- Creating the bootstrapper
- Adding a bootstrapper on iOS
- Adding a bootstrapper in Android
- Adding a bootstrapper in UWP
- Making the app run
- Adding data bindings
- Navigating from the MainView to the ItemView to add a new item
- Adding new items to the list
- Binding the ListView in the MainView
- Creating a ValueConverter for the item status
- Using the ValueConverter
- Navigating to an item using a command
- Marking an item as complete using a command
- Creating the filter toggle function using a command
- Laying out contents
- Setting an application-wide background color
- Laying out the MainView and ListView items
- The filter button
- Touching up the ListView
- Summary
- A Matchmaking App with a Rich UX Using Animations
- Technical requirements
- Project overview
- Creating the matchmaking app
- Creating the project
- Creating the new project
- Updating the Xamarin.Forms NuGet packages
- Designing the MainPage file
- Creating the Swiper control
- Creating the control
- Defining the main grid
- Adding a content view for the photo
- Creating the DescriptionGenerator
- Creating a picture class
- Binding the picture to the control
- Setting the source
- Controlling the loading label
- Handling pan gestures
- Testing the control
- Creating decision zones
- Extending the grid
- Adding the StackLayout for liking photos
- Adding the StackLayout for denying photos
- Determining the screen size
- Adding a clamp function
- Adding code to calculate the state
- Defining a method for calculating the state
- Wiring up the pan state check
- Adding exit logic
- Checking if the image should exit
- Removing the image
- Updating PanCompleted
- Adding events to the control
- Declaring two events
- Raising the events
- Wiring up the Swiper control
- Adding images
- Adding initial photos
- Making the call from the constructor
- Adding count labels
- Subscribing to events
- Adding methods to update the GUI and respond to events
- Wiring up events
- Summary
- Building a Location Tracking App Using GPS and Maps
- Technical requirements
- Project overview
- Getting started
- Building the MeTracker app
- Creating a repository to save the location of the users
- Creating a model for the location data
- Creating the repository
- Xamarin.Essentials
- Installing the NuGet package
- Configuring Xamarin.Essentials on Android
- Creating a service for location tracking
- Setting up the app logic
- Creating a view with a map
- Creating a ViewModel
- Creating a resolver
- Creating the bootstrapper
- Creating the iOS bootstrapper
- Creating the Android bootstrapper
- Setting the MainPage
- Background location tracking on iOS
- Enabling location updates in the background
- Getting permissions to use the location of the user
- Subscribing to location updates
- Background location tracking with Android
- Adding the required permissions to use the location of the user
- Creating a background job
- Scheduling a background job
- Subscribing to location updates
- Creating a heat map
- Adding a GetAll method to the LocationRepository
- Preparing the data for visualization
- Creating custom renderers
- Creating a custom control for the map
- Creating a custom renderer to extend the map in the iOS app
- Creating a custom renderer to extend the map in the Android app
- Refreshing the map when resuming the app
- Summary
- Building a Weather App for Multiple Form Factors
- Technical requirements
- Project overview
- Getting started
- Building the weather app
- Creating models for the weather data
- Adding the weather API models manually
- Adding the app-specific models
- Adding the ForecastItem model
- Adding the Forecast model
- Creating a service for fetching the weather data
- Configuring the applications to use location services
- Configuring the iOS app to use location services
- Configuring the Android app to use location services
- Configuring the UWP app to use location services
- Creating the ViewModel class
- Getting the weather data
- Grouping the weather data
- Creating a Resolver
- Creating a bootstrapper
- Creating a RepeaterView based on a FlexLayout
- Creating the view for tablets and desktop computers
- Using RepeaterView
- Adding a toolbar item to refresh the weather data
- Adding a loading indicator
- Setting a background image
- Creating the view for phones
- Using a grouped ListView
- Adding pull to refresh functionality
- Navigating to different views based on the form factor
- Handling states with VisualStateManager
- Creating a behavior to set state changes
- Summary
- Setting up a Backend for a Chat App Using Azure Services
- Technical requirements
- Azure serverless services
- Azure SignalR Service
- Azure functions
- Azure blob storage
- Azure Cognitive Services
- Project overview
- Building the serverless backend
- Creating a SignalR service
- Creating a storage account
- Creating a Cognitive Service
- Creating functions
- Creating the Azure service for functions
- Creating a function to return the connection information for the SignalR service
- Creating a message library
- Creating a storage helper
- Creating a function for sending messages
- Using the Computer Vision API to scan for adult content
- Creating a scheduled job to clear photos from storage
- Deploying the functions to Azure
- Summary
- Building a Real-Time Chat Application
- Technical requirements
- Project overview
- Getting started
- Building the chat app
- Creating the chat service
- Initializing the app
- Creating a resolver
- Creating a Bootstrapper
- Creating a base ViewModel
- Creating the Mainview
- Creating MainViewModel
- Creating the MainView
- Replacing the MainPage
- Editing the XAML
- Fixing the code behind the view
- Setting the main view
- Creating the ChatView
- Creating the ChatViewModel
- Creating the class
- Adding the text property
- Receiving messages
- Creating the LocalSimpleTextMessage class
- Sending text messages
- Installing the Acr.UserDialogs plugin
- Installing the Media plugin
- Sending photos
- Creating the ChatView
- Creating Base64ToImageConverter
- Creating the skeleton ChatView
- Adding ResourceDictionary
- Adding ListView
- Adding templates
- Creating a template selector
- Adding the buttons and entry control
- Fixing the code behind
- Styling
- Styling with CSS
- Applying the style sheet
- Handling life cycle events
- Summary
- Creating an Augmented-Reality Game
- Technical requirements
- Essential theory
- An overview of the project
- Beginning the project
- Creating the project
- Updating the Xamarin.Forms NuGet packages
- Setting the Android target to 8.1
- Adding the camera permission to Android
- Adding Camera Usage Description for iOS
- Defining the user interface
- Creating the ARView control
- Modifying the MainPage
- Adding Urhosharp
- Installing the UrhoSharp NuGet package for iOS
- Installing the UrhoSharp.ARCore Nuget Package for Android
- Adding the Android life cycle events
- Defining the PlaneNode
- Adding custom renderers for the ARView control
- For iOS
- For Android
- Creating the game
- Adding the shared partial Game class
- CreateSubPlane
- UpdateSubPlane
- FindNodeByPlaneId
- Adding platform-specific partial classes
- Adding the iOS-specific partial class
- Adding the Android-specific partial class
- Writing the ARKit-specific code
- Defining the ARKitComponent
- Writing handlers for adding and updating anchors
- SetPositionAndRotation
- UpdateOrAddPlaneNode
- OnAddAnchor
- OnUpdateAnchors
- Writing a handler for removing anchors
- OnRemoveAnchors
- Initializing ARKit
- Writing ARCore-specific code
- Defining the ARCoreComponent
- SetPositionAndRotation
- Writing a handler for ARFrame updates
- Initializing ARCore
- OnConfigRequested
- InitializeAR
- Writing the game
- Adding a camera
- Configuring a renderer
- Adding lights
- Implementing the game startup
- Adding boxes
- AddBox()
- OnUpdate()
- Making boxes rotate
- Creating the rotate component
- Assigning the Rotator component
- Adding box hit-test
- Adding a death animation
- DetermineHit()
- OnTouchBegin()
- Wiring up input
- Updating statistics
- Defining a statistics class
- Sending updates via MessagingCenter
- Wiring up events
- Updating the GUI
- Subscribing to the updates in the MainForm
- Summary
- Hot Dog or Not Hot Dog Using Machine Learning
- Technical requirements
- Machine learning
- Azure Cognitive Services – Custom Vision
- CoreML
- TensorFlow
- Project overview
- Getting started
- Building the Hot Dog or Not Hot Dog application using machine learning
- Training a model
- Tagging images
- Training a model
- Exporting a model
- Building the app
- Classifying images with machine learning
- Using CoreML for image classification
- Using TensorFlow for image classification
- Creating a base ViewModel
- Initializing the app
- Creating a Resolver
- Creating a Bootstrapper
- Creating the iOS bootstrapper
- Creating the Android bootstrapper
- Building the first view
- Building the ViewModel
- Building the view
- Building the result view
- Building the ViewModel
- Building the view
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-07-02 14:44:43