Index
A
- ActionBar
- actions, adding to / Adding actions to ActionBar
- actions
- adding, to ActionBar / Adding actions to ActionBar
- activities
- about / Activities
- life cycle / The life cycle of an activity
- events / The events of an activity
- ActivityManager
- about / The application framework
- activity state, for configuration changes
- saving / Saving the activity state for configuration changes
- saving manually / Manually saving the activity state
- POI list scroll position, retaining / Retaining the POI list scroll position
- adapter layouts
- about / Adapter layouts
- ListView / Adapter layouts
- GridView / Adapter layouts
- Ahead-of-Time (AOT) / The Android runtime
- Android
- data storage / Data storage in Android
- android*verionName / The application versioning scheme
- android*versionCode / The application versioning scheme
- Android.Locations.Geocoder class / Getting an address for a location
- Android application
- building blocks / The building blocks of the Android application
- Android Application Framework (AAF) / The Android runtime
- Android application orientation
- Android behavior, on configuration changes / The Android behavior on configuration changes
- locking / Locking the Android application orientation
- dynamically requesting / Dynamically requesting the orientation
- activity state, saving for configuration changes / Saving the activity state for configuration changes
- orientation-aware layout, building / Building the orientation-aware layout
- orientation behavior, handling manually / Manually handling the orientation behavior
- Android bindings design
- about / The Android bindings design
- principles / Design principles
- C# properties / C# properties
- delegates, using / Delegates
- constants to enumerations / Constants to enumerations
- Android Cloud to Device Messaging (C2DM) service / Versions of Android
- Android device
- debugging with / Debugging with an Android device
- USB debugging, enabling / Enabling USB debugging
- USB driver, installing / Installing a USB driver
- apps, running on device / Running apps on a device
- peer object / The peer object
- Android Device Monitor (ADM) / Mocking location data for testing
- Android documentation
- references / Tools
- Android emulator
- speeding up / Speeding up the Android emulator
- x86 emulator, using / Using the x86 emulator
- third-party emulator solutions / Third-party emulator solutions
- AndroidManifest.xml file
- about / The AndroidManifest.xml file
- Android packages (.apk)
- about / The Android packages (.apk)
- Android platform
- about / The Android platform
- versions / Versions of Android
- Linux kernel / The Linux kernel
- native libraries / Native libraries
- Android runtime / The Android runtime
- Android Runtime (ART) / Versions of Android
- URL / The Android runtime
- about / Mono and Dalvik side by side
- Android SDK Build-tools
- about / Tools
- Android SDK Platform-tools
- about / Tools
- Android SDK Tools
- about / Tools
- Android tablet emulator
- creating / Creating an Android tablet emulator
- Android tablets
- Android Virtual Device (AVD)
- app, publishing to app store
- application, preparing for release / Preparing the application for release
- signed APK, publishing for uploading / Publishing a signed APK for uploading
- app distribution options / Different app distribution options
- app distribution options
- about / Different app distribution options
- self-publishing, via website links or e-mail / Self-publishing via website links or e-mails
- publishing in Google Play / Publishing on Google Play
- third-party app stores / Third-party app stores
- app icon
- setting / Setting the app icon and package name
- application, preparing for release
- about / Preparing the application for release
- debug mode, disabling / Disabling the debug mode
- linking options, configuring / Configuring linking options
- linking, side effects / Side effects of linking
- supported ABIs, selecting / Selecting supported ABIs
- package name, verifying / Verifying the package name, icon, and app version
- application name, verifying / The application name and icon
- application icon, verifying / The application name and icon
- application versioning scheme, verifying / The application versioning scheme
- review user permissions / Review user permissions
- Application Binary Interfaces (ABIs) / Selecting supported ABIs
- application framework
- about / The application framework
- application layer / The application layer
- application manifest
- about / The application manifest
- Application Programming interfaces (APIs)
- about / An introduction to web services
- async await / Creating SavePOI()
- asynchronous programming
- with async keyword / Asynchronous programming with async and await
- with await keyword / Asynchronous programming with async and await
- async keyword / Asynchronous programming with async and await
- attributes, SQLite.net ORM component
- Table / Using attributes to mark POIApp to be persisted
- Column / Using attributes to mark POIApp to be persisted
- PrimaryKey / Using attributes to mark POIApp to be persisted
- AutoIncrement / Using attributes to mark POIApp to be persisted
- Indexed / Using attributes to mark POIApp to be persisted
- Unique / Using attributes to mark POIApp to be persisted
- MaxLength / Using attributes to mark POIApp to be persisted
- Ignore / Using attributes to mark POIApp to be persisted
- NotNull / Using attributes to mark POIApp to be persisted
- await keyword / Asynchronous programming with async and await
B
- bool, primitive data pairs / Shared preferences
- building blocks, Android application
- about / The building blocks of the Android application
- Android packages (.apk) / The Android packages (.apk)
- application manifest / The application manifest
- activities / Activities
- fragments / Fragments
- services / Services
- content providers / Content providers
- element and attribute names / Element and attribute names
C
- C# properties / C# properties
- caching logic
- implementing, to POIApp / Implementing the caching logic to POIApp
- camera app integration
- integration approach, selecting / Picking an integration approach
- permissions / Permissions and features
- features / Permissions and features
- emulator, configuring / Configuring the emulator
- data service, extending / Extending the data service
- image, capturing from POIDetailFragment / Capturing an image from POIDetailFragment
- image uploading, HTTP multipart used / Upload an image using an HTTP multipart
- Common Language Runtime (CLR)
- about / What is Mono?
- configuration changes
- handling, with fragments / Handling configuration changes with fragments
- considerations, for designing Android app user interfaces
- screen size / An introduction to Android tablets
- screen density / An introduction to Android tablets
- resolution / An introduction to Android tablets
- screen orientation / An introduction to Android tablets
- content providers
- about / The application framework, Content providers
- broadcast receivers / Broadcast receivers
- Views / Views and ViewGroups
- ViewGroups / Views and ViewGroups
- declarative, versus programmatic View creation / Declarative versus programmatic View creation
- user interface widgets / User interface widgets
- common layouts / Common layouts
- adapter layouts / Adapter layouts
- XML layout files / XML layout files
- CreateOrUpdatePOIAsync method
- adding, to POIService / Adding the CreateOrUpdatePOIAsync method to POIService
- CreatePOI() method
- about / The CreatePOI test
D
- Dalvik Virtual Machine (Dalvik VM) / The Android runtime
- data
- receiving, in POIDetailActivity / Receiving the data in POIDetailActivity
- database helper class
- creating / Adding a database helper class
- POI record, creating / Creating or updating the POI record
- POI record, updating / Creating or updating the POI record
- POI details, reading from database / Reading POI details from the database
- POI data, deleting from database / Deleting the POI data from the database
- data service, extending
- GetFileName(), implementing / Implementing GetFileName()
- GetImage(), implementing / Implementing GetImage()
- DeleteImage(), implementing / Implementing DeleteImage()
- data storage, in Android
- about / Data storage in Android
- internal storage / Data storage in Android
- external file storage / Data storage in Android
- SQLite storage / Data storage in Android, The SQLite database storage
- shared preferences / Shared preferences
- default layouts, ListView widget
- SimpleListItem1 / Creating the POI list row layout
- SimpleListItem2 / Creating the POI list row layout
- TwoLineListItem / Creating the POI list row layout
- ActivityListItem / Creating the POI list row layout
- delete action
- adding / Adding the save and delete actions
- disabling / Disabling the delete action
- adding, in POIService / Adding the save and delete actions in POIService
- delete confirmation prompt
- adding / Adding a delete confirmation prompt
- DeleteImage() method
- implementing / Implementing DeleteImage()
- DeletePOI() method
- creating / Creating DeletePOI()
- about / The DeletePOI test
- DeletePOIAsync method
- adding, to POIService / Adding the DeletePOIAsync method to POIService
- deserializing
- with Json.NET / Serializing and deserializing using Json.NET
- development environments
- about / Development environments
- Xamarin Studio / Xamarin Studio
- Xamarin, for Visual Studio / Xamarin for Visual Studio
- IDE comparison / IDE comparison
- compatibility / Compatibility
- DialogFragment
- working with / Working with DialogFragment
E
- EditText.Error property
- EditText InputType
- working with / Working with EditText's InputType
- element and attribute names
- about / Element and attribute names
- View and layout identifier / The View and layout identifiers
- XML layouts, using from activities / Using XML layouts from activities
- intents / Intents
- resources / Resources
- R.java file / The R.java file
- emulator
- configuring, for camera / Configuring the emulator
F
- features, Xamarin
- IntelliSense / Xamarin for Visual Studio
- Visual Designer / Xamarin for Visual Studio
- float, primitive data pairs / Shared preferences
- fragment life cycle events
- onInflate event / The fragment life cycle
- onAttach method / The fragment life cycle
- onCreate event / The fragment life cycle
- onCreateView event / The fragment life cycle
- onActivityCreated method / The fragment life cycle
- onStart method / The fragment life cycle
- onResume method / The fragment life cycle
- onPause method / The fragment life cycle
- onStop method / The fragment life cycle
- onDestroyView method / The fragment life cycle
- onDestroy method / The fragment life cycle
- onDetach method / The fragment life cycle
- fragments
- about / Fragments, An introduction to fragments
- life cycle / The fragment life cycle
- creating / Creating a new fragment
- using, for displaying POIDetails / Using fragments for displaying POIDetails
- creating, to display POI list / Creating the fragment to display the POI list using POIListFragment
- for older Android devices / Fragments for older Android devices
- fragment subclasses
- ListFragment / An introduction to fragments
- DialogFragment / An introduction to fragments
- PreferenceFragment / An introduction to fragments
G
- Geocoding / Getting an address for a location
- GetFileName() method
- implementing / Implementing GetFileName()
- GetImage() method
- implementing / Implementing GetImage()
- GetJar
- URL / Third-party app stores
- Google app icon design guidelines
- Google Play
- about / Publishing on Google Play
I
- IDE
- pros / IDE comparison
- cons / IDE comparison
- ILocationListener
- implementing / Implementing ILocationListener
- image, capturing from POIDetailFragment
- about / Capturing an image from POIDetailFragment
- UI elements, adding / Adding UI elements
- camera Intent, creating / Creating the camera Intent
- registered camera apps, checking for / Checking for registered camera apps
- additional information, providing with Intent / Providing additional information with the Intent
- filename, providing / Providing a filename and location
- location, providing / Providing a filename and location
- size limit, providing / Providing a size limit
- Intent, starting / Starting the Intent
- NewPhotoClicked() method, completing / Completing the NewPhotoClicked() method
- Intent results, processing / Processing the results of the Intent
- int, primitive data pairs / Shared preferences
- intents
- about / Intents
- Internet permissions
- adding / Adding Internet permissions
J
- Java Debug Wire Protocol (JDWP) / Disabling the debug mode
- Java Native Interface (JNI)
- about / The Java Native Interface
- Json.NET
- about / Serializing and deserializing using Json.NET
- used, for serializing / Serializing and deserializing using Json.NET
- used, for deserializing / Serializing and deserializing using Json.NET
- Json.NET component / Navigation on the POIList item click
- Just in Time (JIT) / The Android runtime
K
- key/value data pairs / Shared preferences
- key/value pairs / Navigation on the POIList item click
- keystore / Android keystores
- keytool / Android keystores
L
- launcher activity
- about / The launcher activity
- layout managers
- linear layout / Common layouts
- relative layout / Common layouts
- table layout / Common layouts
- Linux kernel
- about / The Linux kernel
- ListFragment
- using, for displaying POI list / Using the list fragment for displaying the POI list
- about / Understanding ListFragment
- key concepts / Understanding ListFragment
- POIListFragment layout, creating / Creating the POIListFragment layout
- list thumbnail image
- populating / Populating the list thumbnail image
- ListView click event
- handling / Handling the ListView click event
- ListView item
- populating / Populating the ListView item
- ListView widget
- default layouts / Creating the POI list row layout
- location change notifications
- requesting / Requesting location change notifications
- LocationManager
- about / The application framework
- location services
- working with / Working with location services
- app permissions, setting / Setting the app permissions
- emulator, configuring / Configuring the emulator
- LocationManager class, obtaining / Obtaining an instance of LocationManager
- adding, to POIApp / Adding location services to POIApp
- adding, to POI list / Adding location services to the POI list
- adding, to POI details / Adding location services to POI details
- user interface, updating / Updating the user interface
- code, adding / Adding the code
- location data, mocking for testing / Mocking location data for testing
- address for location, obtaining / Getting an address for a location
- users, keeping informed / Keeping the user informed
- long, primitive data pairs / Shared preferences
M
- Mall.Soc.io
- URL / Third-party app stores
- Managed Callable Wrappers (MCW)
- about / Peer objects
- map app
- navigating to / Navigating to the Map app
- registered map apps, checking for / Checking for registered map apps
- map integration
- adding / Adding map integration
- menu .xml file
- defining / Defining the menu XML file
- menus
- setting, in OnCreateOptionsMenu() method / Setting menus in OnCreateOptionsMenu()
- Model-View-Controller (MVC) pattern / Activities
- Mono
- about / What is Mono?
- and Dalvik / Mono and Dalvik side by side
N
- .NET 4.5 / Asynchronous programming with async and await
- navigation
- adding, to POIDetailActivity / Adding navigation to POIDetailActivity
- Near Field Communication (NFC) / Versions of Android
- no network condition
- handling / Handling no network condition
- NotificationManage
- about / The application framework
- NUnit
- NUnitLite
- about / Using the Xamarin.Android NUnitLite
- using / Using the Xamarin.Android NUnitLite
- tests, setting up for / Setting up for tests
- test methods, creating / Creating the test methods
- CreatePOI test / The CreatePOI test
- Delete POI test / The DeletePOI test
- tests, executing / Executing the tests
O
- onActivityCreated method
- about / The fragment life cycle
- onAttach method
- about / The fragment life cycle
- onCreate event
- about / The fragment life cycle
- OnCreateOptionsMenu() method
- menus, setting in / Setting menus in OnCreateOptionsMenu()
- onCreateView event
- about / The fragment life cycle
- onDestroy method
- about / The fragment life cycle
- onDestroyView method
- about / The fragment life cycle
- onDetach method
- about / The fragment life cycle
- onInflate event
- about / The fragment life cycle
- OnOptionsItemSelected() method
- selection, handling in / Handling selection in OnOptionsItemSelected()
- onPause method
- about / The fragment life cycle
- onResume method
- about / The fragment life cycle
- onStart method
- about / The fragment life cycle
- onStop method
- about / The fragment life cycle
P
- PackageManager
- about / The application framework
- package name
- setting / Setting the app icon and package name
- about / The package name
- peer objects
- about / Peer objects
- platforms
- SDK Platform / The Android platform APIs
- samples for SDK / The Android platform APIs
- System images / The Android platform APIs
- platforms and tools, Android
- installing / Installing platforms and tools
- Tools section / Tools
- Android platform APIs / The Android platform APIs
- Android platform Extras / The Android platform Extras
- POI
- updating, web service used / Consuming the web service to create or update a POI
- creating, web service used / Consuming the web service to create or update a POI
- deleting, web service used / Consuming the web service to delete the POI
- POI app
- creating / Creating the POI app
- POIApp
- caching logic, implementing / Implementing the caching logic to POIApp
- location services, adding to / Adding location services to POIApp
- POIApp compatible
- making, with Android tablets / Making POIApp compatible with Android tablets
- POIApp support multi-pane split layout
- POI click
- navigating on / Navigation on the POIList item click
- POIDetailActivity
- creating / Creating POIDetailActivity
- navigation, adding to / Adding navigation to POIDetailActivity
- data, receiving in / Receiving the data in POIDetailActivity
- refactoring, to add POIDetailFragment / Refactoring POIDetailActivity to add POIDetailFragment
- POIDetailFragment
- creating / Creating the POIDetailFragment
- save action, working with / Working with the save and delete actions
- delete action, working with / Working with the save and delete actions
- adding, to POIDetailActivity / Adding the POIDetailFragment to POIDetailActivity
- POIDetail layout
- creating / Creating the POIDetail layout
- POI details activity layout
- modifying / Modifying the POI details activity layout
- POIDetailsFragment layout
- creating / Creating the POIDetailsFragment layout
- POIListActivity
- creating / Creating POIListActivity
- updating / Updating POIListActivity
- refreshing / Refreshing POIListActivity
- POI list activity layout
- modifying / Modifying the POI list activity layout
- POIListFragment
- adding, to POIListActivity / Adding POIListFragment to POIListActivity, Adding POIListFragment to POIListActivity
- POI list row layout
- creating / Creating the POI list row layout
- RelativeLayout view group, adding / Adding a RelativeLayout view group
- ImageView widget, adding / Adding an ImageView widget
- LinearLayout widget, adding / Adding a LinearLayout widget
- name and address TextView classes, adding / Adding the name and address TextView classes
- distance TextView, adding / Adding the distance TextView
- POIListViewAdapter
- creating / Creating POIListViewAdapter
- constructor, implementing / Implementing a constructor
- Count { get; }, implementing / Implementing Count { get }
- GetItemId(), implementing / Implementing GetItemId()
- index getter method, implementing / Implementing the index getter method
- GetView(), implementing / Implementing GetView()
- row Views, reusing / Reusing row Views
- hooking up / Hooking up POIListViewAdapter
- POI ListView layout
- creating / Creating the POI ListView layout
- PointOfInterest apps entity class
- Points Of Interest app
- defining / The sample POIApp
- features / The sample POIApp
- running / Running and debugging the app
- debugging / Running and debugging the app
- POIService
- save action, adding / Adding the save and delete actions in POIService
- delete action, adding / Adding the save and delete actions in POIService
- CreateOrUpdatePOIAsync method, adding / Adding the CreateOrUpdatePOIAsync method to POIService
- DeletePOIAsync method, adding / Adding the DeletePOIAsync method to POIService
- POIService class
- creating / Creating the POIService class
- POI web service
- deploying / Deploying the POI web service
- Project Options view
- about / The Project Options view
- project structure, defining / Understanding the project structure
R
- R.java file
- about / The R.java file
- release.keystore key / Android keystores
- Resource Manager
- about / The application framework
- resources
- about / Resources
- Resources directory
- defining / Understanding the project structure
- REST
- about / An introduction to web services
- REST web services
- consuming, asynchronously / Consuming REST web services asynchronously
- RFC 1341(MIME)
- row Views
- populating / Populating row Views
- rsigner command-line tool / Android keystores
S
- save action
- adding / Adding the save and delete actions
- adding, in POIService / Adding the save and delete actions in POIService
- SavePOI() method
- creating / Creating SavePOI()
- scale-independent Pixels (sp) / Adding the name and address TextView classes
- ScrollView
- about / Understanding ScrollView
- features / Understanding ScrollView
- adding / Understanding ScrollView
- selection
- handling, in OnOptionsItemSelected() method / Handling selection in OnOptionsItemSelected()
- serializing
- with Json.NET / Serializing and deserializing using Json.NET
- services
- about / Services
- shared preferences
- about / Shared preferences
- using / Shared preferences
- signed APK, publishing
- Android keystores / Android keystores
- from Xamarin.Android / Publishing from Xamarin.Android
- app, republishing / Republishing the app
- SOAP
- about / An introduction to web services
- split view multi-pane layout
- creating, for tablets / Creating a multi-pane layout for tablets
- SQLite
- about / The SQLite database storage
- advantages / The SQLite database storage
- SQLite.net ORM component
- about / Using the SQLite.net ORM component
- using / Using the SQLite.net ORM component
- ways, for adding to Xamarin application / Using the SQLite.net ORM component
- attributes, used for marking PointOfIntrest to be persisted / Using attributes to mark POIApp to be persisted
- database helper class, adding / Adding a database helper class
- SQLite database storage
- about / The SQLite database storage
- SQLite Version 3.4.0 / The SQLite database storage
- string, primitive data pairs / Shared preferences
T
- TableLayout manager
- using / Using the TableLayout manager
- TelephonyManager
- about / The application framework
- test-driven development (TDD) / Using the Xamarin.Android NUnitLite
- third-party emulator solutions
- Xamarin Android Player / The Xamarin Android Player
- Genymotion / Genymotion
- Toast
- tools, Android platform
- Android Support Library / The Android platform Extras
- Google Play services / The Android platform Extras
- Google USB Driver / The Android platform Extras
U
- Uniform Resource Identifier (URI) / Adding the DeletePOIAsync method to POIService
- UrlImageViewHelper
- using / Using UrlImageViewHelper
- USB driver
- URL / Installing a USB driver
- user interfaces, Android applications
- considerations, for designing / An introduction to Android tablets
- user interface widgets
- populating / Populating user interface widgets
V
- validation
- adding / Adding validation
- variables
- binding, to controls / Binding variables to controls
- ViewGroup
- about / Fragments
- view system
- about / The application framework
- virtual device
- cloning / Cloning a virtual device
W
- web service
- consuming / Consuming the web service
- about / An introduction to web services
- POI web service, deploying / Deploying the POI web service
- REST web services, consuming / Consuming REST web services asynchronously
- POIService class, creating / Creating the POIService class
- WindowManager
- about / The application framework
- Windows Presentation Foundation (WPF) user interfaces / XML layout files
X
- Xamarin
- defining / Getting started with Xamarin
- about / Getting started with Xamarin
- platform / Getting started with Xamarin
- Development IDE / Getting started with Xamarin
- Test Cloud / Getting started with Xamarin
- URL / Installing Xamarin.Android
- Xamarin.Android
- about / Why Xamarin.Android?
- benefits / The benefits of using Xamarin.Android
- drawbacks / The drawbacks of using Xamarin.Android
- installing / Installing Xamarin.Android
- Xamarin.Android application
- packaging / Xamarin.Android application packaging
- Xamarin.Android documentation
- Xamarin developer portal
- Xamarin platform
- Xamarin.iOS / Getting started with Xamarin
- Xamarin.Android / Getting started with Xamarin
- Xamarin.Forms / Getting started with Xamarin
- Xamarin.Mac / Getting started with Xamarin
- Xmarin.Windows / Getting started with Xamarin
- Xamarin Studio / Xamarin Studio
- Xamarin Studio IDE
- about / The Xamarin Studio IDE
- Xamarin Studio layout designer
- about / The Xamarin Studio layout designer
- designer content layout / The designer content layout
- Document Outline pad / The Document Outline and Properties pads
- Properties pad / The Document Outline and Properties pads
- Toolbox pad / Toolbox
- target framework, setting / Setting the target framework
- XML layout files
- about / XML layout files
- XML layouts
- using, from activities / Using XML layouts from activities