دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: GoalKicker.com
سری:
ناشر: GoalKicker.com
سال نشر: 2018
تعداد صفحات: [1329]
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 12 Mb
در صورت تبدیل فایل کتاب 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 dierent Textsize Section 4.7: Theme and Style customization Section 4.8: TextView customization Section 4.9: Single TextView with two dierent 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: ItemOsetDecoration 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 Dierent Resolutions, Sizes Section 31.1: Using configuration qualifiers Section 31.2: Converting dp and sp to pixels Section 31.3: Text size and dierent 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: Dierent 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 dierent 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 dierent 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 Dierent 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 dierent 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 Buer 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 PorterDuXfermode 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 oine 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: Ecient 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 Buers 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 Oset 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 Eectively 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