Android notes for profs

1.3K 322 0
Android notes for profs

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ContentsAbout ................................................................................................................................................................................... 1Chapter 1: Getting started with Android ........................................................................................................... 2Section 1.1: Creating a New Project .............................................................................................................................. 2Section 1.2: Setting up Android Studio ....................................................................................................................... 12Section 1.3: Android programming without an IDE .................................................................................................. 13Section 1.4: Application Fundamentals ...................................................................................................................... 17Section 1.5: Setting up an AVD(Android Virtual Device) ......................................................................................... 18Chapter 2: Layouts ..................................................................................................................................................... 22Section 2.1: LayoutParams ......................................................................................................................................... 22Section 2.2: Gravity and layout gravity .................................................................................................................... 25Section 2.3: CoordinatorLayout Scrolling Behavior ................................................................................................. 27Section 2.4: Percent Layouts ...................................................................................................................................... 29Section 2.5: View Weight ............................................................................................................................................ 30Section 2.6: Creating LinearLayout programmatically ........................................................................................... 31Section 2.7: LinearLayout ........................................................................................................................................... 32Section 2.8: RelativeLayout ........................................................................................................................................ 33Section 2.9: FrameLayout .......................................................................................................................................... 35Section 2.10: GridLayout ............................................................................................................................................. 36Section 2.11: CoordinatorLayout ................................................................................................................................. 38Chapter 3: Gradle for Android ............................................................................................................................. 40Section 3.1: A basic build.gradle file ........................................................................................................................... 40Section 3.2: Define and use Build Configuration Fields ........................................................................................... 42Section 3.3: Centralizing dependencies via dependencies.gradle file ................................................................. 44Section 3.4: Sign APK without exposing keystore password .................................................................................. 46Section 3.5: Adding product flavorspecific dependencies ..................................................................................... 47Section 3.6: Specifying dierent application IDs for build types and product flavors ......................................... 48Section 3.7: Versioning your builds via version.properties file ............................................................................. 49Section 3.8: Defining product flavors ........................................................................................................................ 50Section 3.9: Changing output apk name and add version name: .......................................................................... 50Section 3.10: Adding product flavorspecific resources .......................................................................................... 51Section 3.11: Why are there two build.gradle files in an Android Studio project? ................................................. 51Section 3.12: Directory structure for flavorspecific resources ............................................................................... 52Section 3.13: Enable Proguard using gradle ............................................................................................................. 52Section 3.14: Ignoring build variant ............................................................................................................................ 52Section 3.15: Enable experimental NDK plugin support for Gradle and AndroidStudio ....................................... 53Section 3.16: Display signing information ................................................................................................................. 55Section 3.17: Seeing dependency tree ....................................................................................................................... 56Section 3.18: Disable image compression for a smaller APK file size .................................................................... 56Section 3.19: Delete unaligned apk automatically ................................................................................................ 57Section 3.20: Executing a shell script from gradle ................................................................................................... 57Section 3.21: Show all gradle project tasks ............................................................................................................... 58Section 3.22: Debugging your Gradle errors ............................................................................................................ 59Section 3.23: Use gradle.properties for central versionnumberbuildconfigurations ......................................... 60Section 3.24: Defining build types .............................................................................................................................. 61Chapter 4: RecyclerView onClickListeners .................................................................................................... 62Section 4.1: Kotlin and RxJava example ................................................................................................................... 62Section 4.2: RecyclerView Click listener .................................................................................................................... 63

