{"text_format":"2","workbook":"xls","n_sheets":1,"sheets":["report2"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":1,"defined_names":1,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"report2","index":0,"n_rows":28,"n_cols":5,"rows_kept":28,"cut":false,"hidden":false,"merged":[[0,2,0,3],[0,4,0,5],[1,2,1,3],[1,4,1,5],[2,2,2,3],[2,4,2,5],[3,2,3,3],[4,2,4,3],[6,2,6,3],[7,2,7,3],[8,2,8,3],[11,2,11,3],[15,2,15,3],[16,2,16,3],[20,2,20,3]],"flags":["formulas_cached_only"]}
[null,"1.","Record Nr.",null,"UNINA9910300474903321"]
[null,null,"Autore",null,"Nolan Godfrey"]
[null,null,"Titolo",null,"Android Best Practices / / by Godfrey Nolan, David Truxall, Raghav Sood, Onur Cinar"]
[null,null,"Pubbl/distr/stampa",null,"Berkeley, CA : , : Apress : , : Imprint : Apress, , 2014"]
[null,null,"ISBN",null,"9781430258582"]
[{"$nulls":4},"1430258586"]
[null,null,"Edizione",null,"[1st ed. 2014.]"]
[null,null,"Descrizione fisica",null,"1 online resource (223 p.)"]
[null,null,"Disciplina",null,"004"]
[{"$nulls":4},"004.6"]
[{"$nulls":4},"005.258"]
[null,null,"Soggetti",null,"Mobile computing"]
[{"$nulls":4},"Computers, Special purpose"]
[{"$nulls":4},"Mobile Computing"]
[{"$nulls":4},"Special Purpose and Application-Based Systems"]
[null,null,"Lingua di pubblicazione",null,"Inglese"]
[null,null,"Formato",null,"Materiale a stampa"]
[null,null,null,"Livello bibliografico","Monografia"]
[null,null,null,"Note generali","\"Create Android apps that stand out from the crowd.\"--Cover."]
[{"$nulls":4},"Includes index."]
[null,null,"Nota di contenuto",null,"\"\"Contents at a Glance\"\"; \"\"Contents\"\"; \"\"About the Authors\"\"; \"\"About the Technical Reviewers\"\"; \"\"Chapter 1: Before You Start\"\"; \"\"Introduction to Android\"\"; \"\"Who Should Read This Book?\"\"; \"\"What You Need Before You Begin\"\"; \"\"An Actual Android Application\"\"; \"\"A Working Development Environment\"\"; \"\"All the Bells and Whistles\"\"; \"\"Source Code for the Sample Application\"\"; \"\"Whatâ€?s in This Book\"\"; \"\"Chapter 2: Android Patterns\"\"; \"\"UI Design Patterns\"\"; \"\"Holo\"\"; \"\"ActionBarSherlock Navigation\"\"; \"\"Designing for Different Devices\"\"; \"\"Fragments\"\"; \"\"Architectural Design Patterns\"\""]
[{"$nulls":4},"\"\"Classic Android\"\"\"\"MVC\"\"; \"\"The Model\"\"; \"\"The View\"\"; \"\"The Controller\"\"; \"\"MVVM\"\"; \"\"The Model\"\"; \"\"The View\"\"; \"\"The ViewModel\"\"; \"\"Dependency Injection\"\"; \"\"The ToDoModule\"\"; \"\"The Database Provider\"\"; \"\"The Stub Provider\"\"; \"\"ToDoApplication\"\"; \"\"Summary\"\"; \"\"Chapter 3: Performance\"\"; \"\"History\"\"; \"\"Performance Tips\"\"; \"\"Android Performance\"\"; \"\"Java Performance\"\"; \"\"SQLite Performance\"\"; \"\"Web Services Performance\"\"; \"\"Optimized Code\"\"; \"\"Tools\"\"; \"\"DDMS\"\"; \"\"System Performance\"\"; \"\"Heap Usage\"\"; \"\"Eclipse Memory Analyzer\"\"; \"\"Memory Allocation\"\"; \"\"Threads\"\"; \"\"Method Profiling\"\""]
[{"$nulls":4},"\"\"Traceview\"\"\"\"Lint\"\"; \"\"Hierarchy Viewer\"\"; \"\"Unix Tools\"\"; \"\"Top\"\"; "]
[{"$nulls":4},"\"\"Dumpsys\"\"; \"\"Vmstat\"\"; \"\"Summary\"\"; \"\"Chapter 4: Agile Android\"\"; \"\"Benefits\"\"; \"\"Benefits to the Business\"\"; \"\"Benefits to the Developer\"\"; \"\"The Sweet Spot\"\"; \"\"Elements of Agile\"\"; \"\"Goals\"\"; \"\"Roll Call\"\"; \"\"TDD\"\"; \"\"BDD\"\"; \"\"Continuous Integration\"\"; \"\"Putting It All Together\"\"; \"\"Summary\"\"; \"\"Chapter 5: Native Development\"\"; \"\"Deciding Where to Use Native Code\"\"; \"\"Where Not to Use Native Code\"\"; \"\"Where to Use Native Code\"\"; \"\"Java Native Interface\"\"; \"\"Difficulties Writing Native Code Using JNI\"\""]
[{"$nulls":4},"\"\"Generate the Code Using a Tool\"\"\"\"Generating C/C++ Header Files Using javah\"\"; \"\"Generating the JNI Code using SWIG\"\"; \"\"Minimize the Number of JNI API Calls\"\"; \"\"Use Primitive Data Types as Native Method Parameters\"\"; \"\"Minimize Reach-Back from Native Code to Java Space\"\"; \"\"Memory Usage\"\"; \"\"Local References\"\"; \"\"Never Cache Local References\"\"; \"\"Release Local References in Complex Native Methods\"\"; \"\"Dealing with Strings\"\"; \"\"Use Proper Memory Management Function\"\"; \"\"Operating on Arrays\"\"; \"\"Do Not Request Unnecessary Array Elements\"\"; \"\"Prevent Updating Unchanged Arrays\"\""]
[{"$nulls":4},"\"\"Native I/O\"\"\"\"Caching Classes, Method and Field IDs\"\"; \"\"Threading\"\"; \"\"Never Cache the JNI Environment Interface Pointer\"\"; \"\"Never Access Java Space from Detached Native Threads\"\"; \"\"Troubleshooting\"\"; \"\"Extended JNI Check\"\"; \"\"Always Check for Java Exceptions\"\"; \"\"Always Check JNI Return Values\"\"; \"\"Always Add Log Lines While Developing\"\"; \"\"Native Code Reuse Using Modules\"\"; \"\"Benefit from Compiler Vectorization\"\"; \"\"Summary\"\"; \"\"Chapter 6: Security\"\"; \"\"The State of Android Security\"\"; \"\"Secure Coding Practices\"\"; \"\"Industry Standard Lists\"\"; \"\"PCI List\"\"; \"\"OWASP\"\""]
[{"$nulls":4},"\"\"OWASPâ€?s General Secure Coding Guidelines\"\""]
[null,null,null,"Sommario/riassunto","Android Best Practices by Godfrey Nolan shows you how to make your Android apps stand out from the crowd with great reviews. Why settle for just making any Android app? Build a brilliant Android app instead that lets your users praise it for ease of use, better performance, and more. Using a series of example apps which gradually evolve throughout this book, Android Best Practices brings together current Android best practices from user interface (UI)/user experience (UX) design, test-driven development (TDD), and design patterns (e.g., MVC) to help you take your app to the next level. In this book you’ll learn how to: • Use Android design patterns for consistent UI experience on many devices • Use agile techniques such as test-driven development, behavior-driven development, and continuous integration • Improve the speed and overall performance of your app • Organize an Android app using design patterns such as MVC/MVP • Create and consume REST and SOAP web services Designing and developing an app that runs well on many if not all the leading Android smartphones and tablets today can be one of the most daunting challenges for Android developers. Well, this book takes much of the mystery out of that for you. After reading and using Android Best Practices, you'll become a much better Android app designer and developer, which in turn can make your apps better placed and more successful in the market place."]