ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Android Notes For Professionals. 1000+ pages of professional hints and tricks

دانلود کتاب یادداشت های اندروید برای حرفه ای ها. بیش از 1000 صفحه از نکات و ترفندهای حرفه ای

Android Notes For Professionals. 1000+ pages of professional hints and tricks

مشخصات کتاب

Android Notes For Professionals. 1000+ pages of professional hints and tricks

ویرایش:  
نویسندگان:   
سری:  
 
ناشر: GoalKicker.com 
سال نشر: 2018 
تعداد صفحات: [1329] 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 12 Mb 

قیمت کتاب (تومان) : 31,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 7


در صورت تبدیل فایل کتاب Android Notes For Professionals. 1000+ pages of professional hints and tricks به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب یادداشت های اندروید برای حرفه ای ها. بیش از 1000 صفحه از نکات و ترفندهای حرفه ای نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی درمورد کتاب به خارجی



فهرست مطالب

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: Android Studio
	Section 2.1: Setup Android Studio
	Section 2.2: View And Add Shortcuts in Android Studio
	Section 2.3: Android Studio useful shortcuts
	Section 2.4: Android Studio Improve performance tip
	Section 2.5: Gradle build project takes forever
	Section 2.6: Enable/Disable blank line copy
	Section 2.7: Custom colors of logcat message based on message importance
	Section 2.8: Filter logs from UI
	Section 2.9: Create filters configuration
	Section 2.10: Create assets folder
Chapter 3: Instant Run in Android Studio
	Section 3.1: Enabling or disabling Instant Run
	Section 3.2: Types of code Swaps in Instant Run
	Section 3.3: Unsupported code changes when using Instant Run
Chapter 4: TextView
	Section 4.1: Spannable TextView
	Section 4.2: Strikethrough TextView
	Section 4.3: TextView with image
	Section 4.4: Make RelativeSizeSpan align to top
	Section 4.5: Pinchzoom on TextView
	Section 4.6: Textview with dierent Textsize
	Section 4.7: Theme and Style customization
	Section 4.8: TextView customization
	Section 4.9: Single TextView with two dierent colors
Chapter 5: AutoCompleteTextView
	Section 5.1: AutoComplete with CustomAdapter, ClickListener and Filter
	Section 5.2: Simple, hard-coded AutoCompleteTextView
Chapter 6: Autosizing TextViews
	Section 6.1: Granularity
	Section 6.2: Preset Sizes
Chapter 7: ListView
	Section 7.1: Custom ArrayAdapter
	Section 7.2: A basic ListView with an ArrayAdapter
	Section 7.3: Filtering with CursorAdapter
Chapter 8: Layouts
	Section 8.1: LayoutParams
	Section 8.2: Gravity and layout gravity
	Section 8.3: CoordinatorLayout Scrolling Behavior
	Section 8.4: Percent Layouts
	Section 8.5: View Weight
	Section 8.6: Creating LinearLayout programmatically
	Section 8.7: LinearLayout
	Section 8.8: RelativeLayout
	Section 8.9: FrameLayout
	Section 8.10: GridLayout
	Section 8.11: CoordinatorLayout
Chapter 9: ConstraintLayout
	Section 9.1: Adding ConstraintLayout to your project
	Section 9.2: Chains
Chapter 10: TextInputLayout
	Section 10.1: Basic usage
	Section 10.2: Password Visibility Toggles
	Section 10.3: Adding Character Counting
	Section 10.4: Handling Errors
	Section 10.5: Customizing the appearance of the TextInputLayout
	Section 10.6: TextInputEditText
Chapter 11: CoordinatorLayout and Behaviors
	Section 11.1: Creating a simple Behavior
	Section 11.2: Using the SwipeDismissBehavior
	Section 11.3: Create dependencies between Views
Chapter 12: TabLayout
	Section 12.1: Using a TabLayout without a ViewPager
Chapter 13: ViewPager
	Section 13.1: ViewPager with a dots indicator
	Section 13.2: Basic ViewPager usage with fragments
	Section 13.3: ViewPager with PreferenceFragment
	Section 13.4: Adding a ViewPager
	Section 13.5: Setup OnPageChangeListener
	Section 13.6: ViewPager with TabLayout
Chapter 14: CardView
	Section 14.1: Getting Started with CardView
	Section 14.2: Adding Ripple animation
	Section 14.3: Customizing the CardView
	Section 14.4: Using Images as Background in CardView (Pre-Lollipop device issues)
	Section 14.5: Animate CardView background color with TransitionDrawable
Chapter 15: NavigationView
	Section 15.1: How to add the NavigationView
	Section 15.2: Add underline in menu elements
	Section 15.3: Add seperators to menu
	Section 15.4: Add menu Divider using default DividerItemDecoration
Chapter 16: RecyclerView
	Section 16.1: Adding a RecyclerView
	Section 16.2: Smoother loading of items
	Section 16.3: RecyclerView with DataBinding
	Section 16.4: Animate data change
	Section 16.5: Popup menu with recyclerView
	Section 16.6: Using several ViewHolders with ItemViewType
	Section 16.7: Filter items inside RecyclerView with a SearchView
	Section 16.8: Drag&Drop and Swipe with RecyclerView
	Section 16.9: Show default view till items load or when data is not available
	Section 16.10: Add header/footer to a RecyclerView
	Section 16.11: Endless Scrolling in Recycleview
	Section 16.12: Add divider lines to RecyclerView items
Chapter 17: RecyclerView Decorations
	Section 17.1: Add divider to RecyclerView
	Section 17.2: Drawing a Separator
	Section 17.3: How to add dividers using and DividerItemDecoration
	Section 17.4: Per-item margins with ItemDecoration
	Section 17.5: ItemOsetDecoration for GridLayoutManager in RecycleView
Chapter 18: RecyclerView onClickListeners
	Section 18.1: Kotlin and RxJava example
	Section 18.2: RecyclerView Click listener
	Section 18.3: Another way to implement Item Click Listener
	Section 18.4: New Example
	Section 18.5: Easy OnLongClick and OnClick Example
	Section 18.6: Item Click Listeners
Chapter 19: RecyclerView and LayoutManagers
	Section 19.1: Adding header view to recyclerview with gridlayout manager
	Section 19.2: GridLayoutManager with dynamic span count
	Section 19.3: Simple list with LinearLayoutManager
	Section 19.4: StaggeredGridLayoutManager
Chapter 20: Pagination in RecyclerView
	Section 20.1: MainActivity.java
Chapter 21: ImageView
	Section 21.1: Set tint
	Section 21.2: Set alpha
	Section 21.3: Set Scale Type
	Section 21.4: ImageView ScaleType - Center
	Section 21.5: ImageView ScaleType - CenterCrop
	Section 21.6: ImageView ScaleType - CenterInside
	Section 21.7: ImageView ScaleType - FitStart and FitEnd
	Section 21.8: ImageView ScaleType - FitCenter
	Section 21.9: Set Image Resource
	Section 21.10: ImageView ScaleType - FitXy
	Section 21.11: MLRoundedImageView.java
Chapter 22: VideoView
	Section 22.1: Play video from URL with using VideoView
	Section 22.2: VideoView Create
Chapter 23: Optimized VideoView
	Section 23.1: Optimized VideoView in ListView
Chapter 24: WebView
	Section 24.1: Troubleshooting WebView by printing console messages or by remote debugging
	Section 24.2: Communication from Javascript to Java (Android)
	Section 24.3: Communication from Java to Javascript
	Section 24.4: Open dialer example
	Section 24.5: Open Local File / Create dynamic content in Webview
	Section 24.6: JavaScript alert dialogs in WebView - How to make them work
Chapter 25: SearchView
	Section 25.1: Setting Theme for SearchView
	Section 25.2: SearchView in Toolbar with Fragment
	Section 25.3: Appcompat SearchView with RxBindings watcher
