- 详情
- 目录
- 咨询2
本阶段包含如下课程内容:
- Java语言基础
- Android应用层开发基础知识
- 应用层项目架构设计
- app性能优化
- Kotlin语言基础
- compose
- 项目实战
说明:
- 如果已经有Java基础,可以把Java过一遍
- 如果对java应用较为熟悉,做过java的案例、项目,可以跳过java部分
- Kotlin、compose不是必学内容,具体需要看你的规划和自我定位,如果不知道怎么规划,可以和老孙聊聊
第1章 Java语言基础
- 1.1什么是编程12分钟43秒
- 1.2搭建Java开发环境08分钟15秒
- 1.3IntelliJ IDEA的安装使用10分钟43秒
- 1.4HelloWorld12分钟57秒
- 1.5使用Scanner获取输入15分钟35秒
- 1.6变量14分钟31秒
- 1.7赋值与常量07分钟52秒
- 1.8浮点数10分钟22秒
- 1.9基本数据类型17分钟38秒
- 1.10运算符05分钟09秒
- 1.11关系运算符16分钟07秒
- 2.0控制语句-if06分钟04秒
- 2.1断点调试04分钟19秒
- 2.2 if的嵌套使用07分钟26秒
- 2.3 级联elseif语句08分钟18秒
- 2.4逻辑运算符10分钟31秒
- 2.5控制语句-switch10分钟05秒
- 3.0循环语句-while13分钟10秒
- 3.1使用while计数06分钟13秒
- 3.2循环语句-do while08分钟26秒
- 3.3循环语句-for20分钟04秒
- 3.4递增运算符的区别09分钟13秒
- 3.5使用for循环求素数116分钟20秒
- 3.6嵌套for循环07分钟11秒
- 4.0数组11分钟14秒
- 4.1数组的特性06分钟44秒
- 4.2数组变量与普通变量的区别13分钟21秒
- 4.3二维数组10分钟10秒
- 5.0Unicode字符11分钟03秒
- 5.1逃逸字符02分钟31秒
- 5.2字符串10分钟
- 5.3字符串常量池02分钟17秒
- 5.4字符串常见操作11分钟45秒
- 5.5包裹类型09分钟43秒
- 5.6API文档的使用06分钟47秒
- 6.1方法的定义07分钟27秒
- 6.2方法的使用09分钟30秒
- 6.3参数列表08分钟55秒
- 6.4返回值05分钟43秒
- 6.5本地变量09分钟05秒
- 7.0类的封装08分钟03秒
- 7.1类的使用09分钟14秒
- 7.2成员变量15分钟01秒
- 7.3构造方法15分钟58秒
- 7.4包的使用08分钟42秒
- 7.5权限修饰符11分钟12秒
- 7.6静态变量09分钟29秒
- 7.7静态方法03分钟06秒
- 8.0ArrayList15分钟08秒
- 8.1HashSet09分钟46秒
- 8.2在类当构造tostring方法11分钟14秒
- 8.3HashMap12分钟36秒
- 8.4通过一个类来管理多个对象09分钟23秒
- 9.0使用extends继承06分钟05秒
- 9.1extends与super16分钟33秒
- 9.2向上转型和向下转型07分钟57秒
- 9.3多态07分钟58秒
- 9.4判断两个对象是否相等13分钟51秒
- 9.5抽象11分钟06秒
- 9.6接口12分钟29秒
- 9.7内部类12分钟36秒
- 9.8泛型16分钟42秒
- 10.1异常处理机制17分钟16秒
- 10.2自定义异常08分钟26秒
- 10.3写入本地文件09分钟13秒
- 10.4读取本地文件15分钟32秒
- 10.5流的概念03分钟55秒
- 11.1进程与线程07分钟54秒
- 11.2使用Callable启动线程09分钟50秒
- 11.3为什么需要多线程?07分钟57秒
- 11.4Thread的常见操作11分钟33秒
- 11.5让线程停止执行11分钟36秒
- 11.6Synchronized同步锁10分钟17秒
- 11.7死锁10分钟26秒
- 11.8wait与notify11分钟59秒
- 11.9线程的生命周期03分钟28秒
- 11.10线程池16分钟24秒
- 12.1Lambda表达式07分钟33秒
- 12.2自定义Lambda表示05分钟38秒
- 13.1学生管理系统概述05分钟46秒
- 13.2学生管理系统-用户注册21分钟20秒
- 13.3学生管理系统-用户登录06分钟27秒
- 13.4学生管理系统-学生信息创建与查询07分钟28秒
- 13.5学生管理系统-学生信息修改与删除11分钟10秒
第2章 Android应用层开发
- 14.1Android只是做APP?08分钟29秒
- 14.2安装AndroidStudio14分钟10秒
- 14.3使用自带模拟器调试工程05分钟55秒
- 14.4使用真机调试程序06分钟37秒
- 15.1View与ViewGroup17分钟27秒
- 15.2使用Java定义Button按钮05分钟51秒
- 15.3为xml中的控件添加点击监听16分钟17秒
- 15.4使用Logcat查看日志17分钟21秒
- 15.5TextView的常见属性17分钟04秒
- 15.6实现自定义勾选控件13分钟32秒
- 15.7使用自带的CheckBox11分钟
- 15.8实现用户登录校验12分钟05秒
- 15.9EditText添加文本改变监听09分钟32秒
- 15.10为文本内容添加单独的点击效果11分钟04秒
- 15.11使用Span为文本片段单独添加效果13分钟48秒
- 15.12常见的Span样式09分钟46秒
- 15.13使用Html标签添加文本样式07分钟50秒
- 15.14单选控件RadioButton与RadioGroup09分钟38秒
- 16.1使用ImageView加载Drawable12分钟44秒
- 16.2使用ImageView加载Bitmap05分钟36秒
- 16.3实现聊天背景框效果15分钟16秒
- 16.4在AS中生成矢量图04分钟18秒
- 17.1LinearLayout线性布局09分钟50秒
- 17.2LayoutParams布局参数管理13分钟42秒
- 17.3使用Java代码实现发送邮件页面10分钟30秒
- 17.4相对布局RelativeLayout22分钟47秒
- 17.5将约束布局添加到工程08分钟36秒
- 17.6ConstraintLayout与子控件的位置关系10分钟51秒
- 17.7约束布局ConstraintLayout同级控件的位置关系09分钟06秒
- 17.8约束布局文本基准线对齐方式06分钟04秒
- 17.9ConstraintLayout角度约束02分钟49秒
- 17.10ConstraintLayout百分比偏移03分钟54秒
- 17.11View的可见性05分钟14秒
- 17.12ConstraintLayout的4种宽高定义方式07分钟
- 17.13ConstraintLayout中的match_constraint11分钟06秒
- 17.14ConstraintLayout链05分钟42秒
- 17.15约束布局的辅助定位-GuideLine07分钟30秒
- 17.16约束布局屏障-Barrier09分钟13秒
- 17.17卡片式布局CarView12分钟19秒
- 17.18滚动布局ScrollView04分钟30秒
- 17.19ScrollView中显示多个子控件01分钟53秒
- 18.1使用snackbar弹窗15分钟40秒
- 18.2AlertDialog弹窗使用06分钟34秒
- 18.3使用DialogFragment管理弹窗06分钟44秒
- 18.4日期选择器DatePickerDialog14分钟25秒
- 18.5自定义弹窗14分钟21秒
- 18.6自定义弹窗位置更改11分钟55秒
- 18.7PopupWindow弹窗13分钟11秒
- 18.8PopupWindow实现长按菜单12分钟28秒
- 18.9精准获取PopupWindow宽高并计算偏移量09分钟14秒
- 19.1进度条ProgressBar08分钟39秒
- 19.2使用进度条记录下载进度07分钟51秒
- 19.3可拖拽进度条Seekbar08分钟18秒
- 20.1RecyclerView复用原理分析06分钟16秒
- 20.2为RecyclerView准备Item布局08分钟52秒
- 20.3RecyclerView与Item布局关联09分钟16秒
- 20.4在Adapter中设置item布局数据04分钟53秒
- 20.5在Adapter中添加动态数据12分钟21秒
- 20.6列表数据的更新14分钟15秒
- 20.7通过数据源决定ItemType11分钟15秒
- 20.8通过ItemType查找ViewHolder09分钟33秒
- 20.9为RecyclerView添加分割线05分钟57秒
- 20.10适配器与外部的事件交互15分钟47秒
- 20.11RecyclerView复用CheckBox的异常状态07分钟15秒
- 20.12RecyclerView的常见布局方式09分钟59秒
- 21.1Activity的创建与声明13分钟23秒
- 21.2Activity间的跳转06分钟
- 21.3隐式跳转Activity07分钟47秒
- 21.4Activity之间的数据传输08分钟28秒
- 21.5Activity之间的数据回传13分钟23秒
- 21.6Activity数据回传的新方式05分钟22秒
- 21.7传递自定义类06分钟32秒
- 21.8使用Parcelable传递数据10分钟16秒
- 21.9Activity的生命周期10分钟58秒
- 21.10通过logcat观察生命周期的变化10分钟04秒
- 21.11 Activity配置变化10分钟17秒
- 21.12Activity的数据持久化11分钟29秒
- 21.13在onCreate中恢复数据06分钟17秒
- 21.14Activity的任务栈03分钟28秒
- 21.15Activity的启动模式06分钟35秒
- 21.16SingleTask和SingleInStance06分钟49秒
- 21.17Activity跳转添加IntentFlags04分钟49秒
- 21.18使用include复用布局04分钟11秒
- 21.19在xml中静态添加Fragment09分钟26秒
- 21.20使用FragmentManager动态添加片段17分钟56秒
- 21.21Fragment生命周期12分钟46秒
- 21.22Activity与Fragment间的通讯14分钟24秒
- 21.23Fragment往Activity回传数据10分钟50秒
- 21.24ViewPager2与Fragment的组合21分钟19秒
- 21.25ViewPager显示不同的Fragment04分钟14秒
- 21.26在应用中声明权限07分钟16秒
- 21.27动态获取权限11分钟12秒
- 21.28完善权限申请流程09分钟19秒
- 21.29另一种权限处理流程10分钟44秒
- 21.30使用ActivityResultLauncher请求权限07分钟03秒
- 21.31不同系统API版本的兼容性配置11分钟36秒
- 21.32在设置页面获取权限14分钟08秒
- 22.1网络通信基础16分钟43秒
- 22.2传输层TCP与UDP协议11分钟51秒
- 22.3HTTP请求14分钟40秒
- 22.4在浏览器中访问网络接口08分钟29秒
- 22.5使用HttpURLConnection发送GET请求11分钟07秒
- 22.6使用HttpURLConnection发送GET请求07分钟09秒
- 22.7Api测试工具的使用07分钟37秒
- 22.8使用HTTPURLConnection发起POST请求21分钟19秒
- 22.9Android中的Json数据06分钟06秒
- 22.10使用JSONObject创建JSON11分钟14秒
- 22.11使用JSONObject提取参数06分钟22秒
- 22.12使用Gson处理JSON数据11分钟34秒
- 22.13使用OkHttp发起GET请求15分钟26秒
- 22.14使用Gson处理服务端返回的结果07分钟11秒
- 22.15使用Okhttp发起POST请求09分钟41秒
- 22.16Retrofit2发起GET请求12分钟58秒
- 22.17Retrofit2发起POST请求09分钟13秒
- 23.1Android中的线程间通信04分钟49秒
- 23.2Handler线程通信机制09分钟43秒
- 23.3在HandleMessage中处理消息14分钟10秒
- 23.4Handler工作原理03分钟39秒
- 23.5HandlerThread10分钟46秒
- 24.1SharedPreferences数据持久化11分钟03秒
- 24.2SharedPreferences的查询与删除05分钟42秒
- 24.3SQLite数据库的创建13分钟21秒
- 24.4SQLite数据插入07分钟24秒
- 24.5从数据库中查询数据14分钟37秒
- 24.6添加查询条件筛选10分钟39秒
- 24.7SQLite数据插入07分钟12秒
- 24.8SQLite更新与删除08分钟36秒
- 25.1通过Room进行数据库操作15分钟33秒
- 25.2Room数据库的插入11分钟33秒
- 25.3Room数据库的查询与更新09分钟34秒
- 25.4Room query的扩展用法08分钟15秒
- 25.5Room数据库结构升级08分钟36秒
- 26.1安卓中的文件存储位置06分钟46秒
- 26.2应用内部私有存储的数据操作05分钟51秒
- 26.3应用内部私有存储的数据读取04分钟29秒
- 26.4应用外部私有存储的读取与写入12分钟12秒
- 26.5将网络文件保存到本地10分钟58秒
- 26.6公共存储空间的数据写入18分钟49秒
- 26.7使用MediaStore读取指定的图片09分钟10秒
- 26.8读取公共存储区域的所有图片12分钟31秒
- 27.1内容提供者ContentProvider05分钟28秒
- 27.2构建ContentProvider214分钟24秒
- 27.3跨进程获取数据08分钟41秒
- 27.4跨进程修改数据07分钟51秒
- 28.1Jetpack Media3播放音频文件10分钟46秒
- 28.2播放器回调状态监听08分钟13秒
- 28.3播放器进度处理04分钟04秒
- 28.4播放器进度更新09分钟46秒
- 28.5播放器与Activity声明周期绑定07分钟19秒
- 28.6Media3实现视频播放11分钟06秒
- 28.7集成Jectpack CameraX09分钟22秒
- 28.8CameraX拍摄照片14分钟
- 28.9CameraX切换前后置摄像头06分钟55秒
- 28.10CameraX录制视频预览10分钟49秒
- 28.11CameraX录制视频14分钟06秒
- 29.1监听系统发出的广播消息10分钟27秒
- 29.2静态注册广播监听05分钟11秒
- 29.3监听自定义广播消息10分钟53秒
- 29.4发送有序广播08分钟44秒
- 29.5跨应用发送自定义广播事件04分钟35秒
- 30.1启动式服务11分钟26秒
- 30.2在服务中播放音乐08分钟13秒
- 30.3绑定服务的使用13分钟06秒
- 30.4创建通知渠道09分钟46秒
- 30.5发送通知08分钟47秒
- 30.6为通知添加更多设置07分钟51秒
- 30.7前台服务11分钟03秒
- 30.8在前台服务中播放媒体文件14分钟03秒
- 30.9更新前台服务的通知栏信息08分钟19秒
- 31.1帧动画效果实现09分钟40秒
- 31.2使用xml实现视图动画08分钟02秒
- 31.3实现缩放与位移效果10分钟09秒
- 31.4在Java代码中创建视图动画14分钟54秒
- 31.5属性动画PropertyAnimator08分钟02秒
- 31.6使用属性动画的更多用法16分钟45秒
- 31.7ObjectAnimator12分钟16秒
- 31.8ObjectAnimator的更多用法09分钟41秒
- 31.9Activity过渡动画效果08分钟40秒
- 32.1Android中的自定义View19分钟36秒
- 32.2组合控件-折叠TextView09分钟18秒
- 32.3折叠TextView功能实现04分钟34秒
- 32.4通过AttributeSet获取自定义属性09分钟03秒
- 32.5自定义View测量尺寸onMeasure15分钟05秒
- 32.6onMeasure中的常见用法08分钟51秒
- 32.7在onDraw中绘制图形11分钟04秒
- 32.8在onDraw中绘制图形的更多用法14分钟22秒
- 32.9为自定义控件PieView提供数据09分钟59秒
- 32.10绘制PieView的扇形区域18分钟41秒
- 32.11为PieView扇形区域添加文本标签08分钟18秒
- 32.12自定义控件数据刷新显示06分钟40秒
- 32.13onTouchEvent用户触摸事件18分钟31秒
- 32.14实现双击手势识别09分钟18秒
- 32.15实现向上滑动手势识别08分钟48秒
- 32.16GestureDetector手势辅助类08分钟28秒
- 32.17PieView用户手势坐标换算15分钟11秒
- 32.18PieView放大扇形区域07分钟34秒
- 32.19自定义容器onLayout-位置控制13分钟05秒
- 32.20自定义容器从左往右排布08分钟39秒
- 32.21实现TagViewGroup16分钟06秒
第3章 Android项目架构设计
- 33.1Jectpack LiveData——生命周期感知13分钟41秒
- 33.2Jetpack LiveData与ViewModel07分钟47秒
- 33.3Jectpack DataBinding——数据绑定08分钟11秒
- 33.4LiveData与DataBinding结合使用12分钟40秒
- 33.5DataBinding双向绑定13分钟41秒
- 33.6项目架构设计——MVC架构模式08分钟47秒
- 33.7MVC中Model获取View中的数据10分钟18秒
- 33.8 MVC中View获取Model处理结果12分钟02秒
- 33.9项目架构设计——MVP架构模式13分钟17秒
- 33.10MVP处理View的交互09分钟37秒
- 33.11项目架构设计——MVVM架构模式13分钟07秒
- 33.12MVVM中的被观察对象09分钟41秒
- 33.13在MVVM中添加DataBinding15分钟39秒
- 33.14使用BindingAdapter10分钟09秒
- 34.1项目模块化10分钟51秒
- 34.2项目模块化时遇到的问题14分钟27秒
- 34.3项目模块化中的基础核心模块08分钟28秒
- 34.4统一管理gradle的配置13分钟40秒
- 34.5使用ARouter进行module间的通信14分钟04秒
- 34.6使用ARouter进行页面跳转08分钟24秒
- 34.7为什么要在模块化设计中用ARouter?04分钟02秒
- 34.8ARouter的其他用法08分钟57秒
- 35.1Android中的配置限定符15分钟39秒
- 35.2Android屏幕适配方案10分钟33秒
- 35.3其他常用的屏幕适配方案11分钟24秒
- 35.4头条屏幕适配方案06分钟02秒
- 35.5AndroidAutoSize的集成与使用07分钟05秒
- 35.6创建预览设备07分钟59秒
第4章 应用层项目开发实战
- 36.1短视频项目功能介绍03分钟56秒
- 36.2短视频项目技术选型说明05分钟19秒
- 36.3短视频项目-组件化搭建15分钟28秒
- 36.4短视频项目-集成ARouter04分钟18秒
- 36.5短视频项目-统一配置gradle16分钟47秒
- 36.6短视频项目-定义Base基类09分钟13秒
- 36.7短视频项目-配置MVVM架构模式10分钟43秒
- 36.8短视频项目-在基类中封装viewmodel与databinding18分钟45秒
- 36.9短视频项目-集成AndroidAutoSize04分钟34秒
- 36.10短视频项目-底部按钮UI实现16分钟02秒
- 36.11短视频项目-根据状态切换按钮样式09分钟
- 36.12短视频项目-底部导航按钮与Fragment联动18分钟34秒
- 36.13短视频项目-Fragment统一配置07分钟38秒
- 36.14短视频项目-首页ViewPager2+Fragment26分钟54秒
- 36.15短视频项目-首页HomeFragment顶部UI效果09分钟55秒
- 36.16短视频项目-首页VideListFragment的UI构建19分钟25秒
- 36.17短视频项目-在适配器中使用DataBinding12分钟56秒
- 36.18短视频项目-为首页填充网络数据16分钟34秒
- 36.19短视频项目-创建network模块07分钟43秒
- 36.20从服务器获取首页数据28分钟24秒
- 36.21将网络数据显示到UI当中12分钟36秒
- 36.22在项目中集成.mp413分钟30秒
- 36.23动态调整首页UI细节05分钟44秒
- 36.24上拉加载与下拉刷新35分钟49秒
- 36.25优化推荐页与日报页的数据加载方法05分钟22秒
- 36.26错误状态处理23分钟36秒
- 36.27封装网络请求模块15分钟02秒
- 36.28封装网络请求结果24分钟16秒
- 36.29封装StatusView14分钟14秒
- 36.30封装列表加载功能45分钟41秒
- 36.31广场页效果实现原理拆解07分钟37秒
- 36.32广场页布局实现16分钟18秒
- 36.33广场页使用xbanner实现图片轮播24分钟23秒
- 36.34使用shape绘制指示器背景06分钟30秒
- 36.35请求服务器获取广场数据27分钟43秒
- 36.36填充广场页item数据12分钟55秒
- 36.37填充广场页banner数据21分钟56秒
- 36.38广场页效果实现原理拆解05分钟12秒
- 36.39加载广场页数据16分钟38秒
- 36.40发现页布局实现28分钟03秒
- 36.41分类标签数据填充17分钟51秒
- 36.42播单列表与话题数据填充14分钟09秒
- 36.43用户中心页面效果实现34分钟50秒
- 36.44用户登录页效果实现原理分析15分钟08秒
- 36.45用户登录页ui效果实现11分钟18秒
- 36.46登录按钮状态处理16分钟03秒
- 36.47沉浸式效果遇到的bug05分钟34秒
- 36.48发送验证码的状态处理29分钟46秒
- 36.49发起验证码与登录请求24分钟15秒
- 36.50用户协议与隐私政策15分钟40秒
- 36.51获取用户信息16分钟58秒
- 36.52用户信息处理115分钟11秒
- 36.53用户信息处理217分钟01秒
- 36.54完善用户信息处理11分钟26秒
- 36.55EventBus的集成与使用22分钟05秒
- 36.56个人中心页面处理30分钟27秒
- 36.57设置页面效果实现12分钟13秒
- 36.58使用枚举定义观察事件13分钟29秒
- 36.59设置页弹窗功能23分钟58秒
- 36.60APP缓存处理15分钟59秒
- 36.61隐私政策用户信息清单的实现16分钟18秒
- 36.62用户信息处理与修改49分钟12秒
- 36.63关于我们页面效果实现12分钟33秒
- 36.64退出登录效果实现16分钟44秒
- 36.65个人中心的点击与跳转操作07分钟09秒
- 36.66个人中心逻辑07分钟01秒
- 36.67视频播放模块划分讲解11分钟44秒
- 36.68视频播放详情页讲解14分钟51秒
- 36.69视频详情页添加Fragment21分钟38秒
- 36.70在简介中嵌入视频推荐列表10分钟46秒
- 36.71视频播放详情页的高度适配29分钟19秒
- 36.72视频详情页的数据获取19分钟31秒
- 36.73在工程中添加Okhttp日志拦截器08分钟28秒
- 36.74视频简介UI处理20分钟25秒
- 36.75点赞功能实现44分钟51秒
- 36.76评论功能实现24分钟54秒
- 36.77Activity与Fragment共享ViewModel23分钟05秒
- 36.78评论列表功能实现12分钟57秒
- 36.79新评论插入06分钟30秒
- 36.80删除评论26分钟20秒
- 36.81评论列表的分页加载22分钟54秒
- 36.82视频播放功能实现17分钟35秒
- 36.83广场图片浏览功能实现12分钟03秒
- 36.84创建视频业务共用的模块13分钟31秒
- 36.85跳转到分类详情页13分钟32秒
- 36.86分类详情页需求分析10分钟26秒
- 36.87分类详情页效果实现06分钟25秒
- 36.88主题播单页面效果实现09分钟52秒
- 36.89话题广场页面效果实现04分钟33秒
- 36.90搜索功能页效果实现11分钟36秒
- 36.91视频浏览记录插入功能29分钟12秒
- 36.92视频浏览记录查询19分钟11秒
- 36.93视频浏览记录删除方案选定09分钟56秒
- 36.94视频浏览记录删除19分钟22秒
- 36.95.个人信息修改与更新14分钟28秒
- 36.96上传用户头像16分钟53秒
- 37.1安卓应用的打包05分钟32秒
- 37.2生成签名文件18分钟58秒
- 37.3为APK打上签名13分钟21秒
- 37.4为工程配置代码混淆16分钟02秒
- 37.5定义混淆规则18分钟05秒
- 37.6混淆后的安装包测试12分钟28秒
- 37.7安装包的版本号管理10分钟24秒
- 37.8使用第三方加固工具04分钟53秒
- 38.1第三方sdk集成介绍10分钟05秒
- 38.2认证微信开放平台14分钟51秒
- 38.3在工程中添加微信sdk12分钟18秒
- 38.4处理微信回调结果08分钟53秒
- 38.5微信分享功能实现12分钟56秒
- 38.6微信分享网页10分钟08秒
- 38.7微信登录与支付功能的实现思路05分钟19秒
- 38.8集成友盟平台17分钟59秒
- 38.9添加需要支持的第三方平台12分钟35秒
- 38.10在同意协议后启动第三方服务15分钟27秒
- 38.11使用友盟实现微信分享13分钟16秒
- 38.12通知推送功能分析08分钟41秒
- 38.13友盟推送功能集成07分钟55秒
- 38.14使用友盟推送官方demo19分钟31秒
- 38.15在工程中使用推送能力21分钟38秒
- 38.16高级推送能力的使用21分钟48秒
- 39.1什么是安装包体积优化?02分钟36秒
- 39.2为什么APK体积会过大?07分钟54秒
- 39.3安装包下的资源优化方案12分钟58秒
- 39.4安装包下的so原生库体积优化07分钟25秒
- 39.5使用Lint工具检测冗余资源04分钟22秒
- 39.6安装包体积优化的总结与最佳实践05分钟21秒
- 39.7耗电量优化方案07分钟22秒
- 39.8什么是内存优化?13分钟36秒
- 39.9Android中的内存泄漏优化16分钟12秒
- 39.10非静态Handler导致的内存泄漏09分钟43秒
- 39.11常见的内存优化方案策略08分钟47秒
- 39.12内存监测工具profiler的使用07分钟26秒
- 39.13卡顿优化方案09分钟34秒
- 39.14卡顿优化方案总结04分钟31秒
- 39.15APP启动速度优化06分钟31秒
- 39.16双击两次退出APP06分钟
- 40.1电商项目实战概述10分钟35秒
- 40.2电商项目API接口说明09分钟35秒
- 40.3使用浏览器抓取API接口数据07分钟13秒
- 40.4电商系统后台使用说明10分钟09秒
- 40.5电商项目常见功能方案14分钟51秒
- 40.6团队协作开发工具Git07分钟07秒
- 40.7为远端仓库配置SSH公钥11分钟14秒
- 40.8提交本地代码到仓库09分钟16秒
- 40.9使用Git更新代码07分钟57秒
- 40.10查看Git历史记录05分钟02秒
- 40.11Git分支与冲突合并12分钟49秒
第5章 Kotlin语言基础
- 41.1Kotlin语言的由来05分钟10秒
- 41.2kotlin语言和java有什么不一样?08分钟10秒
- 41.3使用Kotlin输出Hello world08分钟12秒
- 41.4在Kotlin中定义变量02分钟50秒
- 41.5整数类型14分钟
- 41.6kotlin中的其他基本类型19分钟29秒
- 41.7条件语句12分钟01秒
- 41.8使用for循环遍历范围与数组07分钟50秒
- 41.9使用for循环遍历集合与字符串11分钟33秒
- 41.10控制语句总结04分钟11秒
- 41.11Kotlin当中的函数07分钟31秒
- 41.12扩展函数08分钟09秒
- 41.13kotlin中的空安全机制14分钟45秒
- 42.1kotlin中的类与对象11分钟17秒
- 42.2次构造函数03分钟51秒
- 42.3继承抽象实现08分钟27秒
- 42.4Kotlin中的数据类10分钟35秒
- 42.5伴生对象与可见性修饰符06分钟05秒
- 43.1列表与集合的定义13分钟30秒
- 43.2容器的循环遍历06分钟54秒
- 43.3快速实现容器的类型转换与过滤12分钟49秒
- 43.4容器的其他常见操作05分钟39秒
- 43.5Lambda表达式08分钟03秒
- 44.1把函数当成参数传递11分钟05秒
- 44.2高阶函数的其他用法12分钟48秒
- 45.1速使用协程进行异步编程10分钟29秒
- 45.2协程作用域10分钟21秒
- 45.3协程构建器13分钟17秒
- 45.4协程调度器与挂起函数20分钟39秒
- 45.5协程中的上下文与任务06分钟07秒
- 45.6协程的常见用法与场景05分钟13秒
- 45.7流式任务处理flow06分钟18秒
- 45.8流式任务的基本用法07分钟18秒
- 45.9流式任务操作符14分钟11秒
- 45.10流式任务的常见用法03分钟33秒
- 45.11kotlin语法总结08分钟23秒
第6章 Jectpack Compose
- 46.1Jetpack Compose声明式UI06分钟08秒
- 46.2创建compose工程13分钟58秒
- 46.3Modifer设置点击事件12分钟40秒
- 46.4文本组件Text的常见属性20分钟54秒
- 46.5组件中的style属性05分钟49秒
- 46.6MaterialTheme主题样式19分钟19秒
- 46.7按钮组件Button16分钟27秒
- 46.8响应式更新UI15分钟51秒
- 46.9图片加载显示18分钟37秒
- 46.10扩展学习更多组件的方式13分钟19秒
- 47.1水平排列布局row15分钟38秒
- 47.2垂直排列布局column08分钟09秒
- 47.3懒加载布局lazy14分钟48秒
- 47.4单item新闻列表23分钟57秒
- 47.5列表的增删改查17分钟04秒
- 47.6多样式新闻列表14分钟53秒
- 47.7在compose中使用view16分钟02秒
- 48.1Compose中的副作用管理07分钟15秒
- 48.2Sideeffect副作用效应器10分钟34秒
- 48.3Launchedeffect副作用效应器09分钟45秒
- 48.4Remembercoroutinescope04分钟39秒
- 48.5Disposableeffect06分钟03秒
- 49.1Compose中的项目架构模式07分钟26秒
- 49.2Mvvm登录案例——Compose UI构建18分钟49秒
- 49.3Mvvm登录案例——数据模型07分钟27秒
- 49.4Mvvm登录案例——网络请求07分钟52秒
- 49.5Mvvm登录案例——发起登录请求22分钟43秒
- 49.6Mvvm登录案例——处理结果13分钟01秒
- 49.7MVI架构模式08分钟22秒
- 49.8将viewModel改造成MVI模式13分钟05秒
- 49.9将UI改造成MVI模式05分钟50秒
- 50.1论坛项目实战概述07分钟51秒