这门课解决什么问题

很多初学 Android 的人看完基础语法后,往往卡在“能写界面却做不出完整应用”的阶段。这门黑马外卖实操项目针对的正是这种断层:它不教你基础变量和控件,而是带你从零搭建一个类似“饿了么”的外卖应用。核心是解决从单页面 Demo 到多模块协同工程的结构跨越。课程前段重点处理团队协作与架构设计,包括用 Git 管理代码、处理冲突,以及从 MVC 迁移到 MVP 架构。你会看到真实业务里如何降低代码耦合度,而不是把所有逻辑塞进 Activity。如果你一直困惑复杂应用怎么分层、网络请求和数据缓存怎么统一管理,这套项目能给出直接可参考的工程答案。

适合什么基础与建议先看的模块

这并非零基础入门课,要求你已掌握 Java 基本语法、熟悉 Android 常用控件与生命周期。建议拿到资料后先看授课大纲理清业务脉络,接着重点研究 MVP 结构搭建与 Dagger2 依赖注入部分。很多人写代码习惯直接 new 对象,导致后期改不动,Dagger2 这几节虽然理解门槛高,但讲清了组件解耦原理。随后看 Retrofit 与 OrmLite 的整合,搞懂网络数据拉取后如何入库缓存。这几块是外卖应用骨架,搞透它们,后续写具体业务页面时阻力会小很多。

学完能做什么及资料配合方法

学完后你应能独立完成一个具备网络请求、数据持久化、清晰架构分层的 Android 商业级应用。不仅是外卖业务,这套架构思路可直接复用到电商、资讯或社交类应用开发中。配合资料练习时,切忌只看视频不动手。建议先跟着搭建本地 Git 仓库,自己模拟产生冲突并解决,体会团队协作流程。在引入 Dagger2 和 Retrofit 时,务必逐行敲代码,遇到报错先查依赖配置再看视频排查。每完成一个模块就提交一次代码,按真实项目标准管理本地库。不要急于把所有界面写完,先把首页框架与网络请求跑通,再逐步填充其他功能。只有把资料里的架构思路转化为自己可运行的代码,才算真正掌握这门课。


能够独立完成一个 Android 项目是检验 Android 开发人员是否有丰富经验的标准。本课程带领学习者从0开始完成“饿了么”这种外卖类型项目中的各个模块,

课程目录

*   第一章 黑马外卖/

  *   外卖-MVP结构搭建/

    *   001_授课大纲

    *   002_搭建GIT服务器

    *   003_安装和使用客户端_关联服务器与本地库仓库

    *   004_使用客户端_提交与更新代码

    *   005_使用客户端_产生和解决冲突

    *   006_从MVC到MVP

    *   007_降低耦合度的方式方法

    *   008_Dagger2简介和引入

    *   009_使用Dagger2的步骤

    *   010_深入解析Dagger2原理

    *   011_分析项目的整体结构

    *   012_整合ButterKnifer

    *   013_Retrofit简介和引入

    *   014_使用Retrofit的步骤

    *   015_参数替换原则

    *   016_整合OrmLite_创建数据库和表

    *   017_使用Ormlite进行关联关系查询

    *   022_划分项目结构

    *   023_创建包结构

    *   024_抽取业务层联网代码

    *   025_集成业务层数据库代码

    *   026_分析项目效果

  *   外卖-首页功能实现/

    *   027_处理首页Tab

    *   028_Selector自动生成工具

    *   029_切换Fragment

    *   030_分析HomeFragment布局

    *   031_实现头部侵入到状态栏中

    *   032_处理头部透明度渐变

    *   033_分析首页RecyclerView显示

    *   034_获取首页数据

    *   035_隔离首页的业务处理

    *   036_解析首页数据

    *   037_展示首页商家列表

    *   038_展示首页头条

    *   039_抽取网络代码

  *   外卖-商家界面功能实现/

    *   040_打开商家界面

    *   041_处理Toolbar

    *   042_整合TabLayout与ViewPager

    *   043_使用StickyListHeaders

    *   044_分析联动功能

    *   045_点击左侧容器修改分组列表

    *   046_滚动分组列表刷新容器

    *   047_处理左侧条目显示问题

    *   048_替换模拟数据为服务器端数据

    *   049_替换商品分类列表条目

    *   050_替换商品列表条目

    *   051_实现添加和减少商品动画

    *   052_管理购物车

  *   外卖-商家&购物车&账户中心功能实现/

    *   053_实现商品添加到购物车动画

    *   054_处理购物车气泡

    *   055_展示购物车界面

    *   056_处理购物车显示问题一

    *   057_处理购物车显示问题二

    *   058_登陆入口

    *   059_常见用户登录处理方式

    *   060_短信验证平台使用步骤

    *   061_展示用户信息及分析登陆界面功能

    *   062_获取验证码

    *   063_校验验证码

    *   064_完成登陆业务

    *   065_持久化用户数据到数据库

    *   066_事务管理

  *   外卖-账户中心&结算中心&地址管理/

    *   067_结算中心功能列表

    *   068_处理数据展示

    *   069_完整的地址功能

    *   070_地址列表界面功能列表

    *   071_加载地址列表

    *   072_地址编辑界面功能列表

    *   073_简化地址业务注入的操作

    *   074_添加地址

    *   075_界面问题修复

    *   076_修改地址

    *   077_删除地址

    *   078_修复仅能增加一条地址记录的问题

    *   079_显示结算中心地址

  *   外卖-支付订单管理/

    *   080_创建订单业务类

    *   081_改造Dagger2代码

    *   082_提交订单

    *   083_获取订单的支付信息

    *   084_展示订单支付界面数据

    *   085_支付宝简介_下载sdk_运行demo

    *   086_支付宝支付的流程

    *   087_app集成支付模块

  *   外卖-地图和订单管理/

    *   088_高德地图介绍

    *   089_查看Demo定位代码

    *   090_处理定位

    *   091_查看Demo周边搜索代码

    *   092_实现周边搜索列表

    *   093_添加新增地址中定位功能

    *   094_保存新增地址坐标入库

    *   095_自动匹配默认地址

    *   096_处理界面适配问题

    *   100_展示订单详情界面

    *   101_管理订单状态

    *   102_处理服务器推送的订单数据

    *   103_利用观察者传递订单数据

    *   104_更新订单列表数据

    *   105_修改订单详情界面数据展示

    *   097_处理订单界面功能

    *   098_处理订单界面

    *   099_展示订单列表

    *   106_分析订单配送功能

    *   107_推送订单详情界面更新数据

    *   108_地图展示买卖双方

    *   109_地图展示骑手位置

    *   110_地图更新骑手位置

  *   外卖-数据统计/

    *   111_项目开发善后工作

    *   112_友盟统计——常用功能

    *   113_自定义事件

  *   外卖-apk瘦身&多渠道打包&apk加固&增量更新/

    *   114_代码混淆

    *   115_删除无用资源

    *   116_删除无用的语言文件

    *   117_图片压缩

    *   118_png图片转换成jpg图片

    *   119_其他压缩方式

    *   120_为什么进行多渠道打包

    *   121_多渠道打包操作

    *   122_apk加固

    *   123_服务器升级包生成

    *   124_手机端合成新版本APK

    *   125_定义native方法

    *   126_生成x86的so文件

    *   127_利用so文件完成手机段APK合成工作