Chapter 26: BottomNavigationView
	Section 26.1: Basic implemetation
	Section 26.2: Customization of BottomNavigationView
	Section 26.3: Handling Enabled / Disabled states
	Section 26.4: Allowing more than 3 menus
Chapter 27: Canvas drawing using SurfaceView
	Section 27.1: SurfaceView with drawing thread
Chapter 28: Creating Custom Views
	Section 28.1: Creating Custom Views
	Section 28.2: Adding attributes to views
	Section 28.3: CustomView performance tips
	Section 28.4: Creating a compound view
	Section 28.5: Compound view for SVG/VectorDrawable as drawableRight
	Section 28.6: Responding to Touch Events
Chapter 29: Getting Calculated View Dimensions
	Section 29.1: Calculating initial View dimensions in an Activity
Chapter 30: Adding a FuseView to an Android Project
	Section 30.1: hikr app, just another android.view.View
Chapter 31: Supporting Screens With Dierent Resolutions, Sizes
	Section 31.1: Using configuration qualifiers
	Section 31.2: Converting dp and sp to pixels
	Section 31.3: Text size and dierent android screen sizes
Chapter 32: ViewFlipper
	Section 32.1: ViewFlipper with image sliding
Chapter 33: Design Patterns
	Section 33.1: Observer pattern
	Section 33.2: Singleton Class Example
Chapter 34: Activity
	Section 34.1: Activity launchMode
	Section 34.2: Exclude an activity from back-stack history
	Section 34.3: Android Activity LifeCycle Explained
	Section 34.4: End Application with exclude from Recents
	Section 34.5: Presenting UI with setContentView
	Section 34.6: Up Navigation for Activities
	Section 34.7: Clear your current Activity stack and launch a new Activity
Chapter 35: Activity Recognition
	Section 35.1: Google Play ActivityRecognitionAPI
	Section 35.2: PathSense Activity Recognition
Chapter 36: Split Screen / Multi-Screen Activities
	Section 36.1: Split Screen introduced in Android Nougat implemented
Chapter 37: Material Design
	Section 37.1: Adding a Toolbar
	Section 37.2: Buttons styled with Material Design
	Section 37.3: Adding a FloatingActionButton (FAB)
	Section 37.4: RippleDrawable
	Section 37.5: Adding a TabLayout
	Section 37.6: Bottom Sheets in Design Support Library
	Section 37.7: Apply an AppCompat theme
	Section 37.8: Add a Snackbar
	Section 37.9: Add a Navigation Drawer
	Section 37.10: How to use TextInputLayout
Chapter 38: Resources
	Section 38.1: Define colors
	Section 38.2: Color Transparency(Alpha) Level
	Section 38.3: Define String Plurals
	Section 38.4: Define strings
	Section 38.5: Define dimensions
	Section 38.6: String formatting in strings.xml
	Section 38.7: Define integer array
	Section 38.8: Define a color state list
	Section 38.9: 9 Patches
	Section 38.10: Getting resources without "deprecated" warnings
	Section 38.11: Working with strings.xml file
	Section 38.12: Define string array
	Section 38.13: Define integers
	Section 38.14: Define a menu resource and use it inside Activity/Fragment
Chapter 39: Data Binding Library
	Section 39.1: Basic text field binding
	Section 39.2: Built-in two-way Data Binding
	Section 39.3: Custom event using lambda expression
	Section 39.4: Default value in Data Binding
	Section 39.5: Databinding in Dialog
	Section 39.6: Binding with an accessor method
	Section 39.7: Pass widget as reference in BindingAdapter
	Section 39.8: Click listener with Binding
	Section 39.9: Data binding in RecyclerView Adapter
	Section 39.10: Databinding in Fragment
	Section 39.11: DataBinding with custom variables(int,boolean)
	Section 39.12: Referencing classes
Chapter 40: SharedPreferences
	Section 40.1: Implementing a Settings screen using SharedPreferences
	Section 40.2: Commit vs. Apply
	Section 40.3: Read and write values to SharedPreferences
	Section 40.4: Retrieve all stored entries from a particular SharedPreferences file
	Section 40.5: Reading and writing data to SharedPreferences with Singleton
	Section 40.6: getPreferences(int) VS getSharedPreferences(String, int)
	Section 40.7: Listening for SharedPreferences changes
	Section 40.8: Store, Retrieve, Remove and Clear Data from SharedPreferences
	Section 40.9: Add filter for EditTextPreference
	Section 40.10: Supported data types in SharedPreferences
	Section 40.11: Dierent ways of instantiating an object of SharedPreferences
	Section 40.12: Removing keys
	Section 40.13: Support pre-Honeycomb with StringSet
Chapter 41: Intent
	Section 41.1: Getting a result from another Activity
	Section 41.2: Passing data between activities
	Section 41.3: Open a URL in a browser
	Section 41.4: Starter Pattern
	Section 41.5: Clearing an activity stack
	Section 41.6: Start an activity
	Section 41.7: Sending emails
	Section 41.8: CustomTabsIntent for Chrome Custom Tabs
	Section 41.9: Intent URI
	Section 41.10: Start the dialer
	Section 41.11: Broadcasting Messages to Other Components
	Section 41.12: Passing custom object between activities
	Section 41.13: Open Google map with specified latitude, longitude
	Section 41.14: Passing dierent data through Intent in Activity
	Section 41.15: Share intent
	Section 41.16: Showing a File Chooser and Reading the Result
	Section 41.17: Sharing Multiple Files through Intent
	Section 41.18: Start Unbound Service using an Intent
	Section 41.19: Getting a result from Activity to Fragment
Chapter 42: Fragments
	Section 42.1: Pass data from Activity to Fragment using Bundle
	Section 42.2: The newInstance() pattern
	Section 42.3: Navigation between fragments using backstack and static fabric pattern
	Section 42.4: Sending events back to an activity with callback interface
	Section 42.5: Animate the transition between fragments
	Section 42.6: Communication between Fragments
Chapter 43: Button
	Section 43.1: Using the same click event for one or more Views in the XML
	Section 43.2: Defining external Listener
	Section 43.3: inline onClickListener
	Section 43.4: Customizing Button style
	Section 43.5: Custom Click Listener to prevent multiple fast clicks
	Section 43.6: Using the layout to define a click action
	Section 43.7: Listening to the long click events
Chapter 44: Emulator
	Section 44.1: Taking screenshots
	Section 44.2: Simulate call
	Section 44.3: Open the AVD Manager
	Section 44.4: Resolving Errors while starting emulator
Chapter 45: Service
	Section 45.1: Lifecycle of a Service
	Section 45.2: Defining the process of a service
	Section 45.3: Creating an unbound service
	Section 45.4: Starting a Service
	Section 45.5: Creating Bound Service with help of Binder
	Section 45.6: Creating Remote Service (via AIDL)
Chapter 46: The Manifest File
	Section 46.1: Declaring Components
	Section 46.2: Declaring permissions in your manifest file
Chapter 47: Gradle for Android
	Section 47.1: A basic build.gradle file
	Section 47.2: Define and use Build Configuration Fields
	Section 47.3: Centralizing dependencies via "dependencies.gradle" file
	Section 47.4: Sign APK without exposing keystore password
	Section 47.5: Adding product flavor-specific dependencies
	Section 47.6: Specifying dierent application IDs for build types and product flavors
	Section 47.7: Versioning your builds via "version.properties" file
	Section 47.8: Defining product flavors
	Section 47.9: Changing output apk name and add version name:
	Section 47.10: Adding product flavor-specific resources
	Section 47.11: Why are there two build.gradle files in an Android Studio project?
	Section 47.12: Directory structure for flavor-specific resources
	Section 47.13: Enable Proguard using gradle
	Section 47.14: Ignoring build variant
	Section 47.15: Enable experimental NDK plugin support for Gradle and AndroidStudio
	Section 47.16: Display signing information
	Section 47.17: Seeing dependency tree
	Section 47.18: Disable image compression for a smaller APK file size
	Section 47.19: Delete "unaligned" apk automatically
	Section 47.20: Executing a shell script from gradle
	Section 47.21: Show all gradle project tasks
	Section 47.22: Debugging your Gradle errors
	Section 47.23: Use gradle.properties for central versionnumber/buildconfigurations
	Section 47.24: Defining build types
