Friesen | Learn Java for Android Development | E-Book | www2.sack.de
E-Book

E-Book, Englisch, 656 Seiten

Friesen Learn Java for Android Development


1. ed
ISBN: 978-1-4302-3157-8
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 656 Seiten

ISBN: 978-1-4302-3157-8
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark



Android development is hot, and many programmers are interested in joining the fun. However, because this technology is based on Java, you should first obtain a solid grasp of the Java language and its foundational APIs to improve your chances of succeeding as an Android app developer. After all, you will be busy learning the architecture of an Android app, the various Android-specific APIs, and Android-specific tools. If you do not already know Java fundamentals, you will probably end up with a massive headache from also having to quickly cram those fundamentals into your knowledge base.   Learn Java for Android Development teaches programmers of any skill level the essential Java language and foundational Java API skills that must be learned to improve the programmer?s chances of succeeding as an Android app developer. Each of the book?s 10 chapters provides an exercise section that gives you the opportunity to reinforce your understanding of the chapter?s material. Answers to the book?s more than 300 exercises are provided in an appendix. Additionally, author Jeff Friesen has created six bonus chapters that you can download from his personal site, located at http://tutortutor.ca/cgi-bin/makepage.cgi?/books/ljfad. Once you complete this book, you will be ready to dive into Android, and you can start that journey by obtaining a copy of Beginning Android 2.  

Jeff Friesen is a freelance tutor and software developer with an emphasis on Java (and now Android). In addition to authoring Learn Java for Android Development and co-authoring Android Recipes -- Jeff has written numerous articles on Java and other technologies for JavaWorld (a href='http://www.JavaWorld.com'JavaWorld.com/a), informIT (a href='http://www.InformIT.com'InformIT.com/a), a href='http://www.java.net'Java.net/a, and DevSource (a href='http://www.DevSource.com'DevSource.com/a). Jeff can be contacted via his website at a href='http://www.tutortutor.ca'TutorTutor.ca/a.

