GithubHelp home page GithubHelp logo

androidarchitecture's Introduction

初级

开发环境

  • Android Studio安装与配置
  • Android Studio使用技巧
  • 比真机还快的模拟器-Genymotion
  • Gradle学习
  • 了解android应用程序的结构
  • 常见问题集

基础UI

  • resources资源介绍
    • anim
    • Selector
    • Styles&Themes
    • raw
    • menu
    • 9-Patches
    • dp&sp&px
    • Gravity&layout_gravity
    • Margin&padding
  • 常用的基础布局
  • 常用的基础控件
  • 高级控件ListView,GridView
  • 常见问题集
  • 使用场景与案例

四大组件

  • Activity(活动)

    • 生命周期
    • 任务栈
    • Activity的启动模式
    • Intent和Intent-Filter
    • 转移到AppCompat库(AppCompatActivity)
    • 管理与技巧
    • 你所需要知道的Context细节
    • 常见问题集
    • 使用场景与案例
  • Content Provider(内容提供者)

    • 访问其他程序的数据(系统和三方的)
    • 创建自己的Content Provider
    • Content Provider和Sqlite存储方式的对比
    • 常见问题集
    • 使用场景与案例
  • Service(服务)

    • 基础使用
    • 生命周期
    • 与Activity的通信
    • 前台Service和IntentService
    • Android多线程编程
    • Handler机制
    • AIDL的介绍
    • 常见问题集
    • 使用场景与案例
  • BroadcastReceiver(广播通知者)

    • 广播的分类和注册方式
    • 本地广播机制
    • 常见问题集
    • 使用场景与案例

数据存储

  • SharedPreference
  • 文件
  • sqlite
  • 使用场景与案例
  • 阶段案例:模拟QQ登陆

Fragment(碎片)的使用

  • Fragment的简单使用
  • Fragment的使用方式
  • Fragment的生命周期
  • Fragment和Activity的对比
  • FragmentTransaction
  • Fragment Backstack
  • 嵌套Fragment
  • Fragment和Activity的通信
  • Fragment和Fragment的通信
  • EventBus简介
  • otto简介
  • 使用场景与案例

网络相关

  • Android网络访问
  • 基础网络协议
  • 发送网络请求
  • WebView的使用
  • Android系统在网络请求api上的变更
  • Socket的使用
  • 发送网络请求,展示图片
  • Gson的使用
  • Json的解析
  • AsyncTask的使用
  • 如何处理请求中ProgressBar的变化(屏幕旋转以及其他因素)
  • OkHttp的使用
  • AysncHttpClient的使用
  • Picasso的使用
  • Volley的使用
  • Fresco的使用
  • Retrofit的使用
  • Native与H5交互
  • 阶段案例:百度车联网提供的API做天气预报app
  • 阶段案例:百度车联网提供的API做上映电影查看app
  • 常见问题集
  • 使用场景与案例

多媒体

  • Android多媒体
  • 调用相机和相册
  • 音频和视频
  • 常见问题集
  • 使用场景与案例

动画

  • View动画
  • 属性动画
  • 常见问题集
  • 使用场景与案例

运行时权限

  • Runtime permissions

进阶

高级UI使用

  • 高级控件的使用
    • RecyclerView
    • CardView
    • ViewPager
    • SlidingTabLayout&TabLayout&ViewPagerIndicator
    • SmartTabLayout&PagerSlidingTabStrip
    • ActionBar和ToolBar
    • ViewDragHelper
  • SwipeRefreshLayout的使用
  • Design Support Library库的使用
  • 图表引擎的使用
  • view的事件体系
    • view的滑动
    • view的分发机制
    • 常见问题集
    • 使用场景与案例
  • view的工作原理
  • 自定义view
    • 继承view
    • 继承ViewGroup
    • 组合控件
    • 使用场景与案例
  • UI Hierarchy( Hierarchy Viewer使用)
  • 常见问题集
  • 使用场景与案例

数据库框架

  • realm
  • ormlite
  • greendao

网络请求封装和源码分析(含对比)

  • AsyncHttpClient
  • Volley
  • okhttp
  • retrofit

图片缓存开源库及其封装(含对比)

  • Picasso
  • glide
  • fresco

组件通信

  • otto
  • EventBus

依赖注入

  • dagger
  • ButterKnife
  • RoboGuice

三方SDK集成

  • 支付平台以及支付SDK使用
  • 国内主流地图框架介绍以及使用
  • 三方推送平台
  • 三方分享平台
  • 三方统计平台
  • 语音SDK的使用
  • 云端数据(Bmob,leancloud的使用)

内存优化

  • Dalvik和ART虚拟机的区别
  • Android Studio提供的Memory Monitor
  • Allocation Tracking(DDMS)
  • Heap Tool与MAT
  • LeakCanary
  • ANR监测(工具编写)
  • Material Design
  • Bitmap关于OOM的处理
  • 适配
  • 插件式开发
  • 蓝牙开发
  • 硬件加速解决方案
  • 手势控制
  • 传感器
  • 项目重构
  • mvp+dagger2+rxjava+retrofit

RxJava

NDK开发

  • NDK使用场景
  • NDK开发

打包、更新

  • 线上热修复
  • 增量升级
  • 多渠道打包
  • 自动化打包

一个App的诞生之路

  • 引导页、启动页
  • 登录、注册
  • 主界面搭建
  • ...

综合

商城客户端/新闻客户端/微博客户端...

参考:

androidarchitecture's People

Contributors

leerduo avatar xuwj avatar

Watchers

James Cloos avatar  avatar

Forkers

xuwj

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.