Android Android Notes for Professionals ™ Notes for Professionals 1000+ pages of professional hints and tricks GoalKicker.com Free Programming Books Disclaimer This is an unocial free book created for educational purposes and is not aliated with ocial Android™ group(s) or company(s) All trademarks and registered trademarks are the property of their respective owners Contents About Chapter 1: Getting started with Android Section 1.1: Creating a New Project Section 1.2: Setting up Android Studio 12 Section 1.3: Android programming without an IDE 13 Section 1.4: Application Fundamentals 17 Section 1.5: Setting up an AVD (Android Virtual Device) 18 Chapter 2: Layouts 22 Section 2.1: LayoutParams 22 Section 2.2: Gravity and layout gravity 25 Section 2.3: CoordinatorLayout Scrolling Behavior 27 Section 2.4: Percent Layouts 29 Section 2.5: View Weight 30 Section 2.6: Creating LinearLayout programmatically 31 Section 2.7: LinearLayout 32 Section 2.8: RelativeLayout 33 Section 2.9: FrameLayout 35 Section 2.10: GridLayout 36 Section 2.11: CoordinatorLayout 38 Chapter 3: Gradle for Android 40 Section 3.1: A basic build.gradle file 40 Section 3.2: Define and use Build Configuration Fields 42 Section 3.3: Centralizing dependencies via "dependencies.gradle" file 44 Section 3.4: Sign APK without exposing keystore password 46 Section 3.5: Adding product flavor-specific dependencies 47 Section 3.6: Specifying dierent application IDs for build types and product flavors 48 Section 3.7: Versioning your builds via "version.properties" file 49 Section 3.8: Defining product flavors 50 Section 3.9: Changing output apk name and add version name: 50 Section 3.10: Adding product flavor-specific resources 51 Section 3.11: Why are there two build.gradle files in an Android Studio project? 51 Section 3.12: Directory structure for flavor-specific resources 52 Section 3.13: Enable Proguard using gradle 52 Section 3.14: Ignoring build variant 52 Section 3.15: Enable experimental NDK plugin support for Gradle and AndroidStudio 53 Section 3.16: Display signing information 55 Section 3.17: Seeing dependency tree 56 Section 3.18: Disable image compression for a smaller APK file size 56 Section 3.19: Delete "unaligned" apk automatically 57 Section 3.20: Executing a shell script from gradle 57 Section 3.21: Show all gradle project tasks 58 Section 3.22: Debugging your Gradle errors 59 Section 3.23: Use gradle.properties for central versionnumber/buildconfigurations 60 Section 3.24: Defining build types 61 Chapter 4: RecyclerView onClickListeners 62 Section 4.1: Kotlin and RxJava example 62 Section 4.2: RecyclerView Click listener 63 Section 4.3: Another way to implement Item Click Listener 64 Section 4.4: New Example 66 Section 4.5: Easy OnLongClick and OnClick Example 67 Section 4.6: Item Click Listeners 70 Chapter 5: NavigationView 72 Section 5.1: How to add the NavigationView 72 Section 5.2: Add underline in menu elements 76 Section 5.3: Add seperators to menu 77 Section 5.4: Add menu Divider using default DividerItemDecoration 78 Chapter 6: Intent 80 Section 6.1: Getting a result from another Activity 80 Section 6.2: Passing data between activities 82 Section 6.3: Open a URL in a browser 83 Section 6.4: Starter Pattern 84 Section 6.5: Clearing an activity stack 85 Section 6.6: Start an activity 85 Section 6.7: Sending emails 86 Section 6.8: CustomTabsIntent for Chrome Custom Tabs 86 Section 6.9: Intent URI 87 Section 6.10: Start the dialer 88 Section 6.11: Broadcasting Messages to Other Components 88 Section 6.12: Passing custom object between activities 89 Section 6.13: Open Google map with specified latitude, longitude 91 Section 6.14: Passing dierent data through Intent in Activity 91 Section 6.15: Share intent 93 Section 6.16: Showing a File Chooser and Reading the Result 93 Section 6.17: Sharing Multiple Files through Intent 95 Section 6.18: Start Unbound Service using an Intent 95 Section 6.19: Getting a result from Activity to Fragment 96 Chapter 7: JSON in Android with org.json 98 Section 7.1: Creating a simple JSON object 98 Section 7.2: Create a JSON String with null value 98 Section 7.3: Add JSONArray to JSONObject 98 Section 7.4: Parse simple JSON object 99 Section 7.5: Check for the existence of fields on JSON 100 Section 7.6: Create nested JSON object 100 Section 7.7: Updating the elements in the JSON 101 Section 7.8: Using JsonReader to read JSON from a stream 101 Section 7.9: Working with null-string when parsing json 103 Section 7.10: Handling dynamic key for JSON response 104 Chapter 8: Android Studio 106 Section 8.1: Setup Android Studio 106 Section 8.2: View And Add Shortcuts in Android Studio 106 Section 8.3: Android Studio useful shortcuts 107 Section 8.4: Android Studio Improve performance tip 108 Section 8.5: Gradle build project takes forever 108 Section 8.6: Enable/Disable blank line copy 109 Section 8.7: Custom colors of logcat message based on message importance 110 Section 8.8: Filter logs from UI 111 Section 8.9: Create filters configuration 112 Section 8.10: Create assets folder 113 Chapter 9: Resources 115 Section 9.1: Define colors 115 Section 9.2: Color Transparency(Alpha) Level 116 Section 9.3: Define String Plurals 116 Section 9.4: Define strings 117 Section 9.5: Define dimensions 118 Section 9.6: String formatting in strings.xml 118 Section 9.7: Define integer array 119 Section 9.8: Define a color state list 119 Section 9.9: Patches 120 Section 9.10: Getting resources without "deprecated" warnings 123 Section 9.11: Working with strings.xml file 123 Section 9.12: Define string array 124 Section 9.13: Define integers 125 Section 9.14: Define a menu resource and use it inside Activity/Fragment 125 Chapter 10: Data Binding Library 127 Section 10.1: Basic text field binding 127 Section 10.2: Built-in two-way Data Binding 128 Section 10.3: Custom event using lambda expression 129 Section 10.4: Default value in Data Binding 131 Section 10.5: Databinding in Dialog 131 Section 10.6: Binding with an accessor method 131 Section 10.7: Pass widget as reference in BindingAdapter 132 Section 10.8: Click listener with Binding 133 Section 10.9: Data binding in RecyclerView Adapter 134 Section 10.10: Databinding in Fragment 135 Section 10.11: DataBinding with custom variables(int,boolean) 136 Section 10.12: Referencing classes 136 Chapter 11: Exceptions 138 Section 11.1: ActivityNotFoundException 138 Section 11.2: OutOfMemoryError 138 Section 11.3: Registering own Handler for unexpected exceptions 138 Section 11.4: UncaughtException 140 Section 11.5: NetworkOnMainThreadException 140 Section 11.6: DexException 142 Chapter 12: Getting Calculated View Dimensions 143 Section 12.1: Calculating initial View dimensions in an Activity 143 Chapter 13: AsyncTask 144 Section 13.1: Basic Usage 144 Section 13.2: Pass Activity as WeakReference to avoid memory leaks 146 Section 13.3: Download Image using AsyncTask in Android 147 Section 13.4: Canceling AsyncTask 150 Section 13.5: AsyncTask: Serial Execution and Parallel Execution of Task 150 Section 13.6: Order of execution 153 Section 13.7: Publishing progress 153 Chapter 14: SharedPreferences 155 Section 14.1: Implementing a Settings screen using SharedPreferences 155 Section 14.2: Commit vs Apply 157 Section 14.3: Read and write values to SharedPreferences 157 Section 14.4: Retrieve all stored entries from a particular SharedPreferences file 158 Section 14.5: Reading and writing data to SharedPreferences with Singleton 159 Section 14.6: getPreferences(int) VS getSharedPreferences(String, int) 163 Section 14.7: Listening for SharedPreferences changes 163 Section 14.8: Store, Retrieve, Remove and Clear Data from SharedPreferences 164 Section 14.9: Add filter for EditTextPreference 164 Section 14.10: Supported data types in SharedPreferences 165 Section 14.11: Dierent ways of instantiating an object of SharedPreferences 165 Section 14.12: Removing keys 166 Section 14.13: Support pre-Honeycomb with StringSet 166 Chapter 15: Emulator 168 Section 15.1: Taking screenshots 168 Section 15.2: Simulate call 173 Section 15.3: Open the AVD Manager 173 Section 15.4: Resolving Errors while starting emulator 173 Chapter 16: Material Design 175 Section 16.1: Adding a Toolbar 175 Section 16.2: Buttons styled with Material Design 176 Section 16.3: Adding a FloatingActionButton (FAB) 177 Section 16.4: RippleDrawable 178 Section 16.5: Adding a TabLayout 183 Section 16.6: Bottom Sheets in Design Support Library 185 Section 16.7: Apply an AppCompat theme 188 Section 16.8: Add a Snackbar 189 Section 16.9: Add a Navigation Drawer 190 Section 16.10: How to use TextInputLayout 193 Chapter 17: Lint Warnings 194 Section 17.1: Using tools:ignore in xml files 194 Section 17.2: Configure LintOptions with gradle 194 Section 17.3: Configuring lint checking in Java and XML source files 195 Section 17.4: How to configure the lint.xml file 195 Section 17.5: Mark Suppress Warnings 196 Section 17.6: Importing resources without "Deprecated" error 196 Chapter 18: Service 198 Section 18.1: Lifecycle of a Service 198 Section 18.2: Defining the process of a service 199 Section 18.3: Creating an unbound service 199 Section 18.4: Starting a Service 202 Section 18.5: Creating Bound Service with help of Binder 202 Section 18.6: Creating Remote Service (via AIDL) 203 Chapter 19: Storing Files in Internal & External Storage 205 Section 19.1: Android: Internal and External Storage - Terminology Clarification 205 Section 19.2: Using External Storage 209 Section 19.3: Using Internal Storage 210 Section 19.4: Fetch Device Directory : 210 Section 19.5: Save Database on SD Card (Backup DB on SD) 212 Chapter 20: WebView 214 Section 20.1: Troubleshooting WebView by printing console messages or by remote debugging 214 Section 20.2: Communication from Javascript to Java (Android) 215 Section 20.3: Communication from Java to Javascript 216 Section 20.4: Open dialer example 216 Section 20.5: Open Local File / Create dynamic content in Webview 217 Section 20.6: JavaScript alert dialogs in WebView - How to make them work 217 Chapter 21: Project SDK versions 219 Section 21.1: Defining project SDK versions 219 Chapter 22: RecyclerView 220 Section 22.1: Adding a RecyclerView 220 Section 22.2: Smoother loading of items 221 Section 22.3: RecyclerView with DataBinding 222 Section 22.4: Animate data change 223 Section 22.5: Popup menu with recyclerView 227 Section 22.6: Using several ViewHolders with ItemViewType 229 Section 22.7: Filter items inside RecyclerView with a SearchView 230 Section 22.8: Drag&Drop and Swipe with RecyclerView 231 Section 22.9: Show default view till items load or when data is not available 232 Section 22.10: Add header/footer to a RecyclerView 234 Section 22.11: Endless Scrolling in Recycleview 237 Section 22.12: Add divider lines to RecyclerView items 237 Chapter 23: Google Maps API v2 for Android 240 Section 23.1: Custom Google Map Styles 240 Section 23.2: Default Google Map Activity 251 Section 23.3: Show Current Location in a Google Map 252 Section 23.4: Change Oset 258 Section 23.5: MapView: embedding a GoogleMap in an existing layout 258 Section 23.6: Get debug SHA1 fingerprint 260 Section 23.7: Adding markers to a map 261 Section 23.8: UISettings 261 Section 23.9: InfoWindow Click Listener 262 Section 23.10: Obtaining the SH1-Fingerprint of your certificate keystore file 263 Section 23.11: Do not launch Google Maps when the map is clicked (lite mode) 264 Chapter 24: PorterDu Mode 265 Section 24.1: Creating a PorterDu ColorFilter 265 Section 24.2: Creating a PorterDu XferMode 265 Section 24.3: Apply a radial mask (vignette) to a bitmap using PorterDuXfermode 265 Chapter 25: 9-Patch Images 267 Section 25.1: Basic rounded corners 267 Section 25.2: Optional padding lines 267 Section 25.3: Basic spinner 268 Chapter 26: Android NDK 269 Section 26.1: How to log in ndk 269 Section 26.2: Building native executables for Android 269 Section 26.3: How to clean the build 270 Section 26.4: How to use a makefile other than Android.mk 270 Chapter 27: RecyclerView Decorations 271 Section 27.1: Add divider to RecyclerView 271 Section 27.2: Drawing a Separator 273 Section 27.3: How to add dividers using and DividerItemDecoration 274 Section 27.4: Per-item margins with ItemDecoration 274 Section 27.5: ItemOsetDecoration for GridLayoutManager in RecycleView 275 Chapter 28: Camera API 277 Section 28.1: Preview the main camera in a TextureView 277 Chapter 29: ViewPager 286 Section 29.1: ViewPager with a dots indicator 286 Section 29.2: Basic ViewPager usage with fragments 288 Section 29.3: ViewPager with PreferenceFragment 289 Section 29.4: Adding a ViewPager 290 Section 29.5: Setup OnPageChangeListener 291 Section 29.6: ViewPager with TabLayout 292 Chapter 30: CardView 294 Section 30.1: Getting Started with CardView 294 Section 30.2: Adding Ripple animation 295 Section 30.3: Customizing the CardView 295 Section 30.4: Using Images as Background in CardView (Pre-Lollipop device issues) 296 Section 30.5: Animate CardView background color with TransitionDrawable 298 Chapter 31: HttpURLConnection 299 Section 31.1: Creating an HttpURLConnection 299 Section 31.2: Sending an HTTP GET request 299 Section 31.3: Reading the body of an HTTP GET request 300 Section 31.4: Sending an HTTP POST request with parameters 300 Section 31.5: A multi-purpose HttpURLConnection class to handle all types of HTTP requests 301 Section 31.6: Use HttpURLConnection for multipart/form-data 304 Section 31.7: Upload (POST) file using HttpURLConnection 307 Chapter 32: SQLite 309 Section 32.1: onUpgrade() method 309 Section 32.2: Reading data from a Cursor 309 Section 32.3: Using the SQLiteOpenHelper class 311 Section 32.4: Insert data into database 312 Section 32.5: Bulk insert 312 Section 32.6: Create a Contract, Helper and Provider for SQLite in Android 313 Section 32.7: Delete row(s) from the table 317 Section 32.8: Updating a row in a table 318 Section 32.9: Performing a Transaction 318 Section 32.10: Create Database from assets folder 319 Section 32.11: Store image into SQLite 321 Section 32.12: Exporting and importing a database 323 Chapter 33: ADB (Android Debug Bridge) 325 Section 33.1: Connect ADB to a device via WiFi 325 Section 33.2: Direct ADB command to specific device in a multi-device setting 327 Section 33.3: Taking a screenshot and video (for kitkat only) from a device display 327 Section 33.4: Pull (push) files from (to) the device 328 Section 33.5: Print verbose list of connected devices 329 Section 33.6: View logcat 329 Section 33.7: View and pull cache files of an app 330 Section 33.8: Clear application data 330 Section 33.9: View an app's internal data (data/data/) on a device 331 Section 33.10: Install and run an application 331 Section 33.11: Sending broadcast 331 Section 33.12: Backup 332 Section 33.13: View available devices 333 Section 33.14: Connect device by IP 333 Section 33.15: Install ADB on Linux system 334 Section 33.16: View activity stack 334 Section 33.17: Reboot device 334 Section 33.18: Read device information 335 Section 33.19: List all permissions that require runtime grant from users on Android 6.0 335 Section 33.20: Turn on/o Wifi 335 Section 33.21: Start/stop adb 335 Chapter 34: ButterKnife 336 Section 34.1: Configuring ButterKnife in your project 336 Section 34.2: Unbinding views in ButterKnife 338 Section 34.3: Binding Listeners using ButterKnife 338 Section 34.4: Android Studio ButterKnife Plugin 339 Section 34.5: Binding Views using ButterKnife 340 Chapter 35: Supporting Screens With Dierent Resolutions, Sizes 343 Section 35.1: Using configuration qualifiers 343 Section 35.2: Converting dp and sp to pixels 343 Section 35.3: Text size and dierent android screen sizes 344 Chapter 36: Glide 345 Section 36.1: Loading an image 345 Section 36.2: Add Glide to your project 346 Section 36.3: Glide circle transformation (Load image in a circular ImageView) 346 Section 36.4: Default transformations 347 Section 36.5: Glide rounded corners image with custom Glide target 348 Section 36.6: Placeholder and Error handling 348 Section 36.7: Preloading images 349 Section 36.8: Handling Glide image load failed 349 Section 36.9: Load image in a circular ImageView without custom transformations 350 Chapter 37: Retrofit2 351 Section 37.1: A Simple GET Request 351 Section 37.2: Debugging with Stetho 353 Section 37.3: Add logging to Retrofit2 354 Section 37.4: A simple POST request with GSON 354 Section 37.5: Download a file from Server using Retrofit2 356 Section 37.6: Upload multiple file using Retrofit as multipart 358 Section 37.7: Retrofit with OkHttp interceptor 361 Section 37.8: Header and Body: an Authentication Example 361 Section 37.9: Uploading a file via Multipart 362 Section 37.10: Retrofit Custom Xml Converter 362 Section 37.11: Reading XML form URL with Retrofit 364 Chapter 38: Dialog 367 Section 38.1: Adding Material Design AlertDialog to your app using Appcompat 367 Section 38.2: A Basic Alert Dialog 367 Section 38.3: ListView in AlertDialog 368 Section 38.4: Custom Alert Dialog with EditText 369 Section 38.5: DatePickerDialog 370 Section 38.6: DatePicker 370 Section 38.7: Alert Dialog 371 Section 38.8: Alert Dialog with Multi-line Title 372 Section 38.9: Date Picker within DialogFragment 374 Section 38.10: Fullscreen Custom Dialog with no background and no title 376 Chapter 39: ACRA 378 Section 39.1: ACRAHandler 378 Section 39.2: Example manifest 378 Section 39.3: Installation 379 Chapter 40: GreenDAO 380 Section 40.1: Helper methods for SELECT, INSERT, DELETE, UPDATE queries 380 Section 40.2: Creating an Entity with GreenDAO 3.X that has a Composite Primary Key 382 Section 40.3: Getting started with GreenDao v3.X 383 Chapter 41: Formatting Strings 385 Section 41.1: Format a string resource 385 Section 41.2: Formatting data types to String and vise versa 385 Section 41.3: Format a timestamp to string 385 Chapter 42: Notifications 386 Section 42.1: Heads Up Notification with Ticker for older devices 386 Section 42.2: Creating a simple Notification 390 Section 42.3: Set custom notification - show full content text 390 Section 42.4: Dynamically getting the correct pixel size for the large icon 391 Section 42.5: Ongoing notification with Action button 391 Section 42.6: Setting Dierent priorities in notification 392 Section 42.7: Set custom notification icon using `Picasso` library 393 Section 42.8: Scheduling notifications 394 Chapter 43: AlarmManager 396 Section 43.1: How to Cancel an Alarm 396 Section 43.2: Creating exact alarms on all Android versions 396 Section 43.3: API23+ Doze mode interferes with AlarmManager 397 Section 43.4: Run an intent at a later time 397 Chapter 44: Fragments 398 Section 44.1: Pass data from Activity to Fragment using Bundle 398 Section 44.2: The newInstance() pattern 398 Section 44.3: Navigation between fragments using backstack and static fabric pattern 399 Section 44.4: Sending events back to an activity with callback interface 400 Section 44.5: Animate the transition between fragments 401 Section 44.6: Communication between Fragments 402 Chapter 45: Handler 407 Section 45.1: HandlerThreads and communication between Threads 407 Section 45.2: Use Handler to create a Timer (similar to javax.swing.Timer) 407 Section 45.3: Using a Handler to execute code after a delayed amount of time 408 Section 45.4: Stop handler from execution 409 Chapter 46: Creating Custom Views 410 Section 46.1: Creating Custom Views 410 Section 46.2: Adding attributes to views 412 Section 46.3: CustomView performance tips 414 Section 46.4: Creating a compound view 415 Section 46.5: Compound view for SVG/VectorDrawable as drawableRight 418 Section 46.6: Responding to Touch Events 421 Chapter 47: BroadcastReceiver 422 Section 47.1: Using LocalBroadcastManager 422 Section 47.2: BroadcastReceiver Basics 422 Section 47.3: Introduction to Broadcast receiver 423 Section 47.4: Using ordered broadcasts 423 Section 47.5: Sticky Broadcast 424 Section 47.6: Enabling and disabling a Broadcast Receiver programmatically 424 Section 47.7: Example of a LocalBroadcastManager 425 Section 47.8: Android stopped state 426 Section 47.9: Communicate two activities through custom Broadcast receiver 426 Section 47.10: BroadcastReceiver to handle BOOT_COMPLETED events 427 Section 47.11: Bluetooth Broadcast receiver 428 Chapter 48: Activity 429 Section 48.1: Activity launchMode 429 Section 48.2: Exclude an activity from back-stack history 429 Section 48.3: Android Activity LifeCycle Explained 430 Section 48.4: End Application with exclude from Recents 433 Section 48.5: Presenting UI with setContentView 434 Section 48.6: Up Navigation for Activities 435 Section 48.7: Clear your current Activity stack and launch a new Activity 436 Chapter 49: Snackbar 437 Section 49.1: Creating a simple Snackbar 437 Section 49.2: Custom Snack Bar 437 Section 49.3: Custom Snackbar (no need view) 438 Section 49.4: Snackbar with Callback 439 Section 49.5: Snackbar vs Toasts: Which one should I use? 439 Section 49.6: Custom Snackbar 440 Chapter 50: Runtime Permissions in API-23 + 441 Section 50.1: Android 6.0 multiple permissions 441 Section 50.2: Multiple Runtime Permissions From Same Permission Groups 442 Section 50.3: Using PermissionUtil 443 Section 50.4: Include all permission-related code to an abstract base class and extend the activity of this base class to achieve cleaner/reusable code 444 Section 50.5: Enforcing Permissions in Broadcasts, URI 446 Chapter 51: Logging and using Logcat 448 Section 51.1: Filtering the logcat output 448 Section 51.2: Logging 449 Section 51.3: Using the Logcat 451 Section 51.4: Log with link to source directly from Logcat 452 Section 51.5: Clear logs 452 Section 51.6: Android Studio usage 452 Section 51.7: Generating Logging code 453 Chapter 52: VectorDrawable and AnimatedVectorDrawable 455 Section 52.1: Basic VectorDrawable 455 Section 52.2: tags 455 Section 52.3: Basic AnimatedVectorDrawable 456 Section 52.4: Using Strokes 457 Section 52.5: Using 459 Section 52.6: Vector compatibility through AppCompat 459 Chapter 53: Tools Attributes 461 Section 53.1: Designtime Layout Attributes 461 Chapter 54: Toast 462 result = new StringBuilder(); connection.bulkTransfer(epOut, command, command.length, TIMEOUT); //For Printing logs you can use result variable for (byte bb : command) { result.append(String.format(" %02X ", bb)); } } And for receive/ read a response see the code snippet below : public int read(UsbDeviceConnection connection, UsbEndpoint epIn) { result = new StringBuilder(); final byte[] buffer = new byte[epIn.getMaxPacketSize()]; int byteCount = 0; byteCount = connection.bulkTransfer(epIn, buffer, buffer.length, TIMEOUT); //For Printing logs you can use result variable if (byteCount >= 0) { for (byte bb : buffer) { result.append(String.format(" %02X ", bb)); } //Buffer received was : result.toString() } else { //Something went wrong as count was : " + byteCount } return byteCount; } Now if you see this answer here the 1st command to be sent is : PC_to_RDR_IccPowerOn command to activate the card which you can create by reading section 6.1.1 of the USB Device Class Specifications doc here Now let's take an example of this command like the one here: 62000000000000000000 How you can send this is : write(connection, epOut, "62000000000000000000"); Now after you have successfully sent the APDU command, you can read the response using : read(connection, epIn); And receive something like 80 18000000 00 00 00 00 00 3BBF11008131FE45455041000000000000000000000000F1 Now the response received in the code here will be in the result variable of read() method from code GoalKicker.com – Android™ Notes for Professionals 1283 Chapter 266: Convert vietnamese string to english string Android Section 266.1: example: String myStr = convert("Lê Minh Thoại người Việt Nam"); converted: "Le Minh Thoai la nguoi Viet Nam" Section 266.2: Chuy?n chu?i Ti?ng Vi?t thành chu?i không d?u public static String convert(String str) { str = str.replaceAll("à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ", "a"); str = str.replaceAll("è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ", "e"); str = str.replaceAll("ì|í|ị|ỉ|ĩ", "i"); str = str.replaceAll("ị|ó|ọ|ỏ|õ|ơ|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ", "o"); str = str.replaceAll("ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ", "u"); str = str.replaceAll("ỳ|ý|ỵ|ỷ|ỹ", "y"); str = str.replaceAll("đ", "d"); str = str.replaceAll("À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ", "A"); str = str.replaceAll("È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ", "E"); str = str.replaceAll("Ì|Í|Ị|Ỉ|Ĩ", "I"); str = str.replaceAll("Ị|Ĩ|Ọ|Ỏ|Õ|Ơ|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ", "O"); str = str.replaceAll("Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ", "U"); str = str.replaceAll("Ỳ|Ý|Ỵ|Ỷ|Ỹ", "Y"); str = str.replaceAll("Đ", "D"); return str; } GoalKicker.com – Android™ Notes for Professionals 1284 Credits Thank you greatly to all the people from Stack Overflow Documentation who helped provide this content, more changes can be sent to web@petercv.com for new content to be published or updated 1SStorm 2943 3VYZkz7t A A.A a.ch Aawaz Gyawali Abdallah Alaraby Abdellah abhi Abhishek Jain abhishesh Abilash Ab_ adalPaRi Adam Ratzman adao7000 Adarsh Ashok Adhikari Bishwash Adil Saiyad Adnan Adrián Pérez AesSedai101 Ahmad Aghazadeh ahmadalibaloch Ajit Singh Akash Patel Akeshwar Jha Akshit Soota AL Ala Eddine JEBALI alanv Aleks G Aleksandar Stefanović Alex Alex Bonel Alex Chengalan Alex Ershov Alex Sullivan Alexander Oprisnik alexey polusov Ali Sherafat Aman Anguralla Amit Amit Thakkar Amod Gokhale Anand Singh anatoli Anax Chapter 266 Chapter 71 Chapter 227 Chapter 151 Chapter 110 Chapter Chapter 142 Chapter Chapter 34 Chapters 3, and 80 Chapters 1, 3, 7, 14, 22, 32 and 69 Chapters 4, 11 and 184 Chapter 22 Chapter 38 Chapters 38 and 73 Chapters 51 and 54 Chapters 18, 33 and 54 Chapter 147 Chapters 238, 239 and 240 Chapters 248, 249 and 264 Chapters 37 and 191 Chapter 29 Chapter Chapters 3, 13, 14, 15, 33, 50, 61, 89, 127, 137 and 227 Chapter Chapter 101 Chapters 16 and 22 Chapter 103 Chapter Chapter 23 Chapter Chapters 58 and 130 Chapter 31 Chapters 1, 2, 16, 52, 58 and 146 Chapter 26 Chapter 22 Chapters 16 and 57 Chapter 72 Chapter 60 Chapter 134 Chapters 42, 51 and 155 Chapter 122 Chapter 113 Chapter 44 Chapter 33 Chapter 20 Chapter 36 Chapter 22 Chapter 138 GoalKicker.com – Android™ Notes for Professionals 1285 Anderson K Chapter 37 AndiGeeky Chapters 74, 102, 103 and 153 Andre Perkins Chapter 80 Andrei T Chapter 60 Andrew Brooke Chapters 1, 6, 19 and 54 Andrew Fernandes Chapter AndroidMechanic Chapters 3, 6, 13, 14, 33, 36, 51, 65 and 84 AndroidRuntimeException Chapters 3, 6, 34, 36, 49, 68 and 107 AndyRoid Chapter 37 Anggrayudi H Chapter 14 Anirudh Sharma Chapters 3, 6, 16, 22, 33 and 113 Anish Mittal Chapter 44 Anita Kunjir Chapter 210 Ankit Popli Chapter 133 Ankit Sharma Chapter Ankur Aggarwal Chapters 71 and 203 Anonsage Chapter 91 anoo_radha Chapter 48 antonio Chapters 6, 11, 14, 36 and 67 Anup Kulkarni Chapter 33 anupam_kamble Chapter 47 AnV Chapter 19 Apoorv Parmar Chapter appersiano Chapter 55 aquib23 Chapter 37 Arnav M Chapter 21 Arpit Gandhi Chapter 63 Arth Tilva Chapter 104 Aryan Chapter 57 Ashish Ranjan Chapter 14 Ashish Rathee Chapter 13 astuter Chapters 11, 32, 34 and 66 Atef Hares Chapter 221 athor Chapter 81 Atif Farrukh Chapters 117 and 128 Aurasphere Chapters and 78 auval Chapters 1, 3, 6, 8, 33, 44, 51, 69, 113 and 227 Avinash R Chapter Ayush Bansal Chapters 116, 216 and 217 B001 Chapter 130 BadCash Chapters 18, 23 and 57 BalaramNayak Chapter 170 baozi Chapter 107 Barend Chapters 27, 33 and 46 Bartek Lipinski Chapters 2, 3, 6, 16, 22 and 56 Beena Chapter 109 Ben Chapters 62 and 69 Ben P Chapter 44 ben75 Chapter 17 Bernoulli Gate Chapter Beto Caldas Chapter 97 Bhargavi Yamanuri Chapters 64 and 257 biddulph.r Chapter Blackbelt Chapters 8, 14 and 33 BlitzKraig Chapter 146 GoalKicker.com – Android™ Notes for Professionals 1286 Blundell Chapters 200 and 201 Blundering Philosopher Chapters 56 and 140 bpoiss Chapter Braj Bhushan Singh Chapter Brenden Kromhout Chapter bricklore Chapter 42 BrickTop Chapter 147 Bryan Chapters 4, 22 and 132 Bryan Bryce Chapter 10 Buddy Chapters 14 and 50 Burak Day Chapters 33 and 227 Burhanuddin Rashid Chapter 178 busradeniz Chapter 105 Cabezas Chapter 78 Caique Oliveira Chapter 10 Carl Poole Chapters 40 and 228 Carlos Chapter 30 Carlos Borau Chapters 139 and 146 carvaq Chapter 127 CaseyB Chapters 37 and 95 Cassio Landim Chapter 37 cdeange Chapters 3, 62, 77, 87 and 107 Charuක Chapters 1, 2, 6, 8, 16, 23, 33, 49, 54, 56, 76 and 101 Chintan Soni Chapter 100 Chip Chapters 64, 122 and 253 Chirag SolankI Chapter 22 Chol Chapter 36 Chris Stratton Chapter 33 Christlin Joseph Chapters 234, 235 and 254 Code.IT Chapters and 48 Code_Life Chapter 107 Cold Fire Chapter commonSenseCode Chapter 69 CptEric Chapter 23 cricket_007 Chapters and 44 dakshbhatt21 Chapters 16, 32 and 262 Dale Chapter 33 Dalija Prasnikar Chapters and Damian Kozlak Chapters 14, 32 and 44 Dan Chapters 30, 37 and 79 Dan Hulme Chapters 14 and 16 Daniel Käfer Chapter Chapters 2, 6, 7, 9, 13, 14, 18, 20, 22, 23, 29, 31, 32, 36, 37, 38, 42, 43, 44, 47, 51, Daniel Nugent 57, 62, 65, 66, 69, 76, 81, 82, 93, 100, 132, 134, 138, 176, 185 and 262 Daniel W Chapter 181 DanielDiSu Chapters 6, 107 and 122 Daniele Segato Chapter David Argyle Thacker Chapter 10 David Cheung Chapter 33 David Medenjak Chapters 27 and 78 davidgiga1993 Chapter 99 DeKaNszn Chapter 260 dev.mi Chapter 16 devnull69 Chapters 43 and 107 Dhaval Solanki Chapter 37 GoalKicker.com – Android™ Notes for Professionals 1287 Dima Rostopira Dinesh Choudhary Disk Crasher Dmide Don Chakkappan Doron Behar Doron Yakovlev Douglas Drumond drulabs Duan Bressan Dus Egek92 Eixx Ekin EKN EmmanuelMess Endzeit Enrique de Miguel EpicPandaForce Er Kaushik Kajavadara Erik Minarini Eugen Martynov Fabian Tamp Fabio Farid Felix Edelmann Flayn Floern Florent Spahiu FlyingPumba Franck Dernoncourt FredMaggiowski Freek Nortier FromTheSeventhSky Froyo fuwaneko fyfyone Google g4s8 gaara87 Gabe Sechan Gabriele Mariotti Gaket Gal Yedidovich gattsbr Gaurav Jindal gbansal Geert GensaGames gerard Ghanshyam Sharma Gian Patrick Quintana Giannis Ginandi Chapter 13 Chapters 77 and 90 Chapter 165 Chapter 126 Chapter 72 Chapter Chapters 180 and 197 Chapter 110 Chapter 142 Chapters 31 and 107 Chapters 42 and 88 Chapter 154 Chapter 56 Chapter 101 Chapters and 113 Chapter 118 Chapter 71 Chapter 237 Chapters 78, 79 and 106 Chapters 30 and 211 Chapters 1, 6, 44 and 50 Chapters 51 and 219 Chapter 13 Chapters 3, 33, 84, 124, 141, 208 and 227 Chapter 226 Chapter 170 Chapter 26 Chapters 2, 3, 6, 9, 45 and 48 Chapters 3, and 132 Chapter 158 Chapter Chapters 13 and 121 Chapter 13 Chapter Chapter 133 Chapter Chapters 15, 33, 137 and 227 Chapters 6, 20, 33, 44, 46, 47, 48, 112 and 200 Chapters 10, 52, 109, 173 and 186 Chapter 11 Chapters 1, 2, 3, 5, 7, 13, 14, 16, 17, 19, 22, 27, 29, 30, 32, 33, 36, 49, 53, 54, 58, 62, 66, 69, 76, 85, 86, 93, 94, 100, 107, 110, 115, 132, 135, 142, 147, 148, 149, 150, 153, 170, 182, 206 and 232 Chapter Chapter 16 Chapter 51 Chapter Chapters 14, 42 and 102 Chapter 156 Chapters 17 and 22 Chapter Chapter 217 Chapter 230 Chapter 184 Chapter 107 GoalKicker.com – Android™ Notes for Professionals 1288 Gokhan Arik Gorg Graham Smith grebulon Greg T Guilherme Torres Castro Guillaume Imbert Guillermo García GurpreetSK95 gus27 H Pauwelyn h22 Hamed Gh Hamed Momeni hankide Hannoun Yassir Harish Gyanani Harsh Pandey Harsh Sharma Hasif Seyd HDehghani hello_world herrmartell Hi I'm Frogatto Hiren Patel Hitesh Sahu honk Hussein El Feky Ic2h Ichigo Kurosaki Ichthyocentaurs iDevRoids Ilya Blokh Ilya Krol Iman Hamidi Imdad IncrediApp inetphantom insomniac Inzimam Tariq IT iravul Irfan Raza Ironman Ishan Fernando Ishita Sinha Iulian Popescu Ivan Wooll Jj j2ko Jacob jagapathi Jaggs Chapter 193 Chapter 32 Chapter 107 Chapter 33 Chapters 11, 14, 37, 41, 43, 70 and 130 Chapter 35 Chapter 10 Chapter 16 Chapter 186 Chapters 82 and 159 Chapter 81 Chapter 198 Chapter 163 Chapter 95 Chapters and Chapters 33 and 227 Chapters 1, 6, 9, 46, 73, 84, 107, 117, 136 and 221 Chapter 49 Chapter 53 Chapter 45 Chapter 48 Chapter 61 Chapter 71 Chapters 6, 13, 44, 79 and 121 Chapters 8, 23, 44, 48, 56, 57, 85, 86, 108, 109, 126, 127, 130, 143, 144 and 145 Chapter 166 Chapters 4, 9, 15, 16, 31, 33, 50, 52, 64, 69, 70, 71, 78, 83, 84, 86, 88, 92, 94, 97, 103, 105, 109, 116, 117, 124, 128, 139, 142, 144, 149, 153, 156, 162, 165, 166, 177, 184, 190, 208, 211, 213, 214, 218, 223, 239, 248, 249, 254 and 264 Chapter 75 Chapter Chapters 13, 16, 38 and 102 Chapters 1, 3, 47, 66 and 190 Chapter 263 Chapter 32 Chapter 36 Chapter 64 Chapter 72 Chapters and 14 Chapter Chapter Chapter Chapters 144 and 209 Chapter Chapters 6, 22 and 73 Chapter 258 Chapters 16, 58 and 187 Chapter 10 Chapter Chapter 113 Chapter 20 Chapter 22 Chapter 241 Chapter 213 GoalKicker.com – Android™ Notes for Professionals 1289 James_Parsons Jaseem Abbas Jason Bourne Jason Robinson jasonlam604 Jaymes Bearden Jean Vitor Jeeter JensV jgm jim Jinesh Francis Jitesh Dalsaniya JJ86 jlynch630 Joel Gritter Joel Prada John Snow johnrao07 Jon Adams Jonas Köritz JonasCz Joost Verbraeken Jordan Jordi Castilla Joscandreu Joshua JoxTraex judepereira k3b kalan kann Karan Nagpal Karan Razdan KATHYxx Kaushik Kaushik NP Kayvan N KDeogharkar Kedar Tendolkar KeLiuyue Kevin DiTraglia Kingfisher Phuoc Kiran Benny Joseph Kirill Kulakov kit Knossos krishan Krishnakanth kRiZ krunal patel KuroObi L Swifter Laurel Lazy Ninja Chapter 146 Chapter 50 Chapter 101 Chapters 58 and 93 Chapter 20 Chapter 38 Chapter Chapters 1, 11, 13 and 51 Chapter 250 Chapters 3, 22, 23 and 44 Chapter 33 Chapters 49, 84 and 130 Chapter 32 Chapters 32 and 38 Chapter 16 Chapter 46 Chapter 13 Chapter 59 Chapters 48 and 125 Chapters 8, 46, 51, 59, 67, 71, 111, 113, 117 and 136 Chapter 199 Chapters 14, 18, 20 and 138 Chapter 167 Chapters 14 and 89 Chapter 146 Chapter 47 Chapter 22 Chapter 13 Chapter 225 Chapters 3, 13 and 118 Chapter 35 Chapter Chapter Chapter 105 Chapter 37 Chapters 7, 30 and 37 Chapter 150 Chapters 6, 14, 22, 50, 53 and 145 Chapters and 31 Chapter Chapters 259 and 261 Chapter 22 Chapter 69 Chapters and 223 Chapter 47 Chapter 86 Chapter 25 Chapter 256 Chapter 229 Chapter 169 Chapters 100 and 255 Chapter 165 Chapter 107 Chapter 137 Chapters 32 and 47 GoalKicker.com – Android™ Notes for Professionals 1290 Leo Leo.Han Lewis McGeary Lokesh Desai Long Ranger LordSidious Lucas Paolillo Lukas MDP MM Madhukar Hebbar Magesh Pandian Mahmoud Ibrahim Makille Malek Hijazi Manos Marcus Becker MarGenDo Mario Lenci Marius Boepple Mark Ormesher Mark Yisri marshmallow MashukKhan Matas Vaitkevicius MathaN mattfred Mauker Max Max McKinney mayojava Md Ali Hossain Medusalix Menasheh mhenryk Michael Allan Michael Spitsin Michael Vescovo Michele MidasLefko MiguelHincapieC Mikael Ohlson Mike Mike Laren Mike Scamell Milad Nouri Mina Samy miss C mklimek mmBs Mochamad Taufik Hidayat Monish Kamble MPhil mpkuth Chapter 100 Chapter 47 Chapters 2, 36 and 52 Chapters 236 and 244 Chapter 10 Chapters 14, 54 and 189 Chapters 18, 32 and 36 Chapters 54, 89 and 186 Chapters 11 and 38 Chapter 232 Chapter 101 Chapter 117 Chapters 57 and 129 Chapters 14 and 61 Chapter 135 Chapter 183 Chapter 112 Chapter 195 Chapter 51 Chapters 16 and 207 Chapter Chapter Chapter 49 Chapter 184 Chapter Chapters 1, 6, 13, 16 and 22 Chapter 78 Chapters 6, and 107 Chapters 6, 16, 34, 36 and 113 Chapter 14 Chapter 59 Chapters 142 and 204 Chapters 47 and 119 Chapters 9, 33 and 59 Chapter 36 Chapter Chapters 7, 18 and 146 Chapter 93 Chapter 109 Chapters 57 and 170 Chapters 40 and 148 Chapter 69 Chapter 62 Chapter 13 Chapters 45 and 49 Chapters 66 and 73 Chapter 23 Chapter 49 Chapter 22 Chapters 16 and 34 Chapters 38 and 49 Chapter Chapter 32 Chapters 16, 35, 54, 84, 85 and 123 GoalKicker.com – Android™ Notes for Professionals 1291 Mr.7 MrSalmon mrtuovinen mshukla Muhammad Umair Shafique Muhammad Younas Muhammed Refaat Mukesh Kumar Swami Murali Muthukrishnan Rajendran Myon N NJ Namnodorel Narayan Acharya narko NashHorn Natali Neeraj Nepster nibarius Nick Nick Cardoso Nickan B Nicolai Weitkemper Nicolas Maltais Nikita Kurtin niknetniko Nilanchala Panigrahy Nilesh Singh Nissim R NitZRobotKoder noob Nougat Lover null pointer Oknesif Oleksandr Olu Omar Aflak Omar Al Halabi once2go Onik Onur orelzion Oren originx oshurmamadov Pablo Baxter Pankaj Kumar Paresh Mayani Parsania Hardik Patrick Dattilio Paul Lammertsma Chapters and 110 Chapter 54 Chapters 37, 69 and 186 Chapter Chapter 125 Chapter 220 Chapters 6, 7, 45 and 146 Chapter 178 Chapter 105 Chapters 27, 121, 150, 178 and 197 Chapter 67 Chapter 114 Chapters 3, 6, 7, 8, 80 and 93 Chapter 80 Chapter 44 Chapter 23 Chapter 37 Chapters 33 and 227 Chapter 97 Chapter Chapter 89 Chapter Chapters 6, 9, 60, 130 and 146 Chapter 19 Chapter 171 Chapter 215 Chapter 16 Chapter Chapter 13 Chapter 134 Chapter 25 Chapter 162 Chapter 96 Chapters 18, 30, 34 and 86 Chapter 79 Chapter 230 Chapter 107 Chapter 50 Chapter 100 Chapter 37 Chapter 66 Chapter 26 Chapter 35 Chapter 90 Chapter 69 Chapter 94 Chapters 16 and 66 Chapters 22, 23, 57, 71 and 233 Chapter 182 Chapter 34 Chapter 44 Chapters 2, 49 and 80 Chapter GoalKicker.com – Android™ Notes for Professionals 1292 Pavel Durov Pavel Strelchenko Pavneet_Singh Pawel Cala Pedro Varela Peter Taylor Phan Van Linh Phil PhilLab Pinaki Acharya piotrek1543 Piyush Pongpat Pradumn Kumar Mahanta Prakash Bala pRaNaY Pratik Butani privatestaticint PRIYA PARASHAR Priyank Patel Pro Mode Prownage PSN R Zagórski rajan ks Rajesh Rakshit Nawani Raman Ramzy Hassan Ranveer Rasoul Miri Ravi Rupareliya rciovati Reaz Murshed RediOne1 Redman reflective_mind rekire Revanth Gopi reVerse ReverseCold Ricardo Vieira ridsatrio Risch RishbhSharma Robert Robert Banyai Roberto Betancourt Robin Dijkhof Rohan Arora Rohit Arya Rolf ツ Romu Dizzy Chapters 33, 67 and 227 Chapter Chapters 1, and Chapter 14 Chapter 212 Chapter 89 Chapters and Chapter 47 Chapters 11 and 24 Chapter 37 Chapter 42 Chapters 49 and 58 Chapters 62 and 115 Chapter 218 Chapter 20 Chapters 51, 66 and 101 Chapters 122, 132, 140, 182, 224 and 242 Chapter 157 Chapter 176 Chapters 182, 192 and 231 Chapters and 75 Chapter 107 Chapter Chapters 3, 8, 9, 17, 33, 40, 58, 61, 62, 67, 90, 113, 186 and 227 Chapter 14 Chapters 2, 6, 16, 38, 47 and 68 Chapter 246 Chapter 13 Chapter 36 Chapter 21 Chapter 49 Chapters 10 and 38 Chapters and Chapters 3, 6, 22 and 67 Chapters 6, 29, 38, 55 and 127 Chapter 61 Chapter 172 Chapters 2, 3, 5, 6, 7, 15, 17 and 51 Chapter Chapter 262 Chapter 154 Chapters 113, 118 and 146 Chapters 16 and 34 Chapter 69 Chapter 33 Chapter 92 Chapter 205 Chapter 245 Chapter 32 Chapter 73 Chapters 14, 36, 54 and 96 Chapter 80 Chapter 194 GoalKicker.com – Android™ Notes for Professionals 1293 Rosário Pereira Fernandes Rubin Nellikunnathu Rupali russjr08 russt S.D S.R Saeed Sagar Chavada Sam Judd sameera lakshitha samgak Sammy T SANAT Sanket Berde Sanoop Sasank Sunkavalli Sashabrava saul saurav Saveen Segun Famisa Sevle shadygoneinsane shahharshil46 ShahiM shalini Shantanu Paul Shashanth Shekhar shikhar bansal Shinil M S Shirane85 ShivBuyya shtolik Shubham Shukla Siddharth Venu Simon Simon Schubert Simone Carletti Simplans SimplyProgrammer Sir SC Smit.Satodia Sneh Pandya Sohail Zahid SoroushA spaceplane ssimm Stanojkovic Stephane Mathis Steve.P still_learning stkent Chapters 49 and 124 Chapters 15, 71 and 150 Chapters 42, 124 and 162 Chapter Chapters and 51 Chapter 24 Chapters 30, 160 and 251 Chapters 100 and 110 Chapters 16 and 22 Chapter 36 Chapter 71 Chapter 197 Chapter 54 Chapter Chapters 22, 66 and 100 Chapters 16 and 85 Chapter 22 Chapter 209 Chapter Chapter 54 Chapter 168 Chapter 10 Chapter Chapter 265 Chapter 100 Chapter 192 Chapter 152 Chapter 31 Chapter 13 Chapter 202 Chapter 206 Chapters 14, 66 and 161 Chapter 62 Chapters 14 and 38 Chapters 20 and 85 Chapter 206 Chapter Chapters and 83 Chapter 86 Chapters 11 and 31 Chapters and Chapter 16 Chapters and 34 Chapter Chapters 1, 16, 22, 30, 36, 37, 132 and 214 Chapter 109 Chapters 6, 111 and 140 Chapter Chapter 174 Chapter 86 Chapter Chapter 239 Chapter 26 Chapters 12 and 33 GoalKicker.com – Android™ Notes for Professionals 1294 sud007 sudo Sujith Niraikulathan Sukrit Kumar sukumar sun Sup Suragch Suresh Kumar Sweeper Täg tainy Talha Mir TameHog Tanis.7x TDG Tejas Pawar theFunkyEngineer THelper thetonrifles thiagolr Thomas Easo ThomasThiebaud Tien Tim Kranen Timo Bähr Tomik Tot Zam TR4Android TRINADH KOYA Tudor Luca tynn ubuntudroid Ufkoku Uriel Carrillo user01232 user1506104 USKMobility Uttam Panchasara V Víctor Albertos V Kalyuzhnyu Vasily Kabunov Vicky Vinícius Barros Vinay Vincent D vipsy Vishal Puri VISHWANATH N P Vishwesh Jainkuniya Vivek Mishra Vlonjat Gashi Volodymyr Buberenko vrbsm Chapters 5, 16, 30, 126, 148 and 182 Chapters and 13 Chapters 8, 46, 86, 109, 131 and 162 Chapters 139 and 188 Chapters 23, 33, 36, 196 and 227 Chapters 109 and 146 Chapter 122 Chapter 46 Chapters 23, 41 and 196 Chapter 45 Chapter 26 Chapter Chapter Chapter 102 Chapters 9, 10, 21 and 98 Chapters 51 and 83 Chapter 13 Chapters and 33 Chapter 11 Chapter 22 Chapters 26, 33 and 51 Chapter 255 Chapters 2, 3, 6, 7, 8, 9, 11 and 15 Chapter 33 Chapters and 107 Chapter 164 Chapter 25 Chapter 22 Chapters 42, 43 and 46 Chapter 138 Chapter 247 Chapters 81, 114, 159, 246 and 252 Chapter Chapter 66 Chapters 32 and 56 Chapters and 180 Chapter 13 Chapter 84 Chapters 19 and 177 Chapter 67 Chapter 93 Chapter 22 Chapter 32 Chapter 54 Chapter 18 Chapter Chapter 107 Chapters 13 and 14 Chapter 175 Chapter 71 Chapter 91 Chapters 1, 6, and 136 Chapters 3, 10 and 58 Chapters 14 and 34 Chapter 66 GoalKicker.com – Android™ Notes for Professionals 1295 Vucko W0rmH0le W3hri WarrenFaith webo80 weston Willie Chalmers III Xaver Kapeller Xavier xDragonZ y.feizi Yashaswi Maharshi Yasin Kaỗmaz Yassie yennsarah Yogesh Umesh Vaity Yojimbo younes zeboudj Yousha Aleayoub yuku Yury Fedorov Yvette Colomb Zachary David Saunders Zeeshan Shabbir Zerntrino ZeroOne Zilk Zoe Chapters 54 and 96 Chapters 47 and 116 Chapter 108 Chapter 30 Chapters 28 and 146 Chapter 42 Chapters 16, 88 and 185 Chapters 7, 16, 32, 33, 133 and 137 Chapter Chapter 120 Chapter 118 Chapter 138 Chapters 27 and 127 Chapters and 33 Chapters 10 and 142 Chapter 160 Chapter 38 Chapters 6, and 33 Chapter 150 Chapter Chapters 1, 2, 3, 6, 7, 14, 30, 32, 33, 46, 51, 107, 132 and 227 Chapters 50 and 179 Chapter 51 Chapters 48 and 184 Chapter 87 Chapters 29 and 36 Chapters 13 and 22 Chapters 1, 38, 39, 65, 139, 141, 222, 223 and 243 GoalKicker.com – Android™ Notes for Professionals 1296 You may also like ... that were created for us On the left pane of Android Studio, we can see the structure of our Android application GoalKicker.com – Android? ?? Notes for Professionals First, let's open AndroidManifest.xml... GoalKicker.com – Android? ?? Notes for Professionals 11 Section 1.2: Setting up Android Studio Android Studio is the Android development IDE that is officially supported and recommended by Google Android Studio... SDK/platforms /android- API /android. jar \ -classpath src -source 1.7 -target 1.7 \ src/dom/domain/*.java GoalKicker.com – Android? ?? Notes for Professionals 14 Translate the bytecode from Java to Android

Ngày đăng: 06/07/2020, 01:42

Từ khóa liên quan

Mục lục

  • Content list

  • About

  • Chapter 1: Getting started with Android

    • Section 1.1: Creating a New Project

    • Section 1.2: Setting up Android Studio

    • Section 1.3: Android programming without an IDE

    • Section 1.4: Application Fundamentals

    • Section 1.5: Setting up an AVD (Android Virtual Device)

    • Chapter 2: Layouts

      • Section 2.1: LayoutParams

      • Section 2.2: Gravity and layout gravity

      • Section 2.3: CoordinatorLayout Scrolling Behavior

      • Section 2.4: Percent Layouts

      • Section 2.5: View Weight

      • Section 2.6: Creating LinearLayout programmatically

      • Section 2.7: LinearLayout

      • Section 2.8: RelativeLayout

      • Section 2.9: FrameLayout

      • Section 2.10: GridLayout

      • Section 2.11: CoordinatorLayout

      • Chapter 3: Gradle for Android

        • Section 3.1: A basic build.gradle file

        • Section 3.2: Define and use Build Configuration Fields

Tài liệu cùng người dùng

Tài liệu liên quan