• Android Programming Journey
  • Intro
  • Introduction
  • Core Android
  • Activities
    • What is the difference between a fragment and an activity?
    • What is the Don’t Keep Activities developer option and why is it useful?
    • What are “launch modes”?
    • 通过 PreferenceFragmentCompat 构建 preference settings 的方法
    • 如何使用Android UI Fragment开发“列表-详情”界面?
    • 如何更新及替换ViewPager中的Fragment?
    • Fragment子类必须包含一个public无参构造器
    • 如何获取FragmentTabHost中指定标签页的Fragment?
    • 「译」向Big Nerd Ranch提问:为什么Fragment在Android App开发中非常重要?
    • Android Jetpack: how to smartly use Fragments in your UI (Google I/O '18)
  • Animations & Transitions
    • ViewPager 切换视差效果 Parallax Effect
    • 使用SDK定义的系统默认动画时间参数
    • Change all the activity transitions at once in Android App
    • Ripple effect for ImageView in RecyclerView
    • 如何学习 Android Animation?
    • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
    • 「译」Android Animation in Honeycomb by Chet Haase(Android 3.0系统中的动画机制)
    • Android Animation Interpolator - Android 动画插值器源码笔记
    • 「译」Android ViewPropertyAnimator 介绍
  • App Data & Files
    • What is an Cursor?
    • What is a ContentProvider and what is it typically used for?
    • Repository : mediators between different data sources (persistent model, web service, cache)
    • LiveData : way to inform UI
    • Room: provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.
    • List-Detail 案例中对 DAO 和 Repository 的优化
    • Cloud Storage for Firebase
    • View the shared preferences file using Android Studio
    • Json Tutorial
    • Storage Tutorial
  • Architecture
    • Guide to App Architecture
    • Event sourcing, CQRS, stream processing and Apache Kafka: What’s the connection?
    • ViewModel: store and manage UI-related data in a lifecycle conscious way
    • Guava: Google Core Libraries for Java
    • Github Browser Sample with Android Architecture Components
    • MVP Learning Note
    • MVP: Follow the naming convention used in Google's sample
    • MVVM Learning Note
    • Dagger2 Learning Note
    • Dagger2: @Qualifier is used to distinguish between objects of the same type but with different instances
    • Dagger2: @Module为第三方库的构造函数提供注解
    • Dagger2: @Inject 和 @Component 用法
    • Why Dagger2 inject the same object but with 2 different instances?
    • The conception of Dependency Injection(DI)
    • 常见的三种依赖注入的方式:构造注入、接口注入、注解注入
    • MVVM Learning Note
    • Android Jetpack: what's new in Architecture Components (Google I/O '18)
  • Background Tasks
    • Android Servcie笔记
    • Android Message Handler消息处理机制总结笔记
    • What is the difference between Service and IntentService? How is each used?
    • What's handler?
    • What's HandlerThread?
    • Creating a Manager for Multiple Threads
    • Communicating with the UI Thread
    • Specifying the Code to Run on a Thread
    • What is the relationship between the life cycle of an AsyncTask and an Activity?
    • If Service accesses process some long-running options. what issue might you encounter and how could you address it?
    • How to process concurrent?
    • Difference between Android Service,Thread,IntentService and AsyncTask
    • What's AsyncTask? What's the difference between Thread and AsyncTask?
    • How to stop a task that is running?
    • Firebase JobDispatcher
    • Pauses the current thread for the specified number of seconds
    • Notification Tutorial
  • Network
    • Retrofit Tutorial
    • Picasso Tutorial
    • Android Socket Programming
    • How would you cache numerous large images from the net?
    • How do push notifications work? What is the basic concept behind them?
    • HTTP Status Codes
  • Rx
  • UI & Navigation
    • Supporting Multiple Screens
    • Create Custom View
    • Improve View layout performance
    • Support both landscape & portrait orientation for both phone & tablet?
    • ViewHolder pattern
    • In order for the Android system to restore the state of the views in your activity, each view must have a unique ID
    • What are Adapters and when and how are they used?
    • 事件分发机制一些问题TODO
    • Smart UI Dimensions for any Screen Size
    • Layout: icon & title align vertically
    • Layout: 用 Button 实现 Image & Text 的上下组合,点击时才会有整体的 ripple 水纹效果
    • ViewStub允许在运行时填充布局资源文件
    • 实现 Android 文本链接的 4 种方法
    • Clear UI Thread queue
    • Scroll to bottom of RecyclerView programmatically?
    • Get a context in a recycler view adapter
    • ImageView scaleType
    • Material Design for Android
    • Android New Navigation Framework
  • BLOG
    • 从远程FTP服务器下载文件到本地
    • 第一次开发iOS App和Android的对比总结笔记
    • Activity - Android编程权威指南笔记
    • Fragment - Android编程权威指南笔记
    • Android布局和组件 - Android编程权威指南笔记
    • SDK版本与兼容 - Android编程权威指南笔记
    • 使用ListFragment显示列表 - Android编程权威指南笔记
    • Android应用本地化 - Android编程权威指南笔记
    • 为Ubuntu14.04部署Android App的Eclipse开发环境
    • 一个Android音频文本同步的英文有声读物App的开发过程
    • 如何使用Android UI Fragment开发“列表-详情”界面?
    • 如何更新及替换ViewPager中的Fragment?
    • Fragment子类必须包含一个public无参构造器
    • 如何获取FragmentTabHost中指定标签页的Fragment?
    • Android Message Handler消息处理机制总结笔记
    • 如何在Android设备旋转时暂存数据以保护当前的交互状态?
    • Android Servcie笔记
    • 分类整理我在SegmentFault的回答
    • 「译」向Big Nerd Ranch提问:为什么Fragment在Android App开发中非常重要?
    • 如何实现 Android ListView「上拉加载更多」?
    • 如何学习 Android Animation?
    • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
    • 「译」Android Animation in Honeycomb by Chet Haase(Android 3.0系统中的动画机制)
    • Android Animation Interpolator - Android 动画插值器源码笔记
    • 「译」Android ViewPropertyAnimator 介绍
    • 使用 SpannableString 格式化字符串,实现前景色、下划线、超链接、图文混排等
    • 如何在 Android Studio 中包含 *.so library,并使用库中定义的方法?
    • Make a Reusable UI in Android App Development
    • Supporting Multiple Screens
    • Android Socket Programming
  • Android FAQ
    • Add extended data to the intent
    • Why can't just pass the object without Intent?
    • Why should I use Bundle if I can pass values to new Activity by putting it directly to Intent extras?
    • What is a “bundle” in an Android application?
    • What is the difference between Bundle Vs java.util collections like HashMap?
    • What is memory leak and how to avoid it?
    • What is View Group in Android?
    • What is AndroidManifest.xml used for?
    • How can two distinct Android apps interact?
    • What is NDK?
    • What is an ANR? What causes them and how can they be avoided?
    • What is an Intent? Describe three common use cases for using an Intent.
    • What is the difference between Serializable and Parcelable ? Which is best approach in Android?
    • Under what condition could the code sample below crash your application? How would you modify the code to avoid this potential problem?
    • Improve Your Code with Lint
    • The Vital Guide to Android Interviewing
    • 15 Essential Android Interview Questions
    • Interview Question of W Company
    • Name some exceptions in android?
  • Core Language
  • Java FAQ
    • What is the difference between method overloading and overriding?
    • What are the main 3 Object Oriented Programing (OOP) concepts?
    • What is the difference between procedural and object oriented programming?
    • Does the finally block gets executed if we insert a return statement inside the try block of a try-catch-finally?
    • What is the difference between Array and ArrayList in Java?
    • What is a singleton class and how to create one in Java?
    • What is anonymous class?
    • What is object serialization and how to implement it?
    • What is the difference between abstract class and interface? When to use what?
    • How do you properly override the equals() method?
    • What is the difference between final, finally and finalize?
  • Kotlin
  • Migrate from Java to Kotlin
    • Migrate Activity from Java to Kotlin
    • Migrate Fragment from Java to Kotlin
    • Migrate RecyclerView.ViewHolder from Java to Kotlin
    • Migrate RecyclerView.Adapter from Java to Kotlin
    • Migrate Application from Java to Kotlin
    • Migrate ViewModel from Java to Kotlin
    • Migrate model from Java class to Kotlin data class
    • Migrate Web Service API from Java to Kotlin
    • Migrate JsonDeserializer from Java to Kotlin
    • Migrate db class from Java to Kotlin
    • Null Safety
    • Static Functions
    • DI
  • Mobile Platforms
  • Google Maps
    • Associate data with a marker
  • Design & Dev Tools
  • Desgin
    • 透过Booking.com看产品差距
  • Tools
    • Markdown Tables Generator Online
    • APK Decompile Tool
    • Tamper Chrome is a Chrome extension that allows you to modify HTTP requests
    • Git and Jira workflow
    • Agile Project Management: How agile methodologies can work for your software team?
    • GitHub Workflow
    • Git Commands
    • Genymotion - virtualization engine not found plugin loading aborted
    • Chrome inspect devices
  • Tags
Powered by GitBook

Markdown Tables Generator Online

Markdown Tables Generator Online