Friesen Learn Java for Android Development jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Title Page ;1
2;Copyright Page ;2
3;Contents at a Glance;4
4;Table of contents;5
5;About the Author;10
6;About the Technical Reviewer;11
7;Acknowledgments;12
8;Introduction;13
9;Chapter 1 Getting Started with Java;16
9.1;What Is Java?;16
9.1.1;Java Is a Language;17
9.1.2;Java Is a Platform;18
9.1.3;Java SE, Java EE, Java ME, and Android;20
9.2;Installing and Exploring the JDK;21
9.3;Installing and Exploring Two Popular IDEs;27
9.3.1;NetBeans IDE;28
9.3.2;Eclipse IDE;32
9.4;Four of a Kind;35
9.4.1;Understanding Four of a Kind;36
9.4.2;Modeling Four of a Kind in Pseudocode;36
9.4.3;Converting Pseudocode to Java Code;38
9.4.4;Compiling, Running, and Distributing FourOfAKind;52
9.5;Summary;56
10;Chapter 2 Learning Language Fundamentals;57
10.1;Classes;57
10.1.1;Declaring Classes;58
10.1.2;Introducing Fields;59
10.1.2.1;Declaring Fields;59
10.1.2.2;Initializing Fields;62
10.1.2.2.1;Simple Expressions;62
10.1.2.2.2;Compound Expressions;65
10.1.2.3;Read-only Fields;71
10.1.3;Introducing Methods;72
10.1.3.1;Declaring Methods;72
10.1.3.2;Implementing Methods;74
10.1.3.2.1;Empty Statements, Local Variable Declarations, Assignments, and Method Calls;75
10.1.3.2.2;Decisions;76
10.1.3.2.3;Loops;80
10.1.3.2.4;Break and Continue;84
10.1.3.2.5;Method Return;87
10.1.3.3;Overloaded Methods;88
10.1.4;Introducing Constructors;89
10.1.5;Introducing Other Initializers;90
10.1.5.1;Class Initializers;91
10.1.5.2;Instance Initializers;91
10.1.5.3;Initialization Order;92
10.1.6;Interface Versus Implementation;96
10.2;Objects;99
10.2.1;Creating Objects and Arrays;99
10.2.2;Accessing Fields;101
10.2.3;Calling Methods;103
10.2.3.1;Method-Call Stack;104
10.2.3.2;Recursive Calls;104
10.2.3.3;Argument Passing;105
10.2.3.4;Chained Instance Method Calls;106
10.2.4;Garbage Collection;106
10.3;Summary;108
11;Chapter 3 Learning Object-Oriented Language Features;111
11.1;Inheritance;111
11.1.1;Extending Classes;112
11.1.2;The Ultimate Superclass;117
11.1.2.1;Cloning;118
11.1.2.2;Equality;120
11.1.2.3;Finalization;123
11.1.2.4;Hash Codes;124
11.1.2.5;String Representation;125
11.1.3;Composition;126
11.1.4;The Trouble with Implementation Inheritance;126
11.2;Polymorphism;130
11.2.1;Upcasting and Late Binding;131
11.2.2;Abstract Classes and Abstract Methods;134
11.2.3;Downcasting and Runtime Type Identification;135
11.2.4;Covariant Return Types;137
11.3;Interfaces;139
11.3.1;Declaring Interfaces;139
11.3.2;Implementing Interfaces;141
11.3.3;Extending Interfaces;144
11.3.4;Why Use Interfaces?;145
11.4;Summary;151
12;Chapter 4 Mastering Advanced Language Features Part 1;152
12.1;Nested Types;152
12.1.1;Static Member Classes;152
12.1.2;Nonstatic Member Classes;155
12.1.3;Anonymous Classes;159
12.1.4;Local Classes;161
12.1.5;Interfaces Within Classes;163
12.2;Packages;164
12.2.1;What Are Packages?;164
12.2.1.1;Package Names Must Be Unique;165
12.2.2;The Package Statement;165
12.2.3;The Import Statement;166
12.2.4;Searching for Packages and Types;167
12.2.4.1;Compile-Time Search;167
12.2.4.2;Runtime Search;168
12.2.5;Playing with Packages;168
12.2.6;Packages and JAR Files;172
12.3;Static Imports;173
12.4;Exceptions;174
12.4.1;What Are Exceptions?;175
12.4.2;Representing Exceptions in Source Code;175
12.4.2.1;Error Codes Versus Objects;175
12.4.2.2;The Throwable Class Hierarchy;176
12.4.2.2.1;Checked Exceptions Versus Runtime Exceptions;177
12.4.2.3;Custom Exception Classes;178
12.4.3;Throwing Exceptions;179
12.4.4;Handling Exceptions;181
12.4.5;Performing Cleanup;185
12.5;Summary;191
13;Chapter 5 Mastering Advanced Language Features Part 2;193
13.1;Assertions;193
13.1.1;Declaring Assertions;194
13.1.2;Using Assertions;195
13.1.2.1;Internal Invariants;195
13.1.2.2;Control-Flow Invariants;196
13.1.2.3;Design-by-Contract;197
13.1.2.3.1;Preconditions;197
13.1.2.3.2;Postconditions;199
13.1.2.3.3;Class Invariants;200
13.1.3;Avoiding Assertions;200
13.1.4;Enabling and Disabling Assertions;201
13.2;Annotations;202
13.2.1;Discovering Annotations;202
13.2.2;Declaring Annotation Types and Annotating Source Code;205
13.2.2.1;Using Meta-Annotations in Annotation Type Declarations;208
13.2.3;Processing Annotations;210
13.3;Generics;212
13.3.1;Collections and the Need for Type Safety;212
13.3.2;Generic Types;214
13.3.2.1;Declaring and Using Your Own Generic Types;215
13.3.2.2;Type Parameter Bounds;217
13.3.2.3;Type Parameter Scope;220
13.3.2.4;The Need for Wildcards;220
13.3.2.5;Reification and Erasure;223
13.3.3;Generic Methods;224
13.4;Enums;226
13.4.1;The Trouble with Traditional Enumerated Types;226
13.4.2;The Enum Alternative;227
13.4.2.1;Enhancing an Enum;228
13.4.3;The Enum Class;232
13.4.3.1;Extending the Enum Class;233
13.5;Summary;237
14;Chapter 6 Exploring the Basic APIs Part 1;239
14.1;Math APIs;239
14.1.1;Math and StrictMath;239
14.1.2;BigDecimal;246
14.1.3;BigInteger;251
14.2;Package Information;255
14.3;Primitive Wrapper Classes;259
14.3.1;Boolean;260
14.3.2;Character;262
14.3.3;Float and Double;263
14.3.4;Integer, Long, Short, and Byte;267
14.3.5;Number;269
14.4;References API;269
14.4.1;Basic Terminology;269
14.4.2;Reference and ReferenceQueue;271
14.4.3;SoftReference;272
14.4.4;WeakReference;275
14.4.5;PhantomReference;275
14.5;Summary;280
15;Chapter 7 Exploring the Basic APIs Part 2;281
15.1;Reflection API;281
15.2;String Management;289
15.2.1;String;290
15.2.2;StringBuffer;293
15.3;System;296
15.4;Threading API;299
15.4.1;Runnable and Thread;300
15.4.2;Thread Synchronization;308
15.5;Summary;325
16;Chapter 8 Discovering the Collections Framework;326
16.1;Framework Overview;326
16.1.1;Comparable Versus Comparator;327
16.2;Iterable and Collection;329
16.2.1;Iterator and the Enhanced For Loop Statement;332
16.2.2;Autoboxing and Unboxing;334
16.3;List;336
16.3.1;ArrayList;340
16.3.2;LinkedList;341
16.4;Set;343
16.4.1;TreeSet;343
16.4.2;HashSet;344
16.4.3;EnumSet;348
16.5;SortedSet;350
16.6;Queue;357
16.6.1;PriorityQueue;359
16.7;Map;362
16.7.1;TreeMap;366
16.7.2;HashMap;367
16.7.3;IdentityHashMap;373
16.7.4;WeakHashMap;375
16.7.5;EnumMap;377
16.8;SortedMap;378
16.9;Utilities;380
16.10;Classic Collections Classes;383
16.11;Summary;390
17;Chapter 9 Discovering Additional Utility APIs;392
17.1;Concurrency Utilities;392
17.1.1;Executors;392
17.1.2;Synchronizers;401
17.1.3;Concurrent Collections;403
17.1.4;Locks;405
17.1.5;Atomic Variables;408
17.2;Internationalization APIs;408
17.2.1;Locales;409
17.2.2;Resource Bundles;411
17.2.2.1;Property Resource Bundles;414
17.2.2.2;List Resource Bundles;416
17.2.3;Break Iterators;420
17.2.4;Collators;424
17.2.5;Dates, Time Zones, and Calendars;426
17.2.6;Formatters;432
17.2.6.1;Number Formatters;432
17.2.6.2;Date Formatters;435
17.2.6.3;Message Formatters;437
17.3;Preferences API;439
17.4;Random Number Generation;443
17.5;Regular Expressions API;445
17.6;Summary;458
18;Chapter 10 Performing I/O;460
18.1;File;460
18.2;RandomAccessFile;473
18.3;Streams;484
18.3.1;Stream Classes Overview;484
18.3.2;OutputStream and InputStream;486
18.3.3;ByteArrayOutputStream and ByteArrayInputStream;488
18.3.4;FileOutputStream and FileInputStream;490
18.3.5;PipedOutputStream and PipedInputStream;492
18.3.6;FilterOutputStream and FilterInputStream;496
18.3.7;BufferedOutputStream and BufferedInputStream;503
18.3.8;DataOutputStream and DataInputStream;504
18.3.9;Object Serialization and Deserialization;507
18.3.9.1;Default Serialization and Deserialization;507
18.3.9.2;Custom Serialization and Deserialization;512
18.3.9.3;Externalization;517
18.3.10;PrintStream;519
18.4;Writers and Readers;522
18.4.1;Writer and Reader Classes Overview;523
18.4.2;Writer and Reader;524
18.4.3;OutputStreamWriter and InputStreamReader;525
18.4.4;FileWriter and FileReader;529
18.5;Summary;541
18.5.1;The Road Goes Ever On;541
19;Appendix Solutions to Exercises;543
19.1;Chapter 1: Getting Started with Java;543
19.2;Chapter 2: Learning Language Fundamentals;549
19.3;Chapter 3: Learning Object-Oriented Language Features;552
19.4;Chapter 4: Mastering Advanced Language Features Part 1;559
19.5;Chapter 5: Mastering Advanced Language Features Part 2;565
19.6;Chapter 6: Exploring the Basic APIs Part 1;570
19.7;Chapter 7: Exploring the Basic APIs Part 2;573
19.8;Chapter 8: Discovering the Collections Framework;579
19.9;Chapter 9: Discovering Additional Utility APIs;585
19.10;Chapter 10: Performing I/O;591
20;Index;604



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.