Chapter 48: FileIO with Android
	Section 48.1: Obtaining the working folder
	Section 48.2: Writing raw array of bytes
	Section 48.3: Serializing the object
	Section 48.4: Writing to external storage (SD card)
	Section 48.5: Solving "Invisible MTP files" problem
	Section 48.6: Working with big files
Chapter 49: FileProvider
	Section 49.1: Sharing a file
Chapter 50: Storing Files in Internal & External Storage
	Section 50.1: Android: Internal and External Storage - Terminology Clarification
	Section 50.2: Using External Storage
	Section 50.3: Using Internal Storage
	Section 50.4: Fetch Device Directory :
	Section 50.5: Save Database on SD Card (Backup DB on SD)
Chapter 51: Zip file in android
	Section 51.1: Zip file on android
Chapter 52: Unzip File in Android
	Section 52.1: Unzip file
Chapter 53: Camera and Gallery
	Section 53.1: Take photo
	Section 53.2: Taking full-sized photo from camera
	Section 53.3: Decode bitmap correctly rotated from the uri fetched with the intent
	Section 53.4: Set camera resolution
	Section 53.5: How to start camera or gallery and save camera result to storage
Chapter 54: Camera 2 API
	Section 54.1: Preview the main camera in a TextureView
Chapter 55: Fingerprint API in android
	Section 55.1: How to use Android Fingerprint API to save user passwords
	Section 55.2: Adding the Fingerprint Scanner in Android application
Chapter 56: Bluetooth and Bluetooth LE API
	Section 56.1: Permissions
	Section 56.2: Check if bluetooth is enabled
	Section 56.3: Find nearby Bluetooth Low Energy devices
	Section 56.4: Make device discoverable
	Section 56.5: Connect to Bluetooth device
	Section 56.6: Find nearby bluetooth devices
Chapter 57: Runtime Permissions in API-23 +
	Section 57.1: Android 6.0 multiple permissions
	Section 57.2: Multiple Runtime Permissions From Same Permission Groups
	Section 57.3: Using PermissionUtil
	Section 57.4: Include all permission-related code to an abstract base class and extend the activity of this base class to achieve cleaner/reusable code
	Section 57.5: Enforcing Permissions in Broadcasts, URI
Chapter 58: Android Places API
	Section 58.1: Getting Current Places by Using Places API
	Section 58.2: Place Autocomplete Integration
	Section 58.3: Place Picker Usage Example
	Section 58.4: Setting place type filters for PlaceAutocomplete
	Section 58.5: Adding more than one google auto complete activity
Chapter 59: Android NDK
	Section 59.1: How to log in ndk
	Section 59.2: Building native executables for Android
	Section 59.3: How to clean the build
	Section 59.4: How to use a makefile other than Android.mk
Chapter 60: DayNight Theme (AppCompat v23.2 / API 14+)
	Section 60.1: Adding the DayNight theme to an app
Chapter 61: Glide
	Section 61.1: Loading an image
	Section 61.2: Add Glide to your project
	Section 61.3: Glide circle transformation (Load image in a circular ImageView)
	Section 61.4: Default transformations
	Section 61.5: Glide rounded corners image with custom Glide target
	Section 61.6: Placeholder and Error handling
	Section 61.7: Preloading images
	Section 61.8: Handling Glide image load failed
	Section 61.9: Load image in a circular ImageView without custom transformations
Chapter 62: Dialog
	Section 62.1: Adding Material Design AlertDialog to your app using Appcompat
	Section 62.2: A Basic Alert Dialog
	Section 62.3: ListView in AlertDialog
	Section 62.4: Custom Alert Dialog with EditText
	Section 62.5: DatePickerDialog
	Section 62.6: DatePicker
	Section 62.7: Alert Dialog
	Section 62.8: Alert Dialog with Multi-line Title
	Section 62.9: Date Picker within DialogFragment
	Section 62.10: Fullscreen Custom Dialog with no background and no title
Chapter 63: Enhancing Alert Dialogs
	Section 63.1: Alert dialog containing a clickable link
Chapter 64: Animated AlertDialog Box
	Section 64.1: Put Below code for Animated dialog..
Chapter 65: GreenDAO
	Section 65.1: Helper methods for SELECT, INSERT, DELETE, UPDATE queries
	Section 65.2: Creating an Entity with GreenDAO 3.X that has a Composite Primary Key
	Section 65.3: Getting started with GreenDao v3.X
Chapter 66: Tools Attributes
	Section 66.1: Designtime Layout Attributes
Chapter 67: Formatting Strings
	Section 67.1: Format a string resource
	Section 67.2: Formatting data types to String and vise versa
	Section 67.3: Format a timestamp to string
Chapter 68: SpannableString
	Section 68.1: Add styles to a TextView
	Section 68.2: Multi string , with multi color
Chapter 69: Notifications
	Section 69.1: Heads Up Notification with Ticker for older devices
	Section 69.2: Creating a simple Notification
	Section 69.3: Set custom notification - show full content text
	Section 69.4: Dynamically getting the correct pixel size for the large icon
	Section 69.5: Ongoing notification with Action button
	Section 69.6: Setting Dierent priorities in notification
	Section 69.7: Set custom notification icon using `Picasso` library
	Section 69.8: Scheduling notifications
Chapter 70: AlarmManager
	Section 70.1: How to Cancel an Alarm
	Section 70.2: Creating exact alarms on all Android versions
	Section 70.3: API23+ Doze mode interferes with AlarmManager
	Section 70.4: Run an intent at a later time
Chapter 71: Handler
	Section 71.1: HandlerThreads and communication between Threads
	Section 71.2: Use Handler to create a Timer (similar to javax.swing.Timer)
	Section 71.3: Using a Handler to execute code after a delayed amount of time
	Section 71.4: Stop handler from execution
Chapter 72: BroadcastReceiver
	Section 72.1: Using LocalBroadcastManager
	Section 72.2: BroadcastReceiver Basics
	Section 72.3: Introduction to Broadcast receiver
	Section 72.4: Using ordered broadcasts
	Section 72.5: Sticky Broadcast
	Section 72.6: Enabling and disabling a Broadcast Receiver programmatically
	Section 72.7: Example of a LocalBroadcastManager
	Section 72.8: Android stopped state
	Section 72.9: Communicate two activities through custom Broadcast receiver
	Section 72.10: BroadcastReceiver to handle BOOT_COMPLETED events
	Section 72.11: Bluetooth Broadcast receiver
Chapter 73: UI Lifecycle
	Section 73.1: Saving data on memory trimming
Chapter 74: HttpURLConnection
	Section 74.1: Creating an HttpURLConnection
	Section 74.2: Sending an HTTP GET request
	Section 74.3: Reading the body of an HTTP GET request
	Section 74.4: Sending an HTTP POST request with parameters
	Section 74.5: A multi-purpose HttpURLConnection class to handle all types of HTTP requests
	Section 74.6: Use HttpURLConnection for multipart/form-data
	Section 74.7: Upload (POST) file using HttpURLConnection
Chapter 75: Callback URL
	Section 75.1: Callback URL example with Instagram OAuth
Chapter 76: Snackbar
	Section 76.1: Creating a simple Snackbar
	Section 76.2: Custom Snack Bar
	Section 76.3: Custom Snackbar (no need view)
	Section 76.4: Snackbar with Callback
	Section 76.5: Snackbar vs Toasts: Which one should I use?
	Section 76.6: Custom Snackbar
Chapter 77: Widgets
	Section 77.1: Manifest Declaration -
	Section 77.2: Metadata
	Section 77.3: AppWidgetProvider Class
	Section 77.4: Create/Integrate Basic Widget using Android Studio
	Section 77.5: Two widgets with dierent layouts declaration
