ffffiirrss..iinndddd vviiiiii 2266--0099--22001133 1199::1133::3300 ENTERPRISE ANDROID™ INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix CHAPTER 1 Developing for Android Tablets and Smartphones . . . . . . . . . . . . . . . . . . . 1 CHAPTER 2 The Relational Model and SQLite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 CHAPTER 3 Android Database Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 CHAPTER 4 Content Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 CHAPTER 5 REST, Content Providers, Concurrency, Networking, and Sync Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 CHAPTER 6 Service Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167 CHAPTER 7 Mobile and the Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 CHAPTER 8 Complex Device-Based Data: Android Contacts . . . . . . . . . . . . . . . . . . 245 CHAPTER 9 Generic Data Synchronization: Project Migrate and the WebData API . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 CHAPTER 10 WebData Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 CHAPTER 11 Building Human Interfaces for Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 CHAPTER 12 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 ffffiirrss..iinndddd ii 2266--0099--22001133 1199::1133::2299 ffffiirrss..iinndddd iiii 2266--0099--22001133 1199::1133::2299 Enterprise Android™ ffffiirrss..iinndddd iiiiii 2266--0099--22001133 1199::1133::2299 ffffiirrss..iinndddd iivv 2266--0099--22001133 1199::1133::2299 Enterprise Android™ PROGRAMMING ANDROID DATABASE APPLICATIONS FOR THE ENTERPRISE Zigurd Mednieks G. Blake Meike Laird Dornin Zane Pan ffffiirrss..iinndddd vv 2266--0099--22001133 1199::1133::2299 Enterprise Android™: Programming Android Database Applications for the Enterprise Published by John Wiley & Sons, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2014 by John Wiley & Sons, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-1-118-18349-6 ISBN: 978-1-118-22747-3 (ebk) ISBN: 978-1-118-24046-5 (ebk) Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions. Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifi cally disclaim all warranties, including without limitation warranties of fi tness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Web site may provide or recommendations it may make. Further, readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work was written and when it is read. For general information on our other products and services please contact our Customer Care Department within the United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002. Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with standard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD or DVD that is not included in the version you purchased, you may download this material at http://booksupport.wiley.com. For more information about Wiley products, visit www.wiley.com. Library of Congress Control Number: 2013936843 Trademarks: Wiley, , Wrox, the Wrox logo, Wrox Programmer to Programmer, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affi liates, in the United States and other countries, and may not be used without written permission. Android is a trademark of Google, Inc. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book. ffffiirrss..iinndddd vvii 2266--0099--22001133 1199::1133::3300 To Maija and Charles —Zigurd Mednieks To Jerry Meike, my inspiration for writing a book... and a lot more —G. Blake Meike To Norah and Claire, my girls —Laird Dornin To Zhengfang —Zane Pan ffffiirrss..iinndddd vviiii 2266--0099--22001133 1199::1133::3300 ffffiirrss..iinndddd vviiiiii 2266--0099--22001133 1199::1133::3300
Description: