Upload
nelshuk
View
252
Download
0
Embed Size (px)
DESCRIPTION
Более миллиона человек во всем мире воспользовались книгами Дейтелов, чтобы освоить Java, C#, C++, C, веб-программирование, JavaScript, XML, Visual Basic, Visual C++, Perl, Python и другие языки программирования. Эта книга, выходящая уже во втором издании, даст вам всё, что нужно, для начала разработки приложений для Android и быстрой публикации их на Google Play. Авторы используют приложение-ориентированный подход, при котором описание каждой технологии рассматривается на примере 16 полностью протестированных приложений для Android. Кроме описания процесса создания при-ложений, в книге дано пошаговое руководство по размещению ваших приложений на Google Play и примеры успешных публикаций. Новое издании книги полностью обновлено и содержит информацию о работе с Android 4.3 и 4.4, разработке на Eclipse и новом Android Studio.
Citation preview
32.973.2-018.1 004.4366
.,.,.66 Android . .: , 2015. 384 .: . ( - ). ISBN 978-5-496-01517-2
, Java, C#, C++, C, -, JavaScript, XML, Visual Basic, Visual C++, Perl, Python .
, , , , Android Google Play. - , 16 Android. -, Google Play . Android 4.3 4.4, Eclipse Android Studio.
12+ ( 29 2010 . 436-.)
32.973.2-018.1 004.43
Prentice Hall, Inc. Upper Sadle River, New Jersey 07458. . - .
, , , -. , , , .
ISBN 978-0133570922 . Prentice HallISBN 978-5-496-01517-2 , 2015 , , 2015
.......................................................................................... 16 ..................................................................................... 17 ..................................................................................................................... 17
............................................................................................................ 18 .................................................................................... 19
.............................................................................................................................. 20 ..................................................................................................................................... 21
............................................................................................. 23 .......................................... 23
Java Development Kit (JDK) ...................................................................... 23 .................................................................................................. 24Android 4.3 SDK .................................................................................................................. 25
Android (AVD) Android ............................................................................................................................................ 26
Android ...................................................... 28 ........................................................................................... 29
1. Android ................................................................. 311.1. ................................................................................................................................. 321.2. Android ......... 321.3. Android ......................................................................................................... 331.4. Android ..................................................................................... 37
1.4.1. Android 2.2 (Froyo) ................................................................................................. 381.4.2. Android 2.3 (Gingerbread) ..................................................................................... 391.4.3. Android 3.03.2 (Honeycomb) ............................................................................. 391.4.4. Android Ice Cream Sandwich ................................................................................ 401.4.5. Android 4.14.3 (Jelly Bean) ................................................................................. 411.4.6. Android 4.4 (KitKat) ............................................................................................... 42
6
1.5. Google Play .......................................................................... 431.6. ..................................................................................................................................... 451.7. Android Software Development Kit (SDK) .................................................................. 461.8. - ...................... 49
1.8.1. ......................................................................................... 501.8.2. ..................................................................................................... 501.8.3. ............................................................................... 511.8.4. .................................................................................... 511.8.5. ............................................................................ 511.8.6. .................................................. 511.8.7. .......................................................................................................... 521.8.8. ............................................................................................................ 521.8.9. - ............................ 52
1.9. Doodlz AVD .............. 531.9.1. Doodlz AVD Nexus 4 ................... 541.9.2. Doodlz App AVD ........................................................ 641.9.3. Doodlz Android ......................... 64
1.10. Android- .............................................................. 661.11. ........................................................................................... 681.12. .................................................................................................................................. 70
2. Welcome ............................................................. 722.1. ................................................................................................................................. 732.2. ................................................................................... 74
2.2.1. Android Developer Tools IDE ............................................................................... 742.2.2. TextView ImageView ........................................................................................... 742.2.3. ............................................................................................. 742.2.4. ............................................................................................................... 742.2.5. .......................................................................................... 75
2.3. ....................................................................................................... 752.3.1. Android Developer Tools .. 752.3.2. ...................................................................................... 752.3.3. New Android Application ..................................................... 752.3.4. Configure Project ............................................................................................ 782.3.5. Configure Launcher Icon............................................................................... 782.3.6. Create Activity ................................................................................................. 802.3.7. Blank Activity .................................................................................................. 81
7
2.4. Android Developer Tools ......................................................................................... 822.4.1. Package Explorer ........................................................................................... 822.4.2. ......................................................................................................... 832.4.3. ....................................................................................................... 842.4.4. ............................................................................. 842.4.5. ................................................................................................ 852.4.6. .......................................................... 85
2.5. .............................................. 872.5.1. ................................................................... 872.5.2. Id RelativeLayout TextView ......... 882.5.3. TextView ...................................................................... 89
2.6. Welcome ............................................................................... 962.7. ...................................................................... 972.8. ............................................................................. 992.9. ...................................................................................................................................104
3. Tip Calculator ................................................... 1053.1. ...............................................................................................................................1063.2. Tip Calculator ................................................................1073.3. .................................................................................108
3.3.1. Activity .........................................................................................................1083.3.2. .........................................................1083.3.3. LinearLayout GridLayout ............................................................................................1093.3.4. ......................................1103.3.5. ......1113.3.6. TextWatcher EditText ...................................................................................................1113.3.7. OnSeekBarChangeListener SeekBar .....................................................................1123.3.8. AndroidManifest.xml ............................................................................................112
3.4. ............................................1123.4.1. GridLayout ...............................................................................................1123.4.2. TipCalculator .......................................................................1143.4.3. GridLayout ..........................................................................1153.4.4. TextView, EditText, SeekBar LinearLayout ...................................................................................................................1163.4.5. ......................................................................................118
8
3.5. .......................................................1233.6. AndroidManifest.xml ............................................................................................1323.7. ...................................................................................................................................133
4. Twitter Searches ........................................... 1354.1. ...............................................................................................................................1364.2. .............................................................................................137
4.2.1. ........................................................1374.2.2. ................................................................................1374.2.3. ...........................................................................1394.2.4. .....................................................................................1404.2.5. ................................................................................................1414.2.6. ...................................................................................................1424.2.7. ....................................................143
4.3. .................................................................................1444.3.1. ListView .....................................................................................................................1444.3.2. ListActivity ...............................................................................................................1454.3.3. ListActivity ..........................................................................1454.3.4. ImageButton .............................................................................................................1454.3.5. SharedPreferences ..................................................................................................1454.3.6. ...........................................................1464.3.7. AlertDialog ...............................................................................................................1474.3.8. AndroidManifest.xml .................................................................................148
4.4. ............................................1484.4.1. ..................................................................................................1484.4.2. activity_main.xml .......................................................................................1494.4.3. GridLayout ..........................................1504.4.4. ................................................1554.4.5. ListView: list_item.xml ........................................................157
4.5. MainActivity ..................................................................................1584.5.1. package import ..................................................................................1594.5.2. ListActivity .....................................................................................1604.5.3. MainActivity ..................................................................................1614.5.4. onCreate .........................................1624.5.5. , OnClickListener ...............1644.5.6. addTaggedSearch .......................................................................................167
9
4.5.7. , OnItemClickListener ListView ...........................................................................................................1684.5.8. , OnItemLongClickListener ListView , ........................................................................................................1704.5.9. shareSearch .................................................................................................1724.5.10. deleteSearch .............................................................................................174
4.6. AndroidManifest.xml .........................................................................................................1754.7. ...................................................................................................................................176
5. Flag Quiz ........................................................... 1775.1. ...............................................................................................................................1785.2. Flag Quiz .........................................................................179
5.2.1. ........................................................1795.2.2. .........................................................................................1805.2.3. ........................................................................180
5.3. .................................................................................1845.3.1. ..........................................................................................................................1845.3.2. ...............................................................................................................1845.3.3. ........................................................1855.3.4. ...................................................................................1865.3.5. Preference ...............................................................................................1865.3.6. assets..............................................................................................................1865.3.7. ......................................................................................................1875.3.8. ................................1875.3.9. .............................................................................1885.3.10. ........................................................................1885.3.11. ...........................................................................................................1895.3.12. .......................................................1895.3.13. Log.e ..............................................1895.3.14. ..............................................................................1905.3.15. Java ....................................................................................190
5.4. ................................1905.4.1. ..................................................................................................1905.4.2. strings.xml ............................................191
10
5.4.3. arrays.xml ................................................................................................................1925.4.4. colors.xml ...................................................................................................................1935.4.5. dimens.xml ................................................................................................................1945.4.6. activity_settings.xml ................................................................................1945.4.7. activity_main.xml .........................................................................................................................1955.4.8. fragment_quiz.xml .....................................................................................1965.4.9. activity_main.xml .......1985.4.10. preferences.xml ...................................................................................................................1995.4.11. ................................................201
5.5. MainActivity ...........................................................................................................2035.5.1. package, import .....................................................2035.5.2. onCreate .................................................................2045.5.3. onStart ....................................................................2065.5.4. onCreateOptionsMenu .......................................2075.5.5. onOptionsItemSelected ......................................2085.5.6. , OnSharedPreferenceChangeListener .........................................................................208
5.6. QuizFragment .........................................................................................................2105.6.1. package import ...............................................................2105.6.2. ...........................................................................................................................2115.6.3. onCreateView ........................................................2125.6.4. updateGuessRows ....................................................................................2145.6.5. updateRegions ............................................................................................2155.6.6. resetQuiz .....................................................................................................2155.6.7. loadNextFlag .............................................................................................2175.6.8. getCountryName .......................................................................................2195.6.9. , OnClickListener ...............................................................................................................2205.6.10. disableButtons ........................................................................................222
5.7. SettingsFragment ...................................................................................................2235.8. SettingsActivity ......................................................................................................2235.9. AndroidManifest.xml ........................................................................................................2245.10. ................................................................................................................................225
6. Cannon Game ................................................... 2276.1. ...............................................................................................................................228
11
6.2. Cannon Game .................................................................2296.3. .................................................................................230
6.3.1. ................2306.3.2. raw ................................................................2306.3.3. ...............................2306.3.4. onTouchEvent View ...............................2316.3.5. SoundPool AudioManager ....................2316.3.6. , SurfaceView SurfaceHolder ..................................................................................................................2326.3.7. .............................................................2326.3.8. Paint Canvas ..........................................233
6.4. ...........2337.4.1. ..................................................................................................2336.4.2. strings.xml ....................................................................................................2346.4.3. fragment_game.xml ....................................................................................2346.4.4. activity_main.xml ......................................................................................2356.4.5. ...................................................................235
6.5. Line .............................................................................................................................2366.6. MainActivity ...........................................................................................................2366.7. CannonGameFragment .........................................................................................2376.8. CannonView ............................................................................................................238
6.8.1. package import ................................................................2396.8.2. .........................................................2396.8.3. ............................................................................................................2416.8.4. onSizeChanged View .............................2436.8.5. newGame .....................................................................................................2446.8.6. updatePositions .........................................................................................2456.8.7. fireCannonball CannonView ....................................................2496.8.8. alignCannon ................................................................................................2496.8.9. drawGameElements ..................................................................................2506.8.10. showGameOverDialog...........................................................................2526.8.11. stopGame releaseResources ...........................................................2546.8.12. SurfaceHolder.Callback .............................................2546.8.13. onTouchEvent .....................................................2556.8.14. CannonThread: ..........................................................................................................................256
6.9. ...................................................................................................................................258
12
7. Doodlz ............................................................... 2597.1. ...............................................................................................................................2607.2. .................................................................................261
7.2.1. SensorManager .........................................................2627.2.2. DialogFragment .........................................2627.2.3. Canvas Bitmap .........................................2637.2.4. Path ..................................................................................................................2637.2.5. Android 4.4 ........................................................................2637.2.6. GestureDetector SimpleOnGestureListener ...............................................2647.2.7. ...................................................2647.2.8. Android 4.4 PrintHelper Android Support Library ............................................................................................264
7.3. ...........2647.3.1. ..................................................................................................2657.3.2. strings.xml .....................................................................................................2657.3.3. dimens.xml ....................................................................................................2667.3.4. DoodleFragment .......................................................................................2677.3.5. activity_main.xml MainActivity ..................................................2687.3.6. fragment_doodle.xml DoodleFragment .................2697.3.7. fragment_color.xml ColorDialogFragment ..........2697.3.8. fragment_line_width.xml LineWidthDialogFragment ............................................................................................2727.3.9. EraseImageDialogFragment .........................................273
7.4. MainActivity ...........................................................................................................2747.5. DoodleFragment .....................................................................................................2757.6. DoodleView .............................................................................................................2827.7. ColorDialogFragment ...........................................................................................2957.8. LineWidthDialogFragment .................................................................................2997.9. EraseImageDialogFragment ................................................................................3027.10. ................................................................................................................................304
8. Address Book .................................................... 3068.1. ...............................................................................................................................3078.2. Address Book ..................................................................3098.3. .................................................................................311
8.3.1. FragmentTransaction ....311
13
8.3.2. .......................................................................................................................3118.3.3. onSaveInstanceState ................................................................................3128.3.4. GUI ........................3128.3.5. TextView ..........................................3128.3.6. ListFragment , ListView.....................................................................................................3128.3.7. SQLite ..........................................................................3138.3.8. GUI AsyncTask ........................................................................................313
8.4. .........3138.4.1. ..................................................................................................3138.4.2. .........................................................................3148.4.3. strings.xml .....................................................................................................3158.4.4. styles.xml .......................................................................................................3168.4.5. textview_border.xml .................................................................................3178.4.6. MainActivity: activity_main.xml ............................................3178.4.7. DetailsFragment: fragment_details.xml ................................3188.4.8. AddEditFragment: fragment_add_edit.xml ......................................3208.4.9. .......................................................................321
8.5. MainActivity ...........................................................................................................3238.6. ContactListFragment ............................................................................................3298.7. AddEditFragment ..................................................................................................3368.8. DetailsFragment .....................................................................................................3428.9. DatabaseConnector ............................................................3508.10. ................................................................................................................................356
9. Google Play .............. 3589.1. ...............................................................................................................................3599.2. ....................................................................359
9.2.1. .................................................................................3609.2.2. .................................................................................3609.2.3. .......................................................................................................3609.2.4. ..........................................................................3619.2.5. ...............................................................................................3629.2.6. ...................................................................................................3629.2.7. ..............................362
14
9.2.8. .......................................................................................................3639.2.9. ........................................................................364
9.3. : ? ..........................................................3659.3.1. ..........................................................................................3669.3.2. ....................................................................................367
9.4. ............................3689.5. ............................................................3699.6. Google Play .............................................................................................3719.7. Google Wallet ...................................................................3719.8. Google Play .........................................................................3729.9. Play Store ................................................................................3749.10. Google Play .............................................................3759.11. Android ..................................................................3759.12. ..............................3769.13. ................................................................................................3779.14. ................................................................................................................................382
. , MIT, Bose Corporation.
, - , . , , , .
Android Android Software Development Kit (SDK), Java, Android Development Tools Eclipse, Android Studio.
- . , , - Android, . , . , . . www.deitel.com/books/AndroidFP2/. - .
Android Android- - . Android 2008 . , Strategy Analytics, 2013 Android 81,3% , Apple iPhone 13,4%, Microsoft 4,1%, BlackBerry 1%1. IDC, 2013 Android 56,5% , 39,6% Apple iPad 3,7% Microsoft Windows2.
Android3, 1,5 4. IDC, Samsung
1 http://blogs.strategyanalytics.com/WSS/post/2013/10/31/Android-Captures-Record-81-Percent-Share-of-Global-Smartphone-Shipments-in-Q3-2013.aspx
2 http://www.idc.com/getdoc.jsp?containerId=prUS240932133 http://www.android.com/kitkat4 http://www.technobuffalo.com/2013/04/16/google-daily-android-activations-1-5-million
17
Android; III 2013 40% .
Google Play Android Google - . , Android, .
- . Android Android.
Android-, , Deitel & Associates, Inc. , , - Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/) , - , . - , . , . - . - , [email protected].
, Java -- , XML. Android- - XML. XML-, . , , Java, -- C#/.NET, Objective-C/Cocoa C++ ( - ), , Java - .
Java, Android-. Java, :
18
Java for Programmers, 2/e (www.deitel.com/books/javafp2)
Java Fundamentals: Parts I and II LiveLessons videos (www.deitel.com/books/LiveLessons)
Java How to Program, 10/e (www.deitel.com/books/jhtp10)
XML, :
http://www.ibm.com/developerworks/xml/newto
http://www.w3schools.com/xml/xml_whatis.asp
http://www.deitel.com/articles/xml_tutorials/20060401/XMLBasics
http://www.deitel.com/articles/xml_tutorials/20060401/XMLStructuringData
, . 28 , - , , . , ; , , Android API, - .
Android SDK 4.3 4.4. , - Android SDK (Software Development Kit) 4.3 4.4.
. 5 . , , . , ; 8.
. - Android (, . .) .
ADT (Android Development Tools) Eclipse . (IDE) Android Development Tools (ADT), Eclipse ADT, JDK (Java Development Kit) , Android, - (, Google Play) . .
19
Android Studio. - Android. Android Studio ,
http://www.deitel.com/books/AndroidFP2
, . , - , . , [email protected].
. , . , , Back, Home Recent Apps .
. Android 4.4 KitKat : Wi-Fi , - , . .
Android, . - Android. Android (. ), , . 1 - Android, .
. Android, , , , .
Google Play. 9 Google Play . , - Google Play, , . , . 9 1.
, , - . [email protected].
www.deitel.com/books/AndroidFP2
20
Facebook, Twitter, Google+, LinkedIn Deitel Buzz Online.
www.deitel.com, :
;
-;
;
Deitel Buzz Online, , www.deitel.com/newsletter/subscribe.html;
Dive Into Series, .
(Barbara Deitel) Android, .
- Pearson. 18- . (Mark L. Taub), Pearson Technology Group. -. (Kim Boedigheimer) Android , Android. , (Chuti Prasertsith) (Sandra Schroeder) . (John Fuller) Deitel Developer Series.
(Tracy Johnson), - . . (Carole Snyder) . (Bob Engelhardt) .
, Deitel & Associates, Inc., Android- Imerj, , iPhone for Programmers: An App-Driven Approach. .
21
Android for Programmers: An App-Driven Approach Android How to Program . -: (Paul Beusterien), Mobile Developer Solutions); . (Eric J. Bowden), Safe Driving Systems, LLC; (Tony Cantrell) (-- ); . (Ian G. Clifton), Android; (Daniel Galpin), Android Intro to Android Application Development; (Jim Hathaway), Kellogg; (Douglas Jones), -, Fullpower Technologies; (Charles Lasky), ; - (Enrique Lopez-Manas), Android , ; (Sebastian Nykopp), , Reaktor; -, Android, Mobiata; (Ronan Zero Schwarz), , OpenIntents; (Arijit Sengupta), Wright State; (Donald Smith), ; (Jesus Ubaldo), , , ; (Dawn Wick), - ; (Frank Xu), .
, ! Android. , -, !
. (Paul J. Deitel), Deitel & Associates, Inc., (MIT) (Information Technology). - Java Certified Programmer, Java Certified Developer Oracle Java Champion. Deitel & Associates, Inc. , Cisco, IBM, Siemens, Sun Microsystems, Dell, Fidelity, NASA ( ), , -, Rogue Wave Software, Boeing, SunGard Higher Education, Stratus, Cambridge Technology Partners, One Wave, Hyperion Software, Adra Systems, Entergy, CableData Systems, Nortel Networks, Puma, iRobot, Invensys . , -
22
. , , -, .
. (Dr. Harvey M. Deitel), Deitel & Associates, Inc., 50- . - . 1960- , - IBM, Advanced Computer Techniques Computer Usage Corporation, 1970- . . 1991 . Deitel & Associates, Inc. LiveLessons. , , , , , , -, , , , , . -, , .
(Abbey Deitel), Deitel & Associates, Inc., Tepper - . Deitel & Associates, Inc. 16 . Deitel & Associates Android for Programmers: An App-Driven Approach, 2/e, iPhone for Programmers: An App-Driven Approach, Internet & World Wide Web How to Program, 5/e, Visual Basic 2012 How to Program, 6/e Simply Visual Basic 2010, 5/e.
, . Android . ,
http://www.deitel.com/books/AndroidFP2/
, .
Android Windows, Linux Mac OS X.
http://developer.android.com/sdk/requirements.html
( SYSTEM REQUIREMENTS). , - , :
Java SE 7 Software Development Kit;
Android SDK/ADT Bundle Eclipse;
Android SDK, 4.3 4.4.
, , .
JavaDevelopmentKit(JDK) Android- Java Development Kit ( JDK) 7 (JDK 7) 6 (JDK 6). JDK 7. JDK Windows, OS X Linux,
http://www.oracle.com/technetwork/java/javase/downloads/index.html
24
JDK. 32- 64- . 64- . 32- , 32- JDK. -
http://docs.oracle.com/javase/7/docs/webnotes/install/index.html
Google - Android.
Android SDK/ADT Eclipse - Android Software Development Kit (SDK) Android Development Tools (ADT). Android SDK 4.4 ADT 22.3.
Android Studio Android IntelliJ IDEA; , .
Android SDK/ADT Android . Android Studio, 2013 , - . Android SDK/ADT.
Android SDK/ADT Android SDK/ADT,
http://developer.android.com/sdk/index.html
DownloadtheSDKADTBundle. , - ZIP- . eclipse Eclipse sdk Android SDK. JDK, 32- 64- . 32- Android SDK/ADT 32- JDK, 64- 64- 64-bit JDK.
Android Studio , , Android SDK/ADT. Android Studio. Android Studio,
http://developer.android.com/sdk/installing/studio.html
DownloadAndroidStudio. , - . [:
25
Android 4.4 Android Studio Java SE 7, , catch, String - switch try .]
Java Android Java SE 7. , Eclipse , Java SE 6. .
1. Eclipse ( ) eclipse , Android SDK/ADT.
2. WorkspaceLauncher, OK.
3. WindowPreferences, Preferences. Mac OS X ADTPreferences
4. Java Compiler. JDKCompliance - (Compilercompliancelevel) 1.6 ( , Eclipse , Java SE 6).
5. GeneralEditors TextEditors. , Showlinenumbers . OK.
6. Eclipse.
Android4.3SDK Android SDK 4.3 4.4. - 4.4 Android SDK/ADT Android Studio. Android 4.3 ( - , ). Android, ( 1 2, Eclipse ).
1. Eclipse. .
2. WorkspaceLauncher, OK.
3. Mac OS X Could not find SDK folder /Users/YourAccount/android-sdk-macosx/, OpenPreferences, Browse - sdk , Android SDK/ADT.
4. WindowAndroidSDKManager; AndroidSDKManager (. 0.1).
26
. 0.1.AndroidSDKManager
5. Name , - (, API Google , Maps), . Installed. Packages Tools, Android4.4(API19), Android4.3(API18) Extras, , , Install#packages (# ), ChoosePackagestoInstall. Extras . Android Support Library Google Play. Google USB Driver Windows, Android.
6. ChoosePackagestoInstall . , AcceptLicense Install. AndroidSDKManager.
Android(AVD)Android Android, Android SDK, - Android , Android. , - Android, , , . - (developer.android.com/tools/devices/emulator.html#acceleration).
Android(AVD)Android 27
, Android Virtual Device (AVD). , : ( ), , , SD, - , . Android, AVD . AVF Android ( Nexus 4, Nexus 7 Nexus 10) Android. AVD, .
1. Eclipse.
2. WindowAndroidVirtualDeviceManager. AndroidVirtualDeviceManager DeviceDefinitions (. 0.2).
. 0.2.AndroidVirtualDeviceManager
3. Google , AVD. Nexus4byGoogle CreateAVD, CreatenewAndroidVirtualDevice(AVD) (. 0.3). , , OK, AVD. Hardwarekeyboardpresent, , AVD, . , Emulated FrontCamera BackCamera. AVD , config.ini. , ;
http://developer.android.com/tools/devices/managing-avds.html
28
. 0.3.AVDNexus4Android4.3
4. AVD Android 4.3, - Nexus 7 Nexus 10, . . 0.4. AVD Android 4.4 Nexus 4, Nexus 7 Nexus 10, - : AVD_for_Nexus_4_KitKat, AVD_for_Nexus_7_KitKat AVD_for_Nexus_10_KitKat.
Android , AVD . Android, -. , . , Android,
http://developer.android.com/tools/device.html
Android(AVD)Android 29
. 0.4.AVDNexus7Nexus10
Microsoft Windows, Windows USB Android. USB-, . USB-, ,
http://developer.android.com/tools/extras/oem-usb.html
, ,
http://www.deitel.com/books/AndroidFP2/
-, www.deitel.com Register. . , .
30
. deitel.com , . deitel.com, . , , - Deitel Buzz Online
www.deitel.com/newsletter/subscribe.html
www.deitel.com , Login . http://www.deitel.com/books/AndroidFP2/. Examples, Zip- . , - . , .
AndroidGoogle Android. - , . Eclipse Android Studio , , - -. , [email protected] :
Facebook facebook.com/DeitelFan
Google+ google.com/+DeitelFan
.
, , - Android- . !
1 Android
AndroidAndroidSDK
GooglePlayStore
Android,Android
,Android,AndroidSDK,JavaSDK,-EclipseAndroidStudio
Android
AndroidEclipse
Android
32 1 Android
1.1.
Android! , Android . . 2- , .
Java. , , Java, - (C#/, Objective-C/Cocoa C++ ), , Java - Java Android.
- Android, . . Eclipse ( ), Java Android SDK (Software Development Kit), . , Eclipse. . - -. , , . , , - www.deitel.com/books/AndroidFP2/.
, - Eclipse, Android Studio. Android Studio , Android Studio . .
1.2.Android
Android Android.
Android 2008 . 2013 Strategy Analytics , Android
1.3.Android 33
81,3% 13,4% Apple, 4,1% Microsoft 1% Blackberry.1
IDC, 2013 Android - 56,5% 39,6% Apple iPad 3,7% Microsoft Windows.2
2013 1,5 Android ( , . .).3
- Android-.4
Android , , , , , NASA, , , , , , , ( , GPS, -, . .) .5
1.3.Android Android . - Android . - Android , . Android. - (http://source.android.com/source/report-bugs.html) Open Source Project (http://source.android.com/community/index.html). Android , Google (. 1.1). . 1.2 , Android, , , .
1 http://blogs.strategyanalytics.com/WSS/post/2013/10/31/Android-Captures-Record-81-Percent-Share-of-Global-Smartphone-Shipments-in-Q3-2013.aspx
2 http://www.idc.com/getdoc.jsp?containerId=prUS240932133 http://www.technobuffalo.com/2013/04/16/google-daily-android-activations-1-5-million4 http://venturebeat.com/2013/09/03/android-hits-1b-activations-and-will-be-called-kitkat-in-next-version
5 http://www.businessweek.com/articles/2013-05-29/behind-the-internet-of-things-is-android-and-its-everywhere
34 1 Android
1.1.Android
URL
http://en.wikipedia.org/wiki/List_of_open_source_Android_applications
-,(,.)
http://developer.android.com/tools/samples/index.html
GoogleAndroid;60(,,--)
http://github.com/ GitHub,-
http://sourceforge.net SourceForge,-
http://f-droid.org/ -Android,-AdblockPlus,aMetro,AnySoftKeyboard(-),Apollo,,-DroidWeight,EarthLiveWallpaper
http://blog.interstellr.com/post/39321551640/14-great-android-apps-that-are-also-open-source
14Android,-,
http://www.openintents.org/en/libraries
100,-
http://www.androidviews.net -,
http://www.stackoverflow.com StackOverflow-.,
1.2.Android
URL
Android http://source.android.com/source/downloading.html
GovernancePhilosophy http://source.android.com/about/philosophy.html
http://source.android.com/source/licenses.html
FAQ http://source.android.com/source/faqs.html
1.3.Android 35
. iOS Apple, Apple, Android (OEM, Original Equipment Manufacturer) . , .
Java Android Java . Java - Android, , , . Java Android-, Google Android API (Application Programming Interface) .
Java -, , . , , . , Eclipse Android Studio, - , , , . , - Android.
Android , -, MP3-, , - . - . , , , - . . - , ( Android ).
, . 1.3.
Android , ,
36 1 Android
1.3.,Android
,
-,GoogleMaps-.-
--
.
,-,-
(-,).--
-
-
,-
( )
. (Phone), (People), (EMail), (Browser), (Camera) .
-- (web services) , - , ( ) . - (mashups), - -, , . , 100 Destinations (www.100destinations.co.uk) Google Maps, .
Programmableweb (http://www.programmableweb.com/) 9400 API 7000 , . . 1.4 -. Programmableweb, API Google Maps, Twitter YouTube. 4 - Twitter.
1.4.Android 37
1.4.-(www.programmableweb.com/apis/directory/1?sort=mashups)
-
GoogleMaps
YouTube
Foursquare
LinkedIn -
Groupon
Netflix
eBay -
Wikipedia
PayPal
Last.fm -
AmazoneCommerce
Salesforce.com
Skype -
MicrosoftBing Bing
Flickr
Zillow
YahooSearch Yahoo!
WeatherBug
1.4.Android Android Android, Inc., 2005 Google. 2007 Open Handset Alliance, 84 (http://www.openhandsetalliance.com/oha_members.html). , Android, - , Android .
Android Android , - (. 1.5).
38 1 Android
1.5.Android
Android
Android1.5 Cupcake
Android1.6 Donut
Android2.02.1 clair
Android2.2 Froyo
Android2.3 Gingerbread
Android3.03.2 Honeycomb
Android4.0 IceCreamSandwich
Android4.14.3 JellyBean
Android4.4 KitKat
1.4.1.Android2.2(Froyo) Android 2.2, Froyo ( ), 2010 . , ( - Android). C2DM (Android Cloud to Device Messaging, ) , () , , . - . , . Android C2DM , Android, . , - 1. - C2DM Google Cloud Messaging.
Android 2.2 OpenGL ES 2.0, . .
http://developer.android.com/about/versions/android-2.2-highlights.html
1 http://code.google.com/android/c2dm/
1.4.Android 39
1.4.2.Android2.3(Gingerbread) Android 2.3 Gingerbread ( ), 2010 , , , - . (, , - ), ( API ) ( , - ).
Android 2.3 NFC (Near-Field Communication) , -, . NFC . NFC - (, Android NFS ), (, . .), . .
Android 2.3
http://developer.android.com/about/versions/android-2.3-highlights.html
1.4.3.Android3.03.2(Honeycomb) Android 3.0 Honeycomb ( ) , ( ): , , . Android 3.0:
, , ;
, - ;
-, , ;
Holo, ;
;
40 1 Android
-;
Bluetooth (, - , . .);
.
Android 3.0 , -
http://developer.android.com/about/versions/android-3.0-highlights.html
1.4.4.AndroidIceCreamSandwich Android 4.0 Ice Cream Sandwich ( ), 2011 , Android 2.3 (Gingerbread) Android 3.0 (Honeycomb) , Android. Android , - Honeycomb ( , . .), . , - . Ice Cream Sandwich API , (, ), . . (. 1.6). API Android 4.0
http://developer.android.com/about/versions/android-4.0.html
1.6.AndroidIceCreamSandwich (http://developer.android.com/about/versions/android-4.0.html)
Facedetection() ,.,,-
Virtualcameraoperator ()
AndroidBeam Android Beam(,,)-Android
1.4.Android 41
Wi-FiDirect Wi-FiP2P(Peer-to-Peer)API--FiP2P(Peer-to-Peer)API-FiP2P(Peer-to-Peer)API-P2P(Peer-to-Peer)API-P2P(Peer-to-Peer)API-2P(Peer-to-Peer)API-P(Peer-to-Peer)API-(Peer-to-Peer)API-Peer-to-Peer)API--to-Peer)API-to-Peer)API--Peer)API-Peer)API-)API-API--AndroidWi-Fi.,Bluetooth
SocialAPI -()
CalendarAPI ,,,-..
AccessibilityAPI API-API---(..).Explore-by-touch-Explore-by-touch--by-touch-by-touch--touch-touch--
Android@Homeframework(--Android@Home)
Android,:,,..
BluetoothHealthDevices ,-Blue-Blue-tooth:,..
1.4.5.Android4.14.3(JellyBean) Android Jelly Bean ( ), 2012 , , -, (, ) (. 1.7). Jelly Bean
http://developer.android.com/about/versions/jelly-bean.html
1.7.AndroidJellyBean (http://developer.android.com/about/versions/jelly-bean.html)
AndroidBeam AndroidBeam-AndroidBeam-Beam-Beam--Bluetooth-Bluetooth--
42 1 Android
,-,,
PhotoSphere API--,,Google Maps Street View
Daydreams ,--.Daydreams,-,-
,(,,-..)
,-,-
1.4.6.Android4.4(KitKat)
Android 4.4 KitKat, 2013 , -, - Android, , .1
KitKat Android . , - , .
Android KitKat , , - . . . 1.8 KitKat.
http://developer.android.com/about/versions/kitkat.html
1 http://techcrunch.com/2013/10/31/android-4-4-kitkat-google/
1.7()
1.5.GooglePlay 43
1.8.AndroidKitKat (http://developer.android.com/about/versions/kitkat.html)
(Immersivemode)
,.,,(Back,Home Recent Apps)
,Wi-Fi,
,,(-,)
SMS SMS(ShortMessageService) MMS (MultimediaMessagingService)-------- SMS API.
-
Captioning Manager API(,..)
ChromiumWebView -,HTML5,CSS3JavaScript
,,-,,-
HostCardEmulator(HCE) HCENFC(,-NFC(,-(,-)SIM-
1.5.GooglePlay Google Play , .1 - PlayStore, .
1 en.wikipedia.org/wiki/Google_Play
44 1 Android
Google Play : http://play.google.com , Android, . WiFi 3G/4G. 9 , ( ), . .
1.9.Android-GooglePlay
Kindle,Wikipedia,AudibleforAndroid,GooglePlayBooks
OfficeSuitePro7,JobSearch,SquareRegister,GoToMeeting
ComicRack,MemedroidPro,MarvelComics,ComicStrips
FacebookMessenger,Skype,GrooVeIP
Duolingo:LearnLanguagesFree,TED,MobileObservatory
SketchBookMobile,Netflix,FandangoMovies,iFunny:)
Mint.comPersonalFinance,GoogleWallet,PayPal
: MinecraftPocketEdition,FruitNinja,AngryBirds
: WheresMyWater?,DrawSomething,CanYouEscape
: Solitaire,SlotsDelux,UNO&Friends,DHTexasPoker
: CandyCrushSaga,HardestGameEver2,GameDevStory
RunKeeper,CalorieCounter,WorkoutTrainer,WebMD
ZillowRealEstate,EpicuriousRecipeApp,FamilyLocator
PicsArt,GOLauncherEX,BeautifulWidgetsPro
MXPlayer,YouTube,KeepSafeVault,RealPlayer
Epocrates,ICE:InCaseofEmergency,Medscape
Pandora,Shazam,Spotify,UltimateGuitarTabs&Chords
Flipboard,PulseNews,CNN,Engadget,Drippler
BeautifulWidgetsPro,Zedge,GOLauncherEX
CameraZOOMFX,PhotoGrid,InstaPicFrameforInstagram
AdobeReader,Dropbox,GoogleKeep,SwiftKeyKeyboard
eBay,AmazonMobile,Groupon,TheCouponsApp
Facebook,Instagram,Vine,Twitter,Snapchat,Pinterest
SportsCenterforAndroid,NFL13,TeamStream
TitaniumBackupPRO,GoogleTranslate,TinyFlashlight
Uber,Trapster,Lyft,Hailo,UlysseSpeedometer
Waze,GasBuddy,KAYAK,TripAdvisor,OpenTable
WeatherBug,AccuWeather,TheWeatherChannel
Zillow,DailyHoroscope,Starbucks,FamilyLocator
1.6. 45
1.6. Android , . Android, Java Google. Android, . Android-, Android (http://developer.android.com/design/index.html). . 1.10 , . Android - developer.android.com/reference/packages.html.
1.10.AndroidJava,,,
android.app Android(TipCalculator3)
android.content (-Cannon Game6)
android.content.res ,-(,,,),-,(Flag Quiz5)
android.database ,(Address Book8)
android.database.sqlite SQLite(Address Book8)
android.graphics ,(Flag Quiz5Doodlz 7)
android.hardware (Doodlz7)
android.media ,(Cannon Game6)
android.net c(TwitterSearches 4)
android.os (Tip Calculator 3)
android.preference (Flag Quiz5)
android.provider Android(Doodlz 7)
46 1 Android
android.support.v4.print AndroidSupportLibrary-AndroidSupportLibrary-SupportLibrary-SupportLibrary-Library-Library--Android4.4(Doodlz7)
android.text (-TipCalculator3)
android.util XML(-CannonGame6)
android.widget ,-(TipCalculator3)
android.view , (FavoriteTwitterSearches4)
java.io ,(FlagQuiz5)
java.text (TwitterSearches4)
java.util (TwitterSearches4)
android.graphics.drawable ,-(,)(FlagQuiz5)
1.7.AndroidSoftwareDevelopmentKit(SDK) Android SDK , Android-. - Android Developers ( ). , Android-, Java SE, Android SDK/ADT ( Eclipse) Android Studio IDE.
Android SDK/ADT Android SDK/ADT ( Eclipse) - Android-. Android- . Eclipse :
;
( );
;
1.10()
1.7.AndroidSoftwareDevelopmentKit(SDK) 47
;
.
Eclipse 1.9 Doodlz. - 2, Welcome, Eclipse .
Android StudioAndroid Studio, Android - JetBrains IntelliJ IDEA (http://www.jetbrains.com/idea/), 2013 . Google Android- . Android Studio - . Eclipse, Android Studio:
http://www.deitel.com/books/AndroidFP2
Android Studio, Eclipse,
http://developer.android.com/sdk/installing/studio.html
Android Development Tools (ADT) Eclipse ADT (Android Development Tools, Android-, Android SDK/ADT) Eclipse - Eclipse. , Android, (, Google Play) . ADT - . ADT 2.
Android Android, Android SDK, Android Windows, Mac OS X Linux. Android. , Android . , Google Play Android-.
AVD (Android Virtual Device, Android). - Android, : , , , .
48 1 Android
Android, AVD (, testdroid.com appthwack.com), .
, Android. Android (. 1.11) (. 1.12), - . , - , Android. , GPS- , , GPS. ( / ), ( ) , . Sensor Simulator, AVD :
https://code.google.com/p/openintents/wiki/SensorSimulator
1.11.Android
(TipCalculator3)
(CannonGame6)
,(CannonGame6)
,,-,-(AddressBook8)
Ctrl.,-.-,,-,
1.12.Android ( http://developer.android.com/tools/help/emulator.html)
Android
Back() Esc
/ F3
Ctrl-KEYPAD_5,Ctrl-F3
1.8.- 49
Android
F4
Home() Homebutton
() F2orPageUpbutton
F7
F5
*() Shift-F2orPageDownbutton
KEYPAD_7,Ctrl-F11
KEYPAD_9,Ctrl-F12
/ F8
KEYPAD_PLUS,Ctrl-F5
KEYPAD_MINUS,Ctrl-F6
. 1.13 Android, -. , Android . AVD Android- Welcome 2.
1.13.Android, (http://developer.android.com/tools/devices/emulator.html)
Android,
()
Bluetooth
USB
/SD-
(,,,,)
1.8.- Android - -, . .
50 1 Android
- , , -. ( , 3, , ) . , , , , . - (, , ) (, , ). , - - . -- .
1.8.1. , . , - , . , ? , - . , . , . - , , , , . , , .
, , , . - , . , - , ( !), , .
1.8.2. - . , , . , - , .
1.8.- 51
, , , . , , , , , , . , , .
1.8.3. , , , . . .
1.8.4. , . - . , , . - , - , .
1.8.5. , ( ). . , - . , deposit , .
1.8.6. , , , , . , (
52 1 Android
). . - . , , , .
, , , - . - . , bankaccount , . bankaccount , . .
1.8.7.
( ). , , . .
1.8.8.
. , . - , . , -, .
1.8.9.-
, ? - , , , . , , , , , - ? 1000 , ? .
1.9.DoodlzAVD 53
, - ( , ) , ( , ). ( ). - , , - - (). , Java, -. , - - (), - .
1.9.DoodlzAVD - Android. Doodlz , . - 7.
, - Eclipse (AVD) Nexus 4 (c AVD , ). , Android. - AVD, ; .
Android SDK/ADT Android Studio
, , , Windows 7, Java SE 7 SDK Android SDK/ADT (. ). Android Studio , Android Studio :
www.deitel.com/books/AndroidFP2
, - Google. Android SDK/ADT Android Studio Android, AVD, .
54 1 Android
1.9.1.DoodlzAVDNexus4 Doodlz, .
1. . , , , .
2. Eclipse. eclipse , Android SDK/ADT, Eclipse ( - ).
3. . WorkspaceLauncher, , , - OK. workspace . (workspace) , -, . , , Eclipse. , Android-, Java- -, . Eclipse , Welcome!, . 1.1.
. 1.1.Welcome!Eclipse
4. Nexus 4 AVD. - Nexus 4, Android 4.4 (KitKat) ; 1.9.2 , AVD . AVD ,
1.9.DoodlzAVD 55
- . Nexus 4 AVD, WindowAndroidVirtualDeviceManager; AndroidVirtualDeviceManager (. 1.2). Nexus 4 AVD Android KitKat Start, Launch LaunchOptions. AVD. AVD (. 1.3), AVD, .
. 1.2.AndroidVirtualDeviceManager
. 1.3.Nexus4AVD(Android4.4)AVD
56 1 Android
5. Doodlz. FileImport, Import (. 1.4, ). General, - ExistingProjectsintoWorkspace Next>, ImportProjects (. 1.4, ). Browse Selectroot
. 1.4.:
Import;ImportProjects
1.9.DoodlzAVD 57
directory. BrowseForFolder Doodlz, - , Open. Finish, Eclipse. PackageExplorer Eclipse (. 1.5). PackageExplorer , WindowShowViewPackageExplorer.
. 1.5.PackageExplorer
6. Doodlz. Eclipse Doodlz PackageExplorer RunAsAndroidApplication(. 1.6). Doodlz , 4 (. 1.7).
7. AVD . AVD - , . ( AVD)
. 1.6.Doodlz
58 1 Android
. 1.7.DoodlzAndroid(AVD)
Android. Back () , . Home () . Recent Apps ( ) . (app bar), , (COLOR LINEWIDTH . 1.7), ( ). - 7. Android 4.4 (immersive mode), . , , . , .
8. . , , ( ) ( ). . 1.8, Nexus 4 AVD, . 1.8, Nexus 7 AVD
1.9.DoodlzAVD 59
(). COLOR, . LINEWIDTH . Eraser , . Clear , , ( ). SaveImage - . Android 4.4 Print , - PDF ( ). .
. 1.8.Doodlz:Nexus4AVD;Nexus7AVD
9. . , Color (. 1.9). ARGB, ( 0 255) - : - (), , . - 0 , 255 . , 0 , 255 . SeekBar, , . SeekBar, . , Red , . 1.9. SetColor, .
60 1 Android
. 1.9.
10. . , - LINEWIDTH ; ChooseLineWidth. SeekBar, , (. 1.10). SetLineWidth, .
. 1.10.
11. . , , ( ) -, (. 1.11).
12. -. , , COLOR ChooseColor. - , Green SeekBar , Red Blue - (. 1.12, ).
13. . , LINEWIDTH. - ChooseLineWidth. SeekBar, , (. 1.12, ). , , . 12 13 , (. 1.13).
1.9.DoodlzAVD 61
. 1.11.
. 1.12.-: -;
14. . , . (. 1.14, ) (. 1.14, ).
62 1 Android
. 1.13.
, , (. 1.15).
15. . - Gallery. Save . , , - Gallery.
16. . , Print . , PDF. , SaveasPDF . , , Google Cloud Print .
http://www.google.com/cloudprint/learn/
17. . AVD, Home ( ) AVD. Gallery, , AVD. Gallery .
1.9.DoodlzAVD 63
. 1.14.:;
. 1.15.
64 1 Android
1.9.2.DoodlzAppAVD AVD, AVD, 4 1.9.1, Nexus 4 AVD Nexus 7 AVD. Doodlz Eclipse PackageExplorer RunAsAndroidApplication. AVD, AndroidDeviceChooser (. 1.16), AVD . AVD Nexus 4 Nexus 7, - Android . Nexus 7 AVD OK. ( ) . - AVD ( ), ( ). . 1.17 Nexus 7 AVD. AVD - , AVD Ctrl+F12 ( Mac fn+control+F12). Ctrl Control.
. 1.16.AndroidDeviceChooser
1.9.3.DoodlzAndroid Android, - .
1. . . Settings,
1.9.DoodlzAVD 65
. 1.17.Nexus7AVD
, AboutPhone ( AboutTablet), BuildNumber ( ) , Youarenowadeveloper. Settings DeveloperOptions.
2. . Settings, DeveloperOptions , USBdebugging .
3. . USB, . Windows, , , USB . :
developer.android.com/tools/device.html
developer.android.com/tools/extras/oem-usb.html
4. Doodlz Android. Eclipse PackageExplorer, Doodlz RunAsAndroidApplication. AVD, Android, . AVD / -, AndroidDeviceChooser (. 1.16). AVD .
66 1 Android
, Google Play , . , . , AVD, , . - , AVD. config.ini AVD, Setting hardware emulation options
developer.android.com/guide/developing/tools/avd.html
config.ini , Android Virtual Device Manager. Android .
1.10.Android- Google Play 800 000 .1 Android, , , - ? , , , . , Google Play Android. , ? . 1.14 .
1.14.
1 http://www.pureoxygenmobile.com/how-many-apps-in-each-app-store/
1.10.Android- 67
/
,;
(,..)
(,,,..)
(,,..)
Android,Android
Android
,
()
,Google Play
,,
(-)
(http://developer.android.com/guide/topics/ui/accessibility/index.html)
(,Facebook Twitter)
68 1 Android
,(,,..)
(.2),(,,..)
,-
Android
-,,Google Play (http://android-developers.blogspot.com/2010/06/future-proofing-your-app.html)
1.11. . 1.15 Android Developer. Android- , , . . - Android, (. 1.16). . 1.17 , , Android.
1.15.Android-
URL
http://developer.android.com/guide/components/index.html
Android
http://developer.android.com/tools/devices/emulator.html
http://developer.android.com/reference/packages.html
http://developer.android.com/reference/classes.html
http://developer.android.com/design/index.html
http://developer.android.com/guide/topics/data/backup.html
http://developer.android.com/training/articles/security-tips.html
EclipseADT
http://developer.android.com/guide/developing/projects/projects-eclipse.html
1.14()
1.11. 69
URL
Android Studio http://developer.android.com/sdk/installing/studio.html
http://developer.android.com/tools/debugging/index.html
http://developer.android.com/tools/help/index.html
-
http://developer.android.com/training/articles/perf-tips.html
-
http://developer.android.com/training/articles/perf-anr.html
-(Google Play)
http://developer.android.com/distribute/googleplay/publish/preparing.html
http://developer.android.com/distribute/googleplay/publish/register.html
http://developer.android.com/training/articles/memory.html
-GooglePlay-Play-Play--
http://play.google.com/about/developer-distribution-agreement.html
1.16.Android
AndroidDiscuss GoogleGroups:android-discuss:[email protected]
-Android,-
StackOverflow http://stackoverflow.com/questions/tagged/android
Android,Java Eclipse,-Eclipse,-,-
AndroidDevelopers http://groups.google.com/forum/?fromgroups#!forum/android-developers
,-,..
Android Forums http://www.androidforums.com
,-Android
70 1 Android
1.17.Android
, , URL
Android- Google
http://code.google.com/p/apps-for-android/
-Android-(OReilly)
http://answers.oreilly.com/topic/862-ten-tips-for-android-application-development/
BrightHub-BrightHub-Hub-Hub--Android-
http://www.brighthub.com/mobile/google-android.aspx
TheAndroidDevelopersBlog http://android-developers.blogspot.com/
TheSprintApplicationDevelopersProgram
http://developer.sprint.com/site/global/develop/mo-bile_platforms/android/android.jsp
HTCsDeveloperCenterforAndroid http://www.htcdev.com/
Android--Android----Motorola
http://developer.motorola.com/
TopAndroidUsersonStackOver-flow
http://stackoverflow.com/tags/android/topusers
AndroidDevWeeklyNewsletter http://androiddevweekly.com/
Codependent( ) http://graphics-geek.blogspot.com/
http://cyrilmottier.com/
http://www.curious-creature.org/category/android/
Android-YouTube
http://www.youtube.com/user/androiddevelopers
-Android
http://developer.android.com/develop/index.html
Android-
http://www.youtube.com/watch?v=lmv1dTnhLH4
GoogleI/O2013DeveloperConference
http://developers.google.com/events/io/sessions
1.12. Android . - , ,
1.12. 71
. Android Market Google Play , . Java, Android Google, Android-; . Java Android SDK, Android, Android . , , , . Doodlz Android. 2 Android-, . . Android-.
2 Welcome
Android- (EclipseADT), , Android-
()
Android
, AndroidTalkBackExplore-by-Touch
,
2.1. 73
2.1. Welcome. , . ADT , Android. , , , . Android- (. 2.1) , . , Android ( Android, ). , , , . http://www.deitel.com/books/AndroidFP2 Android Studio. , -, 1.9.
. 2.1.WelcomeAndroid
74 2 Welcome
2.2. , .
2.2.1.AndroidDeveloperToolsIDE Android Developer Tools (ADT). (. 2.3). , Hello world!. (. 2.5).
2.2.2.TextViewImageView TextView, - ImageView. , - , TextView, , , . . (. 2.5.3). ImageView (. 2.5.4).
2.2.3. , res . 2.5.3 , (, TextView) (, ). - Android TextView.
2.2.4.Android , - . , TalkBack , ( , ) . Android Explore by Touch , TalkBack . 2.7 , .
2.3. 75
2.2.5. Android . , , . 2.8 , Welcome TextView ImageView AVD, - .
2.3. Android Developer Tools (22.x) Android SDK (4.3 4.4), . -, Java SE Development Kit (JDK) Android Developer Tools, 1.9. , IDE, IDE .
2.3.1. AndroidDeveloperTools IDE, eclipse Android SDK/ADT Eclipse icon ( , ).
Welcome (. . 2.1). , HelpAndroidIDE.
2.3.2. (, ), . . NewAndroidApplication Welcome, - NewAndroidApplication (. 2.2). : FileNewAndroidApplicationProject New ( ) AndroidApplicationProject.
2.3.3.NewAndroidApplication NewAndroidApplication (. 2.2), Next>:
76 2 Welcome
1. ApplicationName: . Welcome.
. 2.2.NewAndroidApplication
2. ProjectName: , PackageExplorer IDE. IDE , , , Address Book - AddressBook. , ProjectName:.
3. PackageName: Java . Android - Google Play , -. , . , - deitel.com, com.deitel. . . IDE , com.example, - , .
2.3. 77
4. MinimumRequiredSDK: Android API, . API . 18, - Android 4.3 , . . 2.1 Android SDK API. SDK . Android, - ,
http://developer.android.com/about/dashboards/index.html
2.1.AndroidSDKAPI (http://developer.android.com/about/dashboards/index.html)
SDK API
4.4 19
4.3 18
4.2.x 17
4.1.x 16
4.0.3-4.0.4 15
4.0.1 14
3.2 13
2.3.3-2.3.7 10
2.2 8
2.1 7
1.6 4
5. TargetSDK: API. - 19 (Android 4.4). 26% Android 10. . , Android 2.3.3 (98% Android), MinimumRequiredSDK 10. API, TargetSDK, , API MinimumRequiredSDK API . Android Lint, IDE , .
6. CompileWith: API, . TargetSDK, API, .
78 2 Welcome
7. Theme: , Android. HoloLight, HoloDark HoloLightwithDarkActionBars ( IDE ). Holo Light Holo Dark. , - . :
http://developer.android.com/design/style/themes.html
2.3.4.ConfigureProject NewAndroidApplication ConfigureProject (. 2.3) - Next>. (Activity) , .
. 2.3.NewAndroidApplication(2)
2.3.5.ConfigureLauncherIcon , - ,
2.3. 79
. Android - . , , . Android - , ( ) (DPI, dots per inch). 3. -
http://developer.android.com/training/multiscreen/index.html
http://developer.android.com/design/style/iconography.html
ConfigureLauncherIcon (. 2.4) - , . , 4848, 7272, 9696 144144 . DeitelOrange.png. , Browse ImageFile:, images ,
. 2.4.NewAndroidApplication(3)
80 2 Welcome
DeitelOrange.png Open. Preview . . - . , Google Play, . 9 Google Play , ( ). Next>, .
2.3.6.CreateActivity Create Activity (. 2.5) (Activity) -. , - . . 2.2 , . 2.5. Blank Activity Next>. .
. 2.5.NewAndroidApplication(4)
2.3. 81
2.2.Activity
BlankActivity ,-.,,-
FullscreenActivity (Blank Activity),,-
Master/DetailFlow ,-(-(-(-EmailPeople)..,
2.3.7.BlankActivity (. 2.6) . BlankActivity :
Activity Name ( IDE MainActivity). Activity, . 3 .
Layout Name ( IDE activity_main.xml). XML. ( 2.5) .
NavigationType ( IDE None). Welcome . -, , . .
Finish, .
82 2 Welcome
. 2.6.NewAndroidApplication(5)
2.4.AndroidDeveloperTools IDE MainActivity.java activity_main.xml. MainActivity.java, IDE , . 2.7. IDE . , Welcome. IDE - .
2.4.1.PackageExplorer PackageExplorer . . 2.8 Welcome PackageExplorer. Welcome - . IDE . - . res, 2.4.4; , .
2.4.AndroidDeveloperTools 83
. 2.7.WelcomeAndroidDeveloperTools
2.4.2. PackageExplorer . 2.7 (GraphicalLayout). PackageExplorer, ( ). Java Java. XML, (, activity_main.xml), .
84 2 Welcome
. 2.8.ProjectExplorer
2.4.3. Outline IDE (. 2.7). . , . Java , .
2.4.4. , activity_main.xml ( res/layout), - res . . . 2.3 , - Welcome; (menu, animator, anim, color, raw xml) , .
2.3.,
drawable ,drawable,-drawable,-,-.XML,-XML,-,-(,,)
layout ,layout,XML-layout,XML-,XML-XML--,activity_main.xml
2.4.AndroidDeveloperTools 85
values ,values,(arrays.xml),(colors.xml),(dimen.xml;-arrays.xml),(colors.xml),(dimen.xml;-.xml),(colors.xml),(dimen.xml;-xml),(colors.xml),(dimen.xml;-),(colors.xml),(dimen.xml;-colors.xml),(dimen.xml;-.xml),(dimen.xml;-xml),(dimen.xml;-),(dimen.xml;-dimen.xml;-.xml;-xml;-;-,,),(strings.xml)-strings.xml)-.xml)-xml)-)-(styles.xml).-styles.xml).-.xml).-xml).-).-,.,Java.,,-,Java
2.4.5. IDE activity_main.xml (. 2.9). activity_main.xml res/layout .
Android . Android. - , (AVD), Google Nexus 4. - , . Nexus 4, . 2.9. , Nexus 4, , Nexus 4. , , - .
2.4.6. (. 2.9) BlankPage RelativeLayout - ( , - ) TextView "Hello world!". RelativeLayout - , RelativeLayout , , . TextView
86 2 Welcome
. - 2.5.
. 2.9.
2.5. 87
2.5. Welcome. (GraphicalLayout) GUI, Button, TextView, ImageView . , BlankApp XML- activity_main.xml res/layout. Outline - . Android , .
2.5.1. Deitel (bug.png) Android (android.png). images/Welcome . ( - , ) .
Android , - (DPI, Dot Per Inch), , . res , drawable. (. 2.4).
2.4.Android
drawable-ldpi 120
drawable-mdpi 160
drawable-hdpi 240
drawable-xhdpi 320
drawable-xxhdpi 480
drawable-xxxhdpi 640
, Google Nexus 4, AVD, drawable-hdpi. - (, - ) drawable-xhdpi drawable-xxhdpi.
88 2 Welcome
Android drawable-mdpi drawable-ldpi .
. Android drawable, - ( , ).
2.1
.,,-.
2.2
Androidhttp://developer.android.com/guide/practices/screens_support.html.
, .
1. PackageExplorer res .
2. Welcome images . res/drawable-hdpi. , FileOperation CopyFiles, OK. PNG, JPG GIF .
.
2.5.2.IdRelativeLayoutTextView , (Properties) Outline XML. , Outline (. 2.10).
. 2.10.
2.5. 89
, ( ). Id. , XML. -, Id RelativeLayout.
RelativeLayout, Id
@+id/welcomeRelativeLayout
+ @+id ( ), /. TextView Id
@+id/welcomeTextView
, . 2.11.
. 2.11.IdRelativeLayoutTextView
2.5.3.TextView Welcome - TextView, .
90 2 Welcome
Text TextView Android (http://developer.android.com/guide/topics/resources/index.html), , , , , , res , - Java- . . , - , , .
, , . res values, strings.xml. . , values ( 2.8).
Text TextView, strings.xml.
1. , TextView.
2. Text, , - . , , ResourceChooser.
3. ResourceChooser NewString, - CreateNewAndroidString, . 2.12.
4. String NewR.string (. . 2.12), Replacein all XMLfilefordifferentconfigurations, OK, ResourceChooser. String , TextView, R.string -, Text TextView.
5. welcome . OK, .
Text , . 2.13. @string , strings.xml ( res/values ), welcome .
Text Size TextView , GUI Android - (. 2.5). , , -
developer.android.com/guide/practices/screens_support.html
2.5. 91
GUI , , , .
. 2.12.CreateNewAndroidString
. 2.13.TextTextView
2.5.
px
dpdip ,
sp ,
in
mm
92 2 Welcome
, (dp dip), Android - . , , 160 dpi ( ). - 240 dpi , , 240/160 ( 1,5). , , - 100 , , 150 . 120 120/160 ( 0,75). , 100 75 . , - , , , , , .
TextView TextView, . :
1. , welcomeTextView.
2. TextSize . , ResourceChooser.
3. ResourceChooser NewDimension
4. Name welcome_textsize, Value 40sp. OK, ResourceChooser. sp 40sp , , . dp (-, 10dp) , .
welcome_textsize . OK, .
TextView - TextView.
TextColor @android:color/holo_blue_dark. Android . @android:color/ TextColor, (. 2.14). @android:color/holo_blue_dark, -.
, , TextView, Gravity center. Value , ,
2.5. 93
SelectFlagValues Gravity (. 2.15). center, OK, .
. 2.14.TextColorTextView @android:color/holo_blue_dark
. 2.15.Gravity
, . 2.16.
ImageView ImageView, , 2.5.1. ImageView
94 2 Welcome
Images&Media . .
1. Images&Media ImageView (. 2.17). ImageView welcomeTextView. , . - , - , , . . 2.17 , ImageView ( , ) - welcomeTextView ( ).
. 2.16.TextView
. 2.17.ImageView
2. ResourceChooser (. 2.18), . -, drawable, IDE ( ), .
2.5. 95
, android.png android. android OK, . , .
. 2.18.androidResourceChooser
3. IDE Id ImageView @+id/imageView1. @+id/droidImageView. - UpdateReferences? - . Yes. RenameResource . OK, -.
4. 13 bugImageView. - ImageView droidImageView, ResourceChooser Id @+id/bugImageView . .
, . 2.19.
96 2 Welcome
. 2.19.
2.6.Welcome AVD , - 1.9.1. . 2.20 Nexus 4 AVD, . ( ). AVD ( ), . , -, , .
1.9.3, Android. AVD
2.7. 97
. 2.20.WelcomeAVD
, . , , , , - ; , .
2.7. Android , . - Android TalkBack ( , ), -. Explore by Touch, - , . TalkBack, , , - . Android
98 2 Welcome
. , TalkBack , TextView, TalkBack . TalkBack Settings ( Accessibility). Android , (, ). , TalkBack - AVD, , TalkBack , . - TalkBack Android TalkBack Explore by Touch.
TalkBack ImageView Welcome TextView, TalkBack TextView. ImageView , , . Android - TalkBack ContentDescription , . IDE , ( ) ImageView. - ( Android Lint) , ContentDescription . . ImageView .
ContentDescription ImageView ( Android Lint), .
1. droidImageView .
2. Content Description, ResourceChooser.
3. NewString, CreateNewAndroidString.
4. String "Android logo", R.string android_logo. OK.
5. android_logo ResourceChooser. OK, Content Description droidImageView.
6. bugImageView, CreateNewAndroidString String "Deitel doublethumbsup bug logo", R.string "deitel_logo". .
ContentDescription ImageView ( ) ImageView.
2.8. 99
TalkBack TalkBack. - TextView ImageView .
- . . Android - Android , :
http://developer.android.com/design/patterns/accessibility.html
http://developer.android.com/guide/topics/ui/accessibility/index.html
http://developer.android.com/guide/topics/ui/accessibility/checklist.html
2.8. , Android . - , , -. , , (, . .) . , . . -, Android , .
( ) , - , XML . , . Android , .
XML- , , res . Android , values-fr strings.xml
100 2 Welcome
, values-es strings.xml . , values-en-rUS values-en-rGB strings.xml , , . , Android ( values res). - .
Welcome strings.xml, , values-es. :
1. PackageExplorer res NewFolder, NewFolder.
2. Foldername: valueses. Finish.
, , values-XX.
strings.xml values-es strings.xml values values-es.
:
1. PackageExplorer values res, strings.xml Copy.
2. values-es Paste, strings.xml.
TextView, , ImageView , . strings.xml. strings.xml. , , - . , Google Play Developer Console ( Google Play) , .
Google Play Developer Console 9
developer.android.com/distribute/googleplay/publish/index.html
2.8. 101
"Welcome to Android App Development!"
"Android logo"
"Deitel double-thumbs-up bug logo"
"Bienvenido al Desarrollo de App Android!""Logo de Android""El logo de Deitel que tiene el insecto con dedos pulgares hacia arriba"
:
1. PackageExplorer strings.xml values-es, Android. welcome (. 2.21).
. 2.21.Androidwelcome
2. Value "Welcome to Android App Development!" "Bienvenido al Desarrollo de App Android!". , res/values-es/strings.xml Welcome ( WelcomeInternationalized ). Value, , Paste.
3. android_logo Value "Logo de Android".
4. , deitel_logo Value "El logo de Deitel que tiene el insecto con dedos pulgares hacia arriba".
102 2 Welcome
5. app_name, action_settings hello_world, Remove. . strings.xml . app_name. , .
6. strings.xml FileSave .
, - Android ( ).
1. Home ( ) .
2. ( ), Settings ( ).
3. Settings PERSONAL, Language&input.
4. Language ( ) Espaol (Espaa).
- Language&input, .
Welcome IDE; - . . 2.22 , . Android AVD ( ), , AVD ( ) , welcome, android_logo deitel_logo, res/values-es/strings.xml . , . , app_name res/values-es/strings.xml. , : Android , - res/values/strings.xml.
2.1
.Android.,,,.
2.8. 103
. 2.22.Welcome AVDNexus4
AVD ( ) AVD ( ) :
1. Home ( ) .
2. ( ), Settings ( ) Ajustes.
3. Idiomayentradadetexto, .
4. Idioma English(UnitedStates).
TalkBack TalkBack , , , . Welcome TalkBack, TalkBack - .
TalkBack, Android . TalkBack
104 2 Welcome
, , -. .
Android Localization Checklist :
developer.android.com/distribute/googleplay/publish/localizing.html
2.9. Android Developer Tools IDE Welcome app, - - . .
TextView, ImageView. TextView -, , . ImageView . , res .
, - . , TalkBack , - . Android Explore by Touch , TalkBack . ImageView , TalkBack Explore by Touch.
, Android , . Welcome TextView ImageView, AVD, .
Android - Java. Tip Calculator ; , Java .
3 TipCalculator GridLayout, LinearLayout, EditText, SeekBar, - , NumberFormat Java
LinearLayoutGridLayout
Outline GUILinearLayoutGridLayout
TextView,EditTextSeekBar
-Java,,,,, Android
GUI
EditTextSeekBar
106 3 TipCalculator
3.1. Tip Calculator (. 3.1, ) - . ( 15% ). 0% 30% ( 18%). Seekbar, , Seekbar (. 3.1, ). 18%, , . . 3.1 - Android AVD , .
. 3.1.:;34,56
20%
. , .
3.2.TipCalculator 107
(GUI) (Graphical Layout editor) Android Developer Tools Outline. . 3.2 3.4 Android Studio http://www.deitel.com/books/AndroidFP2.
3.2.TipCalculator
Android Developer Tools Tip Calculator. .
1. AVD - Nexus 4, . Nexus 4 AVD, WindowAndroidVirtualDeviceManager; AndroidVirtualDeviceManager. Nexus 4 AVD Start, Launch LaunchOptions.
2. FileImport, Import.
3. Tip Calculator. Import General, ExistingProjectsintoWorkspace Next> ImportProjects. Selectrootdirectory Browse. BrowseForFolder TipCalculator ( ), OK. , Copyprojectsintoworkspace . Finish, - . PackageExplorer.
4. Tip Ca