Chapter 78: Toast
	Section 78.1: Creating a custom Toast
	Section 78.2: Set position of a Toast
	Section 78.3: Showing a Toast Message
	Section 78.4: Show Toast Message Above Soft Keyboard
	Section 78.5: Thread safe way of displaying Toast (Application Wide)
	Section 78.6: Thread safe way of displaying a Toast Message (For AsyncTask)
Chapter 79: Create Singleton Class for Toast Message
	Section 79.1: Create own singleton class for toast massages
Chapter 80: Interfaces
	Section 80.1: Custom Listener
	Section 80.2: Basic Listener
Chapter 81: Animators
	Section 81.1: TransitionDrawable animation
	Section 81.2: Fade in/out animation
	Section 81.3: ValueAnimator
	Section 81.4: Expand and Collapse animation of View
	Section 81.5: ObjectAnimator
	Section 81.6: ViewPropertyAnimator
	Section 81.7: Shake animation of an ImageView
Chapter 82: Location
	Section 82.1: Fused location API
	Section 82.2: Get Address From Location using Geocoder
	Section 82.3: Requesting location updates using LocationManager
	Section 82.4: Requesting location updates on a separate thread using LocationManager
	Section 82.5: Getting location updates in a BroadcastReceiver
	Section 82.6: Register geofence
Chapter 83: Theme, Style, Attribute
	Section 83.1: Define primary, primary dark, and accent colors
	Section 83.2: Multiple Themes in one App
	Section 83.3: Navigation Bar Color (API 21+)
	Section 83.4: Use Custom Theme Per Activity
	Section 83.5: Light Status Bar (API 23+)
	Section 83.6: Use Custom Theme Globally
	Section 83.7: Overscroll Color (API 21+)
	Section 83.8: Ripple Color (API 21+)
	Section 83.9: Translucent Navigation and Status Bars (API 19+)
	Section 83.10: Theme inheritance
Chapter 84: MediaPlayer
	Section 84.1: Basic creation and playing
	Section 84.2: Media Player with Buer progress and play position
	Section 84.3: Getting system ringtones
	Section 84.4: Asynchronous prepare
	Section 84.5: Import audio into androidstudio and play it
	Section 84.6: Getting and setting system volume
Chapter 85: Android Sound and Media
	Section 85.1: How to pick image and video for api >19
	Section 85.2: Play sounds via SoundPool
Chapter 86: MediaSession
	Section 86.1: Receiving and handling button events
Chapter 87: MediaStore
	Section 87.1: Fetch Audio/MP3 files from specific folder of device or fetch all files
Chapter 88: Multidex and the Dex Method Limit
	Section 88.1: Enabling Multidex
	Section 88.2: Multidex by extending Application
	Section 88.3: Multidex by extending MultiDexApplication
	Section 88.4: Multidex by using MultiDexApplication directly
	Section 88.5: Counting Method References On Every Build (Dexcount Gradle Plugin)
Chapter 89: Data Synchronization with Sync Adapter
	Section 89.1: Dummy Sync Adapter with Stub Provider
Chapter 90: PorterDu Mode
	Section 90.1: Creating a PorterDu ColorFilter
	Section 90.2: Creating a PorterDu XferMode
	Section 90.3: Apply a radial mask (vignette) to a bitmap using PorterDuXfermode
Chapter 91: Menu
	Section 91.1: Options menu with dividers
	Section 91.2: Apply custom font to Menu
	Section 91.3: Creating a Menu in an Activity
Chapter 92: Picasso
	Section 92.1: Adding Picasso Library to your Android Project
	Section 92.2: Circular Avatars with Picasso
	Section 92.3: Placeholder and Error Handling
	Section 92.4: Re-sizing and Rotating
	Section 92.5: Disable cache in Picasso
	Section 92.6: Using Picasso as ImageGetter for Html.fromHtml
	Section 92.7: Cancelling Image Requests using Picasso
	Section 92.8: Loading Image from external Storage
	Section 92.9: Downloading image as Bitmap using Picasso
	Section 92.10: Try oine disk cache first, then go online and fetch the image
Chapter 93: RoboGuice
	Section 93.1: Simple example
	Section 93.2: Installation for Gradle Projects
	Section 93.3: @ContentView annotation
	Section 93.4: @InjectResource annotation
	Section 93.5: @InjectView annotation
	Section 93.6: Introduction to RoboGuice
Chapter 94: ACRA
	Section 94.1: ACRAHandler
	Section 94.2: Example manifest
	Section 94.3: Installation
Chapter 95: Parcelable
	Section 95.1: Making a custom object Parcelable
	Section 95.2: Parcelable object containing another Parcelable object
	Section 95.3: Using Enums with Parcelable
Chapter 96: Retrofit2
	Section 96.1: A Simple GET Request
	Section 96.2: Debugging with Stetho
	Section 96.3: Add logging to Retrofit2
	Section 96.4: A simple POST request with GSON
	Section 96.5: Download a file from Server using Retrofit2
	Section 96.6: Upload multiple file using Retrofit as multipart
	Section 96.7: Retrofit with OkHttp interceptor
	Section 96.8: Header and Body: an Authentication Example
	Section 96.9: Uploading a file via Multipart
	Section 96.10: Retrofit 2 Custom Xml Converter
	Section 96.11: Reading XML form URL with Retrofit 2
Chapter 97: ButterKnife
	Section 97.1: Configuring ButterKnife in your project
	Section 97.2: Unbinding views in ButterKnife
	Section 97.3: Binding Listeners using ButterKnife
	Section 97.4: Android Studio ButterKnife Plugin
	Section 97.5: Binding Views using ButterKnife
Chapter 98: Volley
	Section 98.1: Using Volley for HTTP requests
	Section 98.2: Basic StringRequest using GET method
	Section 98.3: Adding custom design time attributes to NetworkImageView
	Section 98.4: Adding custom headers to your requests [e.g. for basic auth]
	Section 98.5: Remote server authentication using StringRequest through POST method
	Section 98.6: Cancel a request
	Section 98.7: Request JSON
	Section 98.8: Use JSONArray as request body
	Section 98.9: Boolean variable response from server with json request in volley
	Section 98.10: Helper Class for Handling Volley Errors
Chapter 99: Date and Time Pickers
	Section 99.1: Date Picker Dialog
	Section 99.2: Material DatePicker
Chapter 100: Localized Date/Time in Android
	Section 100.1: Custom localized date format with DateUtils.formatDateTime()
	Section 100.2: Standard date/time formatting in Android
	Section 100.3: Fully customized date/time
Chapter 101: Time Utils
	Section 101.1: To check within a period
	Section 101.2: Convert Date Format into Milliseconds
	Section 101.3: GetCurrentRealTime
Chapter 102: In-app Billing
	Section 102.1: Consumable In-app Purchases
	Section 102.2: (Third party) In-App v3 Library
Chapter 103: FloatingActionButton
	Section 103.1: How to add the FAB to the layout
	Section 103.2: Show and Hide FloatingActionButton on Swipe
	Section 103.3: Show and Hide FloatingActionButton on Scroll
	Section 103.4: Setting behaviour of FloatingActionButton
Chapter 104: Touch Events
	Section 104.1: How to vary between child and parent view group touch events
Chapter 105: Handling touch and motion events
	Section 105.1: Buttons
	Section 105.2: Surface
	Section 105.3: Handling multitouch in a surface
Chapter 106: Detect Shake Event in Android
	Section 106.1: Shake Detector in Android Example
	Section 106.2: Using Seismic shake detection
Chapter 107: Hardware Button Events/Intents (PTT, LWP, etc.)
	Section 107.1: Sonim Devices
	Section 107.2: RugGear Devices
Chapter 108: GreenRobot EventBus
	Section 108.1: Passing a Simple Event
	Section 108.2: Receiving Events
	Section 108.3: Sending Events
Chapter 109: Otto Event Bus
	Section 109.1: Passing an event
	Section 109.2: Receiving an event
