دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: سیستم های عامل ویرایش: نویسندگان: Frank Ableson. Robi Sen سری: ISBN (شابک) : 9781935182726 ناشر: Manning Publications سال نشر: 2011 تعداد صفحات: 594 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 18 مگابایت
کلمات کلیدی مربوط به کتاب اندروید در عمل: کتابخانه، ادبیات کامپیوتر، اندروید
در صورت تبدیل فایل کتاب Android in Action به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب اندروید در عمل نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
اندروید یک پلتفرم موبایل رایگان، منبع باز و مبتنی بر جاوا است که توسط گوگل توسعه یافته است. با باز کردن قفل اندروید، نسخه دوم خواننده را برای پذیرش پلتفرم موبایل اندروید به زبانی آسان آماده میکند و با نمونههای کد جاوا قابل استفاده مجدد، بر این پایه استوار است. برای توسعه دهندگان شرکتی و علاقه مندانی که علاقه یا مأموریتی برای ارائه نرم افزار تلفن همراه دارند ایده آل است. باز کردن قفل اندروید، نسخه دوم خواننده را با رویکرد Android برای برنامه های تلفن همراه آشنا می کند. چارچوب برنامه اندروید به طور کامل در فضای رقابتی فعلی توضیح داده شده و مورد بحث قرار گرفته است. پس از انتشار اندروید 2.0، این نسخه برای پوشش موضوعات داغ مانند ادغام بلوتوث، استراتژی های توسعه وب، چارچوب AppWidget، مدیریت حسگر، کیت توسعه بومی اندروید و محلی سازی به روز شده است.
Android is a free, open source, Java-based mobile platform developed by Google. Unlocking Android, Second Edition prepares the reader to embrace the Android mobile platform in easy-to-understand language and builds on this foundation with reusable Java code examples. Its ideal for corporate developers and hobbyists who have an interest, or a mandate, to deliver mobile software.Unlocking Android, Second Edition familiarizes the reader with the Android approach to mobile applications. The Android application framework is thoroughly explained and discussed within the current competitive landscape. Following the release of Android 2.0, this edition has been updated to cover hot topics such as Bluetooth integration, web development strategies, AppWidget framework, sensor management, the Android Native Development Kit, and localization.
Android in Action......Page 1
brief contents......Page 6
about the cover illustration xxix......Page 8
preface......Page 18
preface to the first edition......Page 20
acknowledgments......Page 22
Chris King......Page 23
Robi Sen......Page 24
The audience......Page 25
Roadmap......Page 26
Code conventions and downloads......Page 28
Author Online......Page 29
about the cover illustration......Page 30
Part 1 What is Android?— The Big Picture......Page 32
Introducing Android......Page 34
1.1 The Android platform......Page 35
1.2.1 Mobile operators......Page 36
1.2.2 Android vs. the feature phones......Page 37
1.2.3 Android vs. the smartphones......Page 38
1.2.4 Android vs. itself......Page 39
1.2.5 Licensing Android......Page 40
1.3 The layers of Android......Page 41
1.3.1 Building on the Linux kernel......Page 42
1.4 The Intent of Android development......Page 43
1.4.2 Intents and how they work......Page 44
1.5.1 Activity......Page 48
1.5.2 Service......Page 49
1.5.3 BroadcastReceiver......Page 50
1.5.4 ContentProvider......Page 53
1.6 Understanding the AndroidManifest.xml file......Page 55
1.7 Mapping applications to processes......Page 56
1.8 Creating an Android application......Page 57
1.9 Summary......Page 61
Android’s development environment......Page 62
2.1 Introducing the Android SDK......Page 63
2.1.1 Core Android packages......Page 64
2.2 Exploring the development environment......Page 65
2.2.1 The Java perspective......Page 66
2.2.2 The DDMS perspective......Page 68
2.2.3 Command-line tools......Page 71
2.3.1 The Android Project Wizard......Page 74
2.3.2 Android sample application code......Page 75
2.3.3 Packaging the application......Page 81
2.4 Using the Android emulator......Page 82
2.4.1 Setting up the emulated environment......Page 83
2.4.2 Testing your application in the emulator......Page 87
2.5 Debugging your application......Page 88
2.6 Summary......Page 89
Part 2 Exercising the Android SDK......Page 92
User interfaces......Page 94
3.1 Creating the Activity......Page 96
3.1.1 Creating an Activity class......Page 97
3.1.2 Exploring the Activity lifecycle......Page 102
3.2 Working with views......Page 105
3.2.1 Exploring common views......Page 106
3.2.2 Using a ListView......Page 108
3.2.3 Multitasking with Handler and Message......Page 112
3.2.4 Creating custom views......Page 113
3.2.5 Understanding layout......Page 115
3.2.6 Handling focus......Page 117
3.2.7 Grasping events......Page 118
3.3.2 Referencing resources in Java......Page 120
3.3.3 Defining views and layouts through XML resources......Page 123
3.3.4 Externalizing values......Page 125
3.3.5 Providing animations......Page 128
3.4 Exploring the AndroidManifest file......Page 129
3.5 Summary......Page 130
Intents and Services......Page 132
4.1.1 Defining Intents......Page 133
4.1.2 Implicit and explicit invocation......Page 134
4.1.3 Adding external links to RestaurantFinder......Page 135
4.1.4 Finding your way with Intent......Page 137
4.1.5 Taking advantage of Android-provided activities......Page 139
4.2.1 Offering a custom URI......Page 140
4.2.2 Inspecting a custom Uri......Page 142
4.3.1 Broadcasting Intent......Page 144
4.4 Building a background weather service......Page 146
4.5.1 Android Interface Definition Language......Page 150
4.5.2 Binder and Parcelable......Page 152
4.5.3 Exposing a remote interface......Page 153
4.5.4 Binding to a Service......Page 154
4.5.5 Starting versus binding......Page 157
4.5.6 Service lifecycle......Page 158
4.6 Summary......Page 159
Storing and retrieving data......Page 160
5.1.1 Working with SharedPreferences......Page 161
5.1.2 Preference access permissions......Page 164
5.2.1 Creating files......Page 167
5.2.2 Accessing files......Page 168
5.2.3 Files as raw resources......Page 169
5.2.4 XML file resources......Page 170
5.2.5 External storage via an SD card......Page 172
5.3.1 Building and accessing a database......Page 175
5.4 Working with ContentProvider classes......Page 180
5.4.1 Using an existing ContentProvider......Page 181
5.4.2 Creating a ContentProvider......Page 182
5.5 Summary......Page 189
Networking and web services......Page 190
6.1.1 Networking basics......Page 192
6.1.2 Clients and servers......Page 194
6.2 Checking the network status......Page 195
6.3 Communicating with a server socket......Page 196
6.4 Working with HTTP......Page 199
6.4.1 Simple HTTP and java.net......Page 200
6.4.2 Robust HTTP with HttpClient......Page 201
6.4.3 Creating an HTTP and HTTPS helper......Page 203
6.5 Web services......Page 209
6.5.1 POX—Putting it together with HTTP and XML......Page 210
6.5.2 REST......Page 212
6.5.3 To SOAP or not to SOAP, that is the question......Page 215
6.6 Summary......Page 216
Telephony......Page 218
7.1 Exploring telephony background and terms......Page 219
7.1.2 Understanding CDMA......Page 220
7.2 Accessing telephony information......Page 221
7.2.1 Retrieving telephony properties......Page 222
7.2.2 Obtaining phone state information......Page 224
7.3.1 Using intents to make calls......Page 226
7.3.2 Using phone number-related utilities......Page 227
7.3.3 Intercepting outbound calls......Page 229
7.4.1 Sending SMS messages......Page 230
7.4.2 Receiving SMS messages......Page 233
7.5 Summary......Page 234
Notifications and alarms......Page 236
8.1.1 Creating an SMS example with a Toast......Page 237
8.1.2 Receiving an SMS message......Page 238
8.2.1 The Notification class......Page 241
8.2.2 Notifying a user of an SMS......Page 242
8.3.1 Creating a simple alarm example......Page 246
8.3.2 Using notifications with Alarms......Page 249
8.4 Summary......Page 251
Graphics and animation......Page 253
9.1 Drawing graphics in Android......Page 254
9.1.1 Drawing with XML......Page 255
9.1.2 Exploring XML drawable shapes......Page 256
9.2.1 Android’s frame-by-frame animation......Page 258
9.2.2 Programmatically creating an animation......Page 261
9.3 Introducing OpenGL for Embedded Systems......Page 264
9.3.1 Creating an OpenGL context......Page 265
9.3.2 Drawing a rectangle with OpenGL ES......Page 269
9.3.3 Three-dimensional shapes and surfaces with OpenGL ES......Page 272
9.4 Summary......Page 276
Multimedia......Page 277
10.1 Introduction to multimedia and OpenCORE......Page 278
10.2 Playing audio......Page 279
10.3 Playing video......Page 281
10.4 Capturing media......Page 282
10.4.1 Understanding the camera......Page 283
10.4.2 Capturing audio......Page 288
10.5 Recording video......Page 290
10.6 Summary......Page 296
Location, location, location......Page 298
11.1.1 Sending in your coordinates with the DDMS tool......Page 300
11.1.2 The GPS Exchange Format......Page 302
11.1.3 The Google Earth Keyhole Markup Language......Page 303
11.2.1 Accessing location data with LocationManager......Page 306
11.2.2 Using a LocationProvider......Page 308
11.2.3 Receiving location updates with LocationListener......Page 310
11.3 Working with maps......Page 312
11.3.2 Using a MapView......Page 313
11.3.3 Placing data on a map with an Overlay......Page 316
11.4 Converting places and addresses with Geocoder......Page 319
11.5 Summary......Page 321
Part 3 Android applications......Page 322
Putting Android to work in a field service application......Page 324
12.1 Designing a real-world Android application......Page 325
12.1.1 Core requirements of the application......Page 326
12.1.2 Managing the data......Page 327
12.1.3 Application architecture and integration......Page 328
12.2.1 Mapping out the field service application......Page 329
12.2.2 List of source files......Page 331
12.3.1 Splash Activity......Page 333
12.3.2 Preferences used by the FieldService Activity......Page 335
12.3.3 Implementing the FieldService Activity......Page 337
12.3.4 Settings......Page 338
12.3.5 Managing job data......Page 340
12.4 Source code for managing jobs......Page 347
12.4.1 RefreshJobs......Page 348
12.4.2 Managing jobs: The ManageJobs Activity......Page 351
12.4.3 Working with a job with the ShowJob Activity......Page 354
12.4.4 Capturing a signature with the CloseJob Activity......Page 358
12.5 Server code......Page 364
12.5.2 Database......Page 365
12.5.3 PHP dispatcher code......Page 366
12.5.4 PHP mobile integration code......Page 367
12.6 Summary......Page 368
Building Android applications in C......Page 369
13.1.1 The C compiler and linker tools......Page 370
13.1.2 Building a Hello World application......Page 371
13.1.3 Installing and running the application......Page 373
13.2 Solving the problem with dynamic linking......Page 375
13.2.1 Android system libraries......Page 376
13.2.2 Building a dynamically linked application......Page 377
13.2.3 exit() versus return()......Page 380
13.2.4 Startup code......Page 381
13.3.1 DayTime Server application......Page 383
13.3.2 daytime.c......Page 384
13.3.3 The SQLite database......Page 386
13.3.4 Building and running the DayTime Server......Page 389
13.4.1 Activity......Page 391
13.4.2 Socket Client......Page 392
13.5 Summary......Page 393
Part 4 The maturing platform......Page 396
Bluetooth and sensors......Page 398
14.1 Exploring Android’s Bluetooth capabilities......Page 399
14.1.2 Primary and secondary roles and sockets......Page 400
14.1.3 Trusting a device......Page 401
14.1.4 Connecting to a remote device......Page 403
14.1.5 Capturing Bluetooth events......Page 405
14.2 Interacting with the SensorManager......Page 406
14.2.1 Types of sensors......Page 407
14.2.2 Reading sensor values......Page 408
14.2.3 Enabling and disabling sensors......Page 409
14.3 Building the SenseBot application......Page 410
14.3.1 User interface......Page 411
14.3.2 Interpreting sensor values......Page 413
14.3.3 Driving the robot......Page 414
14.3.4 Communication with the robot......Page 415
14.4 Summary......Page 416
Integration......Page 418
15.1.1 Choosing open-ended records......Page 419
15.1.2 Dealing with multiple accounts......Page 421
15.1.3 Unifying a local view from diverse remote stores......Page 423
15.2 Getting started with LinkedIn......Page 424
15.3.1 Leveraging the built-in contacts app......Page 426
15.3.2 Requesting operations from your app......Page 429
15.3.3 Directly reading and modifying the contacts database......Page 430
15.3.4 Adding contacts......Page 431
15.4.1 The dream of sync......Page 434
15.4.2 Defining accounts......Page 435
15.4.3 Telling secrets: The AccountManager service......Page 436
15.5.1 Not friendly to mobile......Page 437
15.5.2 Authenticating to LinkedIn......Page 438
15.6.2 Synchronizing LinkedIn data......Page 445
15.7.1 Finalizing the LinkedIn project......Page 448
15.7.2 Troubleshooting tips......Page 449
15.8 Summary......Page 450
Android web development......Page 452
16.1.1 Introducing WebKit......Page 453
16.1.2 Examining the architectural options......Page 454
16.2.1 Designing with mobile in mind......Page 455
16.2.2 Adding the viewport tag......Page 457
16.2.4 Interrogating the user agent......Page 459
16.2.5 The media query......Page 460
16.2.6 Considering a made-for-mobile application......Page 461
16.3 Storing data directly in the browser......Page 462
16.3.1 Setting things up......Page 463
16.3.3 The user interface......Page 464
16.3.4 Opening the database......Page 466
16.3.5 Unpacking the transaction function......Page 467
16.3.6 Inserting and deleting rows......Page 469
16.3.7 Testing the application with WebKit tools......Page 470
16.4.1 Examining the browser control......Page 471
16.4.2 Wiring up the control......Page 472
16.4.3 Implementing the JavaScript handler......Page 474
16.4.5 Digging into the JavaScript......Page 476
16.4.6 Security matters......Page 478
16.4.8 Augmenting the browser......Page 479
16.4.9 Detecting navigation events......Page 480
16.4.10 Implementing the WebChromeClient......Page 483
16.5 Summary......Page 484
AppWidgets......Page 485
17.1.1 What’s an AppWidget?......Page 486
17.1.2 AppWidget deployment strategies......Page 488
17.2.1 Benefits of SiteMonitor......Page 489
17.2.2 The user experience......Page 490
17.3.1 Bird’s-eye view of the application......Page 493
17.3.2 File by file......Page 495
17.4 AppWidget data handling......Page 496
17.5.1 AppWidgetProvider method inventory......Page 500
17.5.2 Implementing SiteMonitorWidgetImpl......Page 501
17.5.3 Handling zombie widgets......Page 503
17.6.1 Working with RemoteViews......Page 504
17.6.2 UpdateOneWidget explained......Page 505
17.7 Configuring an instance of the AppWidget......Page 507
17.7.1 AppWidget metadata......Page 508
17.7.2 Working with Intent data......Page 509
17.7.3 Confirming widget creation......Page 510
17.8 Updating the AppWidget......Page 511
17.8.1 Comparing services to alarms......Page 512
17.8.2 Triggering the update......Page 513
17.8.3 Updating the widgets, finally!......Page 515
17.9 Tying it all together with AndroidManifest.xml......Page 519
17.10 Summary......Page 520
Localization......Page 522
18.1 The need for localization......Page 523
18.2 Exploring locales......Page 524
18.3.1 Identifying target locales and data......Page 525
18.3.2 Identifying and managing strings......Page 526
18.3.3 Drawables and layouts......Page 528
18.3.4 Dates, times, numbers, and currencies......Page 529
18.3.5 Working with the translation team......Page 530
18.4.2 Assigning strings in resources......Page 531
18.5 Localizing in Java code......Page 533
18.6 Formatting localized strings......Page 534
18.7 Obstacles to localization......Page 535
18.8 Summary......Page 536
Android Native Development Kit......Page 537
19.1.1 Uses for the NDK......Page 538
19.1.2 Looking at the NDK......Page 539
19.2 Building an application with the NDK......Page 540
19.2.1 Demonstrating the completed application......Page 541
19.2.2 Examining the project structure......Page 542
19.3.1 Understanding JNI......Page 543
19.3.2 Implementing the library......Page 544
19.3.3 Compiling the JNI library......Page 549
19.4.1 User interface layout......Page 550
19.4.2 Taking a photo......Page 552
19.4.3 Finding the edges......Page 554
19.5 Integrating the NDK into Eclipse......Page 555
19.6 Summary......Page 557
A.1 Development environment requirements......Page 558
A.2 Obtaining and installing Eclipse......Page 559
A.3 Obtaining and installing the Android SDK......Page 561
A.4 Using the SDK and AVD Manager......Page 562
A.5 Obtaining and installing the Eclipse plug-in......Page 565
A.6 Configuring the Eclipse plug-in......Page 567
B.1 Preparing an application for distribution......Page 569
B.1.4 AndroidManifest.xml......Page 570
B.1.6 Testing......Page 571
B.2.1 Keystores......Page 572
B.2.3 jarsigner......Page 573
B.3 Publishing to the Android Market......Page 575
B.3.2 Getting your application in the Market......Page 576
B.4 Other distribution means......Page 579
B.5 Recapping the Android Debug Bridge......Page 580
A......Page 582
C......Page 584
E......Page 585
I......Page 586
L......Page 587
N......Page 588
P......Page 589
S......Page 590
W......Page 592
Z......Page 593