这门课解决什么问题
很多初学 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合成工作