Chapter 110: Vibration
	Section 110.1: Getting Started with Vibration
	Section 110.2: Vibrate Indefinitely
	Section 110.3: Vibration Patterns
	Section 110.4: Stop Vibrate
	Section 110.5: Vibrate for one time
Chapter 111: ContentProvider
	Section 111.1: Implementing a basic content provider class
Chapter 112: Dagger 2
	Section 112.1: Component setup for Application and Activity injection
	Section 112.2: Custom Scopes
	Section 112.3: Using @Subcomponent instead of @Component(dependencies={...})
	Section 112.4: Creating a component from multiple modules
	Section 112.5: How to add Dagger 2 in build.gradle
	Section 112.6: Constructor Injection
Chapter 113: Realm
	Section 113.1: Sorted queries
	Section 113.2: Using Realm with RxJava
	Section 113.3: Basic Usage
	Section 113.4: List of primitives (RealmList)
	Section 113.5: Async queries
	Section 113.6: Adding Realm to your project
	Section 113.7: Realm Models
	Section 113.8: try-with-resources
Chapter 114: Android Versions
	Section 114.1: Checking the Android Version on device at runtime
Chapter 115: Wi-Fi Connections
	Section 115.1: Connect with WEP encryption
	Section 115.2: Connect with WPA2 encryption
	Section 115.3: Scan for access points
Chapter 116: SensorManager
	Section 116.1: Decide if your device is static or not, using the accelerometer
	Section 116.2: Retrieving sensor events
	Section 116.3: Sensor transformation to world coordinate system
Chapter 117: ProgressBar
	Section 117.1: Material Linear ProgressBar
	Section 117.2: Tinting ProgressBar
	Section 117.3: Customized progressbar
	Section 117.4: Creating Custom Progress Dialog
	Section 117.5: Indeterminate ProgressBar
	Section 117.6: Determinate ProgressBar
Chapter 118: Custom Fonts
	Section 118.1: Custom font in canvas text
	Section 118.2: Working with fonts in Android O
	Section 118.3: Custom font to whole activity
	Section 118.4: Putting a custom font in your app
	Section 118.5: Initializing a font
	Section 118.6: Using a custom font in a TextView
	Section 118.7: Apply font on TextView by xml (Not required Java code)
	Section 118.8: Ecient Typeface loading
Chapter 119: Getting system font names and using the fonts
	Section 119.1: Getting system font names
	Section 119.2: Applying a system font to a TextView
Chapter 120: Text to Speech(TTS)
	Section 120.1: Text to Speech Base
	Section 120.2: TextToSpeech implementation across the APIs
Chapter 121: Spinner
	Section 121.1: Basic Spinner Example
	Section 121.2: Adding a spinner to your activity
Chapter 122: Data Encryption/Decryption
	Section 122.1: AES encryption of data using password in a secure way
Chapter 123: OkHttp
	Section 123.1: Basic usage example
	Section 123.2: Setting up OkHttp
	Section 123.3: Logging interceptor
	Section 123.4: Synchronous Get Call
	Section 123.5: Asynchronous Get Call
	Section 123.6: Posting form parameters
	Section 123.7: Posting a multipart request
	Section 123.8: Rewriting Responses
Chapter 124: Handling Deep Links
	Section 124.1: Retrieving query parameters
	Section 124.2: Simple deep link
	Section 124.3: Multiple paths on a single domain
	Section 124.4: Multiple domains and multiple paths
	Section 124.5: Both http and https for the same domain
	Section 124.6: Using pathPrefix
Chapter 125: Crash Reporting Tools
	Section 125.1: Fabric - Crashlytics
	Section 125.2: Capture crashes using Sherlock
	Section 125.3: Force a Test Crash With Fabric
	Section 125.4: Crash Reporting with ACRA
Chapter 126: Check Internet Connectivity
	Section 126.1: Check if device has internet connectivity
	Section 126.2: How to check network strength in android?
	Section 126.3: How to check network strength
Chapter 127: Creating your own libraries for Android applications
	Section 127.1: Create a library available on Jitpack.io
	Section 127.2: Creating library project
	Section 127.3: Using library in project as a module
Chapter 128: Device Display Metrics
	Section 128.1: Get the screens pixel dimensions
	Section 128.2: Get screen density
	Section 128.3: Formula px to dp, dp to px conversation
Chapter 129: Building Backwards Compatible Apps
	Section 129.1: How to handle deprecated API
Chapter 130: Loader
	Section 130.1: Basic AsyncTaskLoader
	Section 130.2: AsyncTaskLoader with cache
	Section 130.3: Reloading
	Section 130.4: Pass parameters using a Bundle
Chapter 131: ProGuard - Obfuscating and Shrinking your code
	Section 131.1: Rules for some of the widely used Libraries
	Section 131.2: Remove trace logging (and other) statements at build time
	Section 131.3: Protecting your code from hackers
	Section 131.4: Enable ProGuard for your build
	Section 131.5: Enabling ProGuard with a custom obfuscation configuration file
Chapter 132: Typedef Annotations: @IntDef, @StringDef
	Section 132.1: IntDef Annotations
	Section 132.2: Combining constants with flags
Chapter 133: Capturing Screenshots
	Section 133.1: Taking a screenshot of a particular view
	Section 133.2: Capturing Screenshot via Android Studio
	Section 133.3: Capturing Screenshot via ADB and saving directly in your PC
	Section 133.4: Capturing Screenshot via Android Device Monitor
	Section 133.5: Capturing Screenshot via ADB
Chapter 134: MVP Architecture
	Section 134.1: Login example in the Model View Presenter (MVP) pattern
	Section 134.2: Simple Login Example in MVP
Chapter 135: Orientation Changes
	Section 135.1: Saving and Restoring Activity State
	Section 135.2: Retaining Fragments
	Section 135.3: Manually Managing Configuration Changes
	Section 135.4: Handling AsyncTask
	Section 135.5: Lock Screen's rotation programmatically
	Section 135.6: Saving and Restoring Fragment State
Chapter 136: Xposed
	Section 136.1: Creating a Xposed Module
	Section 136.2: Hooking a method
Chapter 137: PackageManager
	Section 137.1: Retrieve application version
	Section 137.2: Version name and version code
	Section 137.3: Install time and update time
	Section 137.4: Utility method using PackageManager
Chapter 138: Gesture Detection
	Section 138.1: Swipe Detection
	Section 138.2: Basic Gesture Detection
Chapter 139: Doze Mode
	Section 139.1: Whitelisting an Android application programmatically
	Section 139.2: Exclude app from using doze mode
Chapter 140: Colors
	Section 140.1: Color Manipulation
Chapter 141: Keyboard
	Section 141.1: Register a callback for keyboard open and close
	Section 141.2: Hide keyboard when user taps anywhere else on the screen
Chapter 142: RenderScript
	Section 142.1: Getting Started
	Section 142.2: Blur a View
	Section 142.3: Blur an image
Chapter 143: Fresco
	Section 143.1: Getting Started with Fresco
	Section 143.2: Using OkHttp 3 with Fresco
	Section 143.3: JPEG Streaming with Fresco using DraweeController
Chapter 144: Swipe to Refresh
	Section 144.1: How to add Swipe-to-Refresh To your app
	Section 144.2: Swipe To Refresh with RecyclerView
Chapter 145: Creating Splash screen
	Section 145.1: Splash screen with animation
	Section 145.2: A basic splash screen
Chapter 146: IntentService
	Section 146.1: Creating an IntentService
	Section 146.2: Basic IntentService Example
	Section 146.3: Sample Intent Service
Chapter 147: Implicit Intents
	Section 147.1: Implicit and Explicit Intents
	Section 147.2: Implicit Intents
Chapter 148: Publish to Play Store
	Section 148.1: Minimal app submission guide
Chapter 149: Universal Image Loader
	Section 149.1: Basic usage
	Section 149.2: Initialize Universal Image Loader
Chapter 150: Image Compression
	Section 150.1: How to compress image without size change
