Lu Haidong
1th Chapter unveiling the Mystery Veil--android System introduction 1
1.1 Understanding Android 2
1.1.1 Android Growth History 2
1.1.2 Release 3
1.1.3 get everyone's approval.--android System Market share 3
1.2 Android Architecture Resolution 4
1.2.1 Android system architecture diagram 4
1.2.2 Application (applications) 5
1.2.3 Application Framework Layer (framework) 6
1.2.4 System Runtime Library (Libraries) 7
1.2.5 Linux Kernel 11
1.3 Summary 11
The 2nd Chapter 工欲善其事, its prerequisite--android development first Knowledge 12
2.1 Development Readiness 13
2.2 Development Environment Construction 13
2.3 Creating the first Android Project 16
2.3.1 Creating a new project 16
2.3.2 Program Engineering Architecture Diagram 18
2.3.3 HelloWorld Program Architecture Resolution 19
2.4 Android Development Tools 22
2.4.1 Android development tool ADB 22
2.4.2 Android development tool DDMS 23
2.5 Summary 25
The 3rd chapter of intimate Contact--android Introduction program Development 26
3.1 Nutritional components of fruit 27
3.2 Hands-on teaching you development project 27
3.2.1 Manually creating Activity 28
3.2.2 Creating and loading layouts 28
3.2.3 using toast 32 in activity
3.2.4 adding menus to activity 32
3.2.5 using dialog 35 in activity
3.2.6 use of the spinner control 35
3.2.7 Interface Switch 38
Use of 3.3 Intent 40
3.3.1 using an explicit intent 40
3.3.2 using an implicit intent 41
3.3.3 the use of implicit intent 42
3.3.4 data transfer to activity 44
3.3.5 returning data to activity 46
3.4 Android Log 48
3.4.1 adding Logcat to eclipse 48
3.4.2 Log 48 using the Android logging tool
3.5 Summary 51
The 4th chapter is beautiful, I control the development of--ui 52
4.1 Common Controls 53
4.1.1 EditText 53
4.1.2 Textswitcher 55
4.1.3 ImageView 56
4.1.4 Imageswitcher 57
Use of the 4.1.5 ListView 58
4.1.6 improve the efficiency of the ListView 60
4.1.7 Recyclerview 63
4.1.8 Viewstub 69
4.2 Android Seven common layouts 72
4.2.1 LinearLayout 72
4.2.2 Elativelayout 75
4.2.3 Framelayout 77
4.2.4 Tablelayout 78
4.2.5 GridLayout 79
4.2.6 Absolutelayout 81
4.2.7 CardView 82
4.3 Custom Controls 86
4.3.1 Loading layouts 87
4.3.2 Custom Controls 89
4.4 Android View detailed 90
4.5 Android Surface Detailed 93
4.6 Summary 98
5th Chapter One of the components-activities (activity) 99
5.1 Life cycle of activities 100
5.2 Activation mode of activity 105
5.2.1 Standard Mode 106
5.2.2 Singletop Mode 107
5.2.3 Singletask Mode 109
5.2.4 singleinstance Mode 110
5.3 Tablet phones are both--fragment (fragments) 112
5.3.1 Overview 112
5.3.2 Design Ideas 112
5.3.3 activity Add Fragment Interface 113
5.3.4 Dynamic Replacement Fragment 115
5.3.5 Fragment life cycle 117
5.3.6 a simple reader 120
5.4 Multi-Threading in Android 127
5.4.1 Android Handler 129
5.4.2 using Asynctask 131
5.5 Summary 134
The 6th chapter of obscurity backstage--services (service) 135
6.1 Java Layer Services 136
6.2 Life cycle of service 137
6.3 Start of service 140
6.3.1 StartService () Start service 140
6.3.2 Bindservice () Start service 144
6.4 Android Aidl 148
6.4.1 Creating a Aidl file 150
6.4.2 Implementing Interface 150
6.4.3 using Parcelables to pass the value of a parameter 152
6.4.4 Client Get Interface 153
6.4.5 IInterface Interface Class 156
6.5 Improve cell phone battery life--jobscheduler Technology 157
6.6 Summary 162
7th. Broadcasting mechanism--android broadcast receiver 163
7.1 Static registration monitoring broadcast 164
7.2 Dynamic registration receive broadcast broadcast 166
7.3 Local Broadcast 167
7.4 Summary 169
8th Data Warehouse--android data storage 170
8.1 Lightweight Storage Class--sharedpreferences 171
8.1.1 Accessing data using Sharedpreferences 171
8.1.2 Accessing complex (image, audio) types of data 173
Use of 8.2 preferenceactivity 174
8.2.1 Preferenceactivity Implementation 174
8.2.2 Preferencefragement Implementation 177
8.3 SQLite Databases 178
8.3.1 SQLite use in Windows systems 179
8.3.2 SQLite Basic Operations 180
8.3.3 SQLite Transaction 180
8.4 Using SQLite database in Android 180
8.4.1 SQLite Common methods of Operation 181
8.4.2 Sqliteopenhelper Class 182
8.4.3 executing queries in SQLite 185
8.4.4 displaying and manipulating SQLite databases in activity 187
8.5 Android File Usage 189
8.5.1 saving data to a file 189
8.5.2 accessing files in SD card 190
8.5.3 reading an XML file 192
8.6 Summary 194
Chapter 9th sharing data across programs--content provider (ContentProvider) 195
9.1. Access to telephone and telephone content for communications 197
9.1.1 to get friend data from a communication record 197
9.1.2 Add a friend in a communications record 198
9.2 Creating shared Data 199
9.2.1 Creating shared Data 200
9.2.2 External application Access 204
9.3 Summary 206
10th Chapter Mei 美图秀秀--Development 2D drawing 207
10.1 Screen Drawing Basics 208
10.1.1 Canvas Class 208
10.1.2 Paint Class 210
10.1.3 Color Class 212
10.1.4 Path Class 213
10.1.5 Drawable Class 216
10.2 Using Text 217
10.3 Using bitmaps 219
10.4 Frame Animation 222
10.5 Tween Animation 224
10.6 Summary 227
The 11th chapter of multimedia Development 228
11.1 Audio Playback 229
11.1.1 Supported audio Formats 229
11.1.2 MediaPlayer Play MP3 file 230
11.1.3 Audiotrack Play original audio file 230
11.1.4 Soundpool playing audio files 231
11.2 Video Playback 232
11.2.1 Surfaceview Play Video 232
11.2.2 Videoview Video Player 234
11.3 Multi-Media storage 235
11.4 Summary 237
12th Android phone feature development 238
12.1 Using your phone camera 239
12.1.1 call camera to take pictures 239
12.1.2 using the camera to take pictures 240
12.2 using Baidu Map 242
12.2.1 Application API Key 243
12.2.2 Show Baidu Map 245
12.2.3 Labeling Coverings 247
12.3 Location Services 248
Basic usage of 12.3.1 Locationmanager 249
12.3.2 determine your position 250
12.4 using sensor 252 in the phone
12.5 using mobile phone recording 255
12.5.1 Audiomanager 256
12.5.2 Audio Processing 259
12.6 use of mobile WiFi 261
12.7 Summary 267
13th Three-dimensional game Basics--opengl ES 3.0 268
13.1 OpenGL Common Sense Popularity 269
Use of 13.2 Glsurfaceview 272
13.3 Drawing Concepts 274
13.4 Plane Graphics 277
13.5 Three-dimensional graphics 279
13.6 Plane Texture 286
13.7 three-dimensional texture 289
13.8 Summary 294
Chapter 14th Charm of C + +--android local programming 295
14.1 Android NDK Introduction 296
14.2 compiling the native section using the command line 296
14.3 C + + (HelloWorld) Project 297
14.4 Eclipse compiled C + + (HelloWorld) Project 299
14.5 Hellojni Instance Resolution 301
14.6 android.mk file Syntax specification 304
14.7 application.mk file Syntax specification 308
14.8 Android JNI Introduction 309
14.9 Android Native Activity 312
14.9.1 nativeactivity 313
14.9.2 Android native Life cycle 314
14.10 Getting started with the OpenGL ES program using C + + 315
14.10.1 initializing OpenGL 316
14.10.2 to create your own renderer 316
14.11 Summary 318
15th Android Network Programming 319
15.1 WebView Control Usage 320
15.2 Accessing resources using the HTTP protocol 321
Use of 15.2.1 httpurlconnection 321
Use of 15.2.2 httpclient 324
15.3 Android Socket 325
15.3.1 Android TCP Communication 326
15.3.2 Android UDP Communication 330
15.3.3 Native TCP/UDP Communication 334
15.4 Summary 338
16th Android Soul-bottom service 339
16.1 Android interprocess Communication 340
16.2 Android IPC Binders 344
16.2.1 Binders Overview 344
16.2.2 Object-oriented binder IPC 345
16.2.3 Binder Communication Model 345
Native implementation of 16.3 binder (Libbinder) 347
16.4 Android Native Service 349
16.4.1 Native Service Interface Introduction 351
16.4.2 Simple native Service item 354
16.5 Android Parcel 364
16.6 Summary 367
17th Chapter Comprehensive Example analysis--music player 368
17.1 Music player 369
17.2 Design Principles 369
17.3 Frame Analysis 370
17.4 Application 371
17.5 Program Main Interface 372
17.6 Music Playback Interface 374
Writing the 17.7 Music service 385
17.8 Favroiteactivity's Writing 394
17.9 Musiconlineactivity's Writing 394
17.10 Publish App 397
17.10.1 generate exactly the signed APK file 397
17.10.2 apply for Google Play account 399
17.10.3 uploading and publishing applications 401
17.11 Summary 404
[Bibliography 20160624] Android app development from beginner to proficient