Chapter 151: 9-Patch Images
	Section 151.1: Basic rounded corners
	Section 151.2: Optional padding lines
	Section 151.3: Basic spinner
Chapter 152: Email Validation
	Section 152.1: Email address validation
	Section 152.2: Email Address validation with using Patterns
Chapter 153: Bottom Sheets
	Section 153.1: Quick Setup
	Section 153.2: BottomSheetBehavior like Google maps
	Section 153.3: Modal bottom sheets with BottomSheetDialog
	Section 153.4: Modal bottom sheets with BottomSheetDialogFragment
	Section 153.5: Persistent Bottom Sheets
	Section 153.6: Open BottomSheet DialogFragment in Expanded mode by default
Chapter 154: EditText
	Section 154.1: Working with EditTexts
	Section 154.2: Customizing the InputType
	Section 154.3: Icon or button inside Custom Edit Text and its action and click listeners
	Section 154.4: Hiding SoftKeyboard
	Section 154.5: `inputype` attribute
Chapter 155: Speech to Text Conversion
	Section 155.1: Speech to Text With Default Google Prompt Dialog
	Section 155.2: Speech to Text without Dialog
Chapter 156: Installing apps with ADB
	Section 156.1: Uninstall an app
	Section 156.2: Install all apk file in directory
	Section 156.3: Install an app
Chapter 157: Count Down Timer
	Section 157.1: Creating a simple countdown timer
	Section 157.2: A More Complex Example
Chapter 158: Barcode and QR code reading
	Section 158.1: Using QRCodeReaderView (based on Zxing)
Chapter 159: Android PayPal Gateway Integration
	Section 159.1: Setup PayPal in your android code
Chapter 160: Drawables
	Section 160.1: Custom Drawable
	Section 160.2: Tint a drawable
	Section 160.3: Circular View
	Section 160.4: Make View with rounded corners
Chapter 161: TransitionDrawable
	Section 161.1: Animate views background color (switch-color) with TransitionDrawable
	Section 161.2: Add transition or Cross-fade between two images
Chapter 162: Vector Drawables
	Section 162.1: Importing SVG file as VectorDrawable
	Section 162.2: VectorDrawable Usage Example
	Section 162.3: VectorDrawable xml example
Chapter 163: VectorDrawable and AnimatedVectorDrawable
	Section 163.1: Basic VectorDrawable
	Section 163.2:  tags
	Section 163.3: Basic AnimatedVectorDrawable
	Section 163.4: Using Strokes
	Section 163.5: Using 
	Section 163.6: Vector compatibility through AppCompat
Chapter 164: Port Mapping using Cling library in Android
	Section 164.1: Mapping a NAT port
	Section 164.2: Adding Cling Support to your Android Project
Chapter 165: Creating Overlay (always-on-top) Windows
	Section 165.1: Popup overlay
	Section 165.2: Granting SYSTEM_ALERT_WINDOW Permission on android 6.0 and above
Chapter 166: ExoPlayer
	Section 166.1: Add ExoPlayer to the project
	Section 166.2: Using ExoPlayer
	Section 166.3: Main steps to play video & audio using the standard TrackRenderer implementations
Chapter 167: XMPP register login and chat simple example
	Section 167.1: XMPP register login and chat basic example
Chapter 168: Android Authenticator
	Section 168.1: Basic Account Authenticator Service
Chapter 169: AudioManager
	Section 169.1: Requesting Transient Audio Focus
	Section 169.2: Requesting Audio Focus
Chapter 170: AudioTrack
	Section 170.1: Generate tone of a specific frequency
Chapter 171: Job Scheduling
	Section 171.1: Basic usage
Chapter 172: Accounts and AccountManager
	Section 172.1: Understanding custom accounts/authentication
Chapter 173: Integrate OpenCV into Android Studio
	Section 173.1: Instructions
Chapter 174: MVVM (Architecture)
	Section 174.1: MVVM Example using DataBinding Library
Chapter 175: ORMLite in android
	Section 175.1: Android OrmLite over SQLite example
Chapter 176: Retrofit2 with RxJava
	Section 176.1: Retrofit2 with RxJava
	Section 176.2: Nested requests example: multiple requests, combine results
	Section 176.3: Retrofit with RxJava to fetch data asyncronously
Chapter 177: ShortcutManager
	Section 177.1: Dynamic Launcher Shortcuts
Chapter 178: LruCache
	Section 178.1: Adding a Bitmap(Resource) to the cache
	Section 178.2: Initialising the cache
	Section 178.3: Getting a Bitmap(Resouce) from the cache
Chapter 179: Jenkins CI setup for Android Projects
	Section 179.1: Step by step approach to set up Jenkins for Android
Chapter 180: fastlane
	Section 180.1: Fastfile lane to build and install all flavors for given build type to a device
	Section 180.2: Fastfile to build and upload multiple flavors to Beta by Crashlytics
Chapter 181: Define step value (increment) for custom RangeSeekBar
	Section 181.1: Define a step value of 7
Chapter 182: Getting started with OpenGL ES 2.0+
	Section 182.1: Setting up GLSurfaceView and OpenGL ES 2.0+
	Section 182.2: Compiling and Linking GLSL-ES Shaders from asset file
Chapter 183: Check Data Connection
	Section 183.1: Check data connection
	Section 183.2: Check connection using ConnectivityManager
	Section 183.3: Use network intents to perform tasks while data is allowed
Chapter 184: Java on Android
	Section 184.1: Java 8 features subset with Retrolambda
Chapter 185: Android Java Native Interface (JNI)
	Section 185.1: How to call functions in a native library via the JNI interface
	Section 185.2: How to call a Java method from native code
	Section 185.3: Utility method in JNI layer
Chapter 186: Notification Channel Android O
	Section 186.1: Notification Channel
Chapter 187: Robolectric
	Section 187.1: Robolectric test
	Section 187.2: Configuration
Chapter 188: Moshi
	Section 188.1: JSON into Java
	Section 188.2: serialize Java objects as JSON
	Section 188.3: Built in Type Adapters
Chapter 189: Strict Mode Policy : A tool to catch the bug in the Compile Time.
	Section 189.1: The below Code Snippet is to setup the StrictMode for Thread Policies. This Code is to be set at the entry points to our application
	Section 189.2: The below code deals with leaks of memory, like it detects when in SQLLite finalize is called or not
Chapter 190: Internationalization and localization (I18N and L10N)
	Section 190.1: Planning for localization : enable RTL support in Manifest
	Section 190.2: Planning for localization : Add RTL support in Layouts
	Section 190.3: Planning for localization : Test layouts for RTL
	Section 190.4: Coding for Localization : Creating default strings and resources
	Section 190.5: Coding for localization : Providing alternative strings
	Section 190.6: Coding for localization : Providing alternate layouts
Chapter 191: Fast way to setup Retrolambda on an android project.
	Section 191.1: Setup and example how to use:
Chapter 192: How to use SparseArray
	Section 192.1: Basic example using SparseArray
Chapter 193: Shared Element Transitions
	Section 193.1: Shared Element Transition between two Fragments
Chapter 194: Android Things
	Section 194.1: Controlling a Servo Motor
Chapter 195: Library Dagger 2: Dependency Injection in Applications
	Section 195.1: Create @Module Class and @Singleton annotation for Object
	Section 195.2: Request Dependencies in Dependent Objects
	Section 195.3: Connecting @Modules with @Inject
	Section 195.4: Using @Component Interface to Obtain Objects
Chapter 196: JCodec
	Section 196.1: Getting Started
	Section 196.2: Getting frame from movie
Chapter 197: Formatting phone numbers with pattern.
	Section 197.1: Patterns + 1 (786) 1234 5678
Chapter 198: Paint
	Section 198.1: Creating a Paint
	Section 198.2: Setting up Paint for text
	Section 198.3: Setting up Paint for drawing shapes
	Section 198.4: Setting flags
Chapter 199: What is ProGuard? What is use in Android?
	Section 199.1: Shrink your code and resources with proguard
Chapter 200: Create Android Custom ROMs
	Section 200.1: Making Your Machine Ready for Building!
Chapter 201: Genymotion for android
	Section 201.1: Installing Genymotion, the free version
	Section 201.2: Google framework on Genymotion
Chapter 202: ConstraintSet
	Section 202.1: ConstraintSet with ContraintLayout Programmatically
Chapter 203: CleverTap
	Section 203.1: Setting the debug level
	Section 203.2: Get an instance of the SDK to record events
Chapter 204: Publish a library to Maven Repositories
	Section 204.1: Publish .aar file to Maven
Chapter 205: adb shell
	Section 205.1: Granting & revoking API 23+ permissions
	Section 205.2: Send text, key pressed and touch events to Android Device via ADB
	Section 205.3: List packages
	Section 205.4: Recording the display
	Section 205.5: Open Developer Options
	Section 205.6: Set Date/Time via adb
	Section 205.7: Generating a "Boot Complete" broadcast
	Section 205.8: Print application data
	Section 205.9: Changing file permissions using chmod command
	Section 205.10: View external/secondary storage content
	Section 205.11: kill a process inside an Android device
Chapter 206: Ping ICMP
	Section 206.1: Performs a single Ping
Chapter 207: AIDL
	Section 207.1: AIDL Service
Chapter 208: Android game development
	Section 208.1: Game using Canvas and SurfaceView
Chapter 209: Android programming with Kotlin
	Section 209.1: Installing the Kotlin plugin
	Section 209.2: Configuring an existing Gradle project with Kotlin
	Section 209.3: Creating a new Kotlin Activity
	Section 209.4: Converting existing Java code to Kotlin
	Section 209.5: Starting a new Activity
Chapter 210: Android-x86 in VirtualBox
	Section 210.1: Virtual hard drive Setup for SDCARD Support
	Section 210.2: Installation in partition
	Section 210.3: Virtual Machine setup
Chapter 211: Leakcanary
	Section 211.1: Implementing a Leak Canary in Android Application
Chapter 212: Okio
	Section 212.1: Download / Implement
	Section 212.2: PNG decoder
	Section 212.3: ByteStrings and Buers
Chapter 213: Bluetooth Low Energy
	Section 213.1: Finding BLE Devices
	Section 213.2: Connecting to a GATT Server
	Section 213.3: Writing and Reading from Characteristics
	Section 213.4: Subscribing to Notifications from the Gatt Server
	Section 213.5: Advertising a BLE Device
	Section 213.6: Using a Gatt Server
Chapter 214: Looper
	Section 214.1: Create a simple LooperThread
	Section 214.2: Run a loop with a HandlerThread
Chapter 215: Annotation Processor
	Section 215.1: @NonNull Annotation
	Section 215.2: Types of Annotations
	Section 215.3: Creating and Using Custom Annotations
Chapter 216: SyncAdapter with periodically do sync of data
	Section 216.1: Sync adapter with every min requesting value from server
Chapter 217: Fastjson
	Section 217.1: Parsing JSON with Fastjson
	Section 217.2: Convert the data of type Map to JSON String
Chapter 218: JSON in Android with org.json
	Section 218.1: Creating a simple JSON object
	Section 218.2: Create a JSON String with null value
	Section 218.3: Add JSONArray to JSONObject
	Section 218.4: Parse simple JSON object
	Section 218.5: Check for the existence of fields on JSON
	Section 218.6: Create nested JSON object
	Section 218.7: Updating the elements in the JSON
	Section 218.8: Using JsonReader to read JSON from a stream
	Section 218.9: Working with null-string when parsing json
	Section 218.10: Handling dynamic key for JSON response
Chapter 219: Gson
	Section 219.1: Parsing JSON with Gson
	Section 219.2: Adding a custom Converter to Gson
	Section 219.3: Parsing a List with Gson
	Section 219.4: Adding Gson to your project
	Section 219.5: Parsing JSON to Generic Class Object with Gson
	Section 219.6: Using Gson with inheritance
	Section 219.7: Parsing JSON property to enum with Gson
	Section 219.8: Using Gson to load a JSON file from disk
	Section 219.9: Using Gson as serializer with Retrofit
	Section 219.10: Parsing json array to generic class using Gson
	Section 219.11: Custom JSON Deserializer using Gson
	Section 219.12: JSON Serialization/Deserialization with AutoValue and Gson
Chapter 220: Android Architecture Components
	Section 220.1: Using Lifecycle in AppCompatActivity
	Section 220.2: Add Architecture Components
	Section 220.3: ViewModel with LiveData transformations
	Section 220.4: Room peristence
	Section 220.5: Custom LiveData
	Section 220.6: Custom Lifecycle-aware component
Chapter 221: Jackson
	Section 221.1: Full Data Binding Example
Chapter 222: Smartcard
	Section 222.1: Smart card send and receive
Chapter 223: Security
	Section 223.1: Verifying App Signature - Tamper Detection
Chapter 224: How to store passwords securely
	Section 224.1: Using AES for salted password encryption
Chapter 225: Secure SharedPreferences
	Section 225.1: Securing a Shared Preference
Chapter 226: Secure SharedPreferences
	Section 226.1: Securing a Shared Preference
Chapter 227: SQLite
	Section 227.1: onUpgrade() method
	Section 227.2: Reading data from a Cursor
	Section 227.3: Using the SQLiteOpenHelper class
	Section 227.4: Insert data into database
	Section 227.5: Bulk insert
	Section 227.6: Create a Contract, Helper and Provider for SQLite in Android
	Section 227.7: Delete row(s) from the table
	Section 227.8: Updating a row in a table
	Section 227.9: Performing a Transaction
	Section 227.10: Create Database from assets folder
	Section 227.11: Store image into SQLite
	Section 227.12: Exporting and importing a database
Chapter 228: Accessing SQLite databases using the ContentValues class
	Section 228.1: Inserting and updating rows in a SQLite database
Chapter 229: Firebase
	Section 229.1: Add Firebase to Your Android Project
	Section 229.2: Updating a Firebase users's email
	Section 229.3: Create a Firebase user
	Section 229.4: Change Password
	Section 229.5: Firebase Cloud Messaging
	Section 229.6: Firebase Storage Operations
	Section 229.7: Firebase Realtime Database: how to set/get data
	Section 229.8: Demo of FCM based notifications
	Section 229.9: Sign In Firebase user with email and password
	Section 229.10: Send Firebase password reset email
	Section 229.11: Re-Authenticate Firebase user
	Section 229.12: Firebase Sign Out
Chapter 230: Firebase Cloud Messaging
	Section 230.1: Set Up a Firebase Cloud Messaging Client App on Android
	Section 230.2: Receive Messages
	Section 230.3: This code that i have implemnted in my app for pushing image,message and also link for opening in your webView
	Section 230.4: Registration token
	Section 230.5: Subscribe to a topic
Chapter 231: Firebase Realtime DataBase
	Section 231.1: Quick setup
	Section 231.2: Firebase Realtime DataBase event handler
	Section 231.3: Understanding firebase JSON database
	Section 231.4: Retrieving data from firebase
	Section 231.5: Listening for child updates
	Section 231.6: Retrieving data with pagination
	Section 231.7: Denormalization: Flat Database Structure
	Section 231.8: Designing and understanding how to retrieve realtime data from the Firebase Database
Chapter 232: Firebase App Indexing
	Section 232.1: Supporting Http URLs
	Section 232.2: Add AppIndexing API
Chapter 233: Firebase Crash Reporting
	Section 233.1: How to report an error
	Section 233.2: How to add Firebase Crash Reporting to your app
Chapter 234: Twitter APIs
	Section 234.1: Creating login with twitter button and attach a callback to it
Chapter 235: Youtube-API
	Section 235.1: Activity extending YouTubeBaseActivity
	Section 235.2: Consuming YouTube Data API on Android
	Section 235.3: Launching StandAlonePlayerActivity
	Section 235.4: YoutubePlayerFragment in portrait Activty
	Section 235.5: YouTube Player API
Chapter 236: Integrate Google Sign In
	Section 236.1: Google Sign In with Helper class
Chapter 237: Google signin integration on android
	Section 237.1: Integration of google Auth in your project. (Get a configuration file)
	Section 237.2: Code Implementation Google SignIn
Chapter 238: Google Awareness APIs
	Section 238.1: Get changes for location within a certain range using Fence API
	Section 238.2: Get current location using Snapshot API
	Section 238.3: Get changes in user activity with Fence API
	Section 238.4: Get current user activity using Snapshot API
	Section 238.5: Get headphone state with Snapshot API
	Section 238.6: Get nearby places using Snapshot API
	Section 238.7: Get current weather using Snapshot API
Chapter 239: Google Maps API v2 for Android
	Section 239.1: Custom Google Map Styles
	Section 239.2: Default Google Map Activity
	Section 239.3: Show Current Location in a Google Map
	Section 239.4: Change Oset
	Section 239.5: MapView: embedding a GoogleMap in an existing layout
	Section 239.6: Get debug SHA1 fingerprint
	Section 239.7: Adding markers to a map
	Section 239.8: UISettings
	Section 239.9: InfoWindow Click Listener
	Section 239.10: Obtaining the SH1-Fingerprint of your certificate keystore file
	Section 239.11: Do not launch Google Maps when the map is clicked (lite mode)
Chapter 240: Google Drive API
	Section 240.1: Integrate Google Drive in Android
	Section 240.2: Create a File on Google Drive
Chapter 241: Displaying Google Ads
	Section 241.1: Adding Interstitial Ad
	Section 241.2: Basic Ad Setup
Chapter 242: AdMob
	Section 242.1: Implementing
Chapter 243: Google Play Store
	Section 243.1: Open Google Play Store Listing for your app
	Section 243.2: Open Google Play Store with the list of all applications from your publisher account
Chapter 244: Sign your Android App for Release
	Section 244.1: Sign your App
	Section 244.2: Configure the build.gradle with signing configuration
Chapter 245: TensorFlow
	Section 245.1: How to use
Chapter 246: Android Vk Sdk
	Section 246.1: Initialization and login
Chapter 247: Project SDK versions
	Section 247.1: Defining project SDK versions
Chapter 248: Facebook SDK for Android
	Section 248.1: How to add Facebook Login in Android
	Section 248.2: Create your own custom button for Facebook login
	Section 248.3: A minimalistic guide to Facebook login/signup implementation
	Section 248.4: Setting permissions to access data from the Facebook profile
	Section 248.5: Logging out of Facebook
Chapter 249: Thread
	Section 249.1: Thread Example with its description
	Section 249.2: Updating the UI from a Background Thread
Chapter 250: AsyncTask
	Section 250.1: Basic Usage
	Section 250.2: Pass Activity as WeakReference to avoid memory leaks
	Section 250.3: Download Image using AsyncTask in Android
	Section 250.4: Canceling AsyncTask
	Section 250.5: AsyncTask: Serial Execution and Parallel Execution of Task
	Section 250.6: Order of execution
	Section 250.7: Publishing progress
Chapter 251: Testing UI with Espresso
	Section 251.1: Overall Espresso
	Section 251.2: Espresso simple UI test
	Section 251.3: Open Close DrawerLayout
	Section 251.4: Set Up Espresso
	Section 251.5: Performing an action on a view
	Section 251.6: Finding a view with onView
	Section 251.7: Create Espresso Test Class
	Section 251.8: Up Navigation
	Section 251.9: Group a collection of test classes in a test suite
	Section 251.10: Espresso custom matchers
Chapter 252: Writing UI tests - Android
	Section 252.1: MockWebServer example
	Section 252.2: IdlingResource
Chapter 253: Unit testing in Android with JUnit
	Section 253.1: Moving Business Logic Out of Android Componenets
	Section 253.2: Creating Local unit tests
	Section 253.3: Getting started with JUnit
	Section 253.4: Exceptions
	Section 253.5: Static import
Chapter 254: Inter-app UI testing with UIAutomator
	Section 254.1: Prepare your project and write the first UIAutomator test
	Section 254.2: Writing more complex tests using the UIAutomatorViewer
	Section 254.3: Creating a test suite of UIAutomator tests
Chapter 255: Lint Warnings
	Section 255.1: Using tools:ignore in xml files
	Section 255.2: Configure LintOptions with gradle
	Section 255.3: Configuring lint checking in Java and XML source files
	Section 255.4: How to configure the lint.xml file
	Section 255.5: Mark Suppress Warnings
	Section 255.6: Importing resources without "Deprecated" error
Chapter 256: Performance Optimization
	Section 256.1: Save View lookups with the ViewHolder pattern
Chapter 257: Android Kernel Optimization
	Section 257.1: Low RAM Configuration
	Section 257.2: How to add a CPU Governor
	Section 257.3: I/O Schedulers
Chapter 258: Memory Leaks
	Section 258.1: Avoid leaking Activities with AsyncTask
	Section 258.2: Common memory leaks and how to fix them
	Section 258.3: Detect memory leaks with the LeakCanary library
	Section 258.4: Anonymous callback in activities
	Section 258.5: Activity Context in static classes
	Section 258.6: Avoid leaking Activities with Listeners
	Section 258.7: Avoid memory leaks with Anonymous Class, Handler, Timer Task, Thread
Chapter 259: Enhancing Android Performance Using Icon Fonts
	Section 259.1: How to integrate Icon fonts
	Section 259.2: TabLayout with icon fonts
Chapter 260: Bitmap Cache
	Section 260.1: Bitmap Cache Using LRU Cache
Chapter 261: Loading Bitmaps Eectively
	Section 261.1: Load the Image from Resource from Android Device. Using Intents
Chapter 262: Exceptions
	Section 262.1: ActivityNotFoundException
	Section 262.2: OutOfMemoryError
	Section 262.3: Registering own Handler for unexpected exceptions
	Section 262.4: UncaughtException
	Section 262.5: NetworkOnMainThreadException
	Section 262.6: DexException
Chapter 263: Logging and using Logcat
	Section 263.1: Filtering the logcat output
	Section 263.2: Logging
	Section 263.3: Using the Logcat
	Section 263.4: Log with link to source directly from Logcat
	Section 263.5: Clear logs
	Section 263.6: Android Studio usage
	Section 263.7: Generating Logging code
Chapter 264: ADB (Android Debug Bridge)
	Section 264.1: Connect ADB to a device via WiFi
	Section 264.2: Direct ADB command to specific device in a multi-device setting
	Section 264.3: Taking a screenshot and video (for kitkat only) from a device display
	Section 264.4: Pull (push) files from (to) the device
	Section 264.5: Print verbose list of connected devices
	Section 264.6: View logcat
	Section 264.7: View and pull cache files of an app
	Section 264.8: Clear application data
	Section 264.9: View an app's internal data (data/data/) on a device
	Section 264.10: Install and run an application
	Section 264.11: Sending broadcast
	Section 264.12: Backup
	Section 264.13: View available devices
	Section 264.14: Connect device by IP
	Section 264.15: Install ADB on Linux system
	Section 264.16: View activity stack
	Section 264.17: Reboot device
	Section 264.18: Read device information
	Section 264.19: List all permissions that require runtime grant from users on Android 6.0
	Section 264.20: Turn on/o Wifi
	Section 264.21: Start/stop adb
Chapter 265: Localization with resources in Android
	Section 265.1: Configuration types and qualifier names for each folder under the "res" directory
	Section 265.2: Adding translation to your Android app
	Section 265.3: Type of resource directories under the "res" folder
	Section 265.4: Change locale of android application programmatically
	Section 265.5: Currency
Chapter 266: Convert vietnamese string to english string Android
	Section 266.1: example:
	Section 266.2: Chuyển chuỗi Tiếng Việt thành chuỗi không dấu
Credits
You may also like




نظرات کاربران