笔记来源于 慕课网 https://coding.imooc.com/class/chapter/89.html#Anchor
必学前置知识 react 入门 reactnative 基础与入门
十分钟理解Gradle https://www.cnblogs.com/Bonker/p/5619458.html
简单的说,Gradle是一个构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程。我们可以为Gradle指定构建规则,然后它就会根据我们的“命令”自动为我们构建app。Android Studio中默认就使用Gradle来完成应用的构建。有些同学可能会有疑问:”我用AS不记得给Gradle指定过什么构建规则呀,最后不还是能搞出来个apk。“ 实际上,app的构建过程是大同小异的,有一些过程是”通用“的,也就是每个app的构建都要经历一些公共步骤。因此,在我们在创建工程时,Android Studio自动帮我们生成了一些通用构建规则,很多时候我们甚至完全不用修改这些规则就能完成我们app的构建。
第一章 开发准备(学前需要RN语法基础,想学RN混合开发的同学可以直接看第十五,十六章)
- 课程学习指南
产品经理进行需求分析,设计原型图,交给ui设计师,进行页面设计,项目经理进行任务的分配,测试工程师经过测试,然后上线
为什么要开发这个app?(github 没有退出app 端),通过app去查看一些最流行的项目
(android 和ios 的组件的复用率大概在90以上)


app 效果预览 (看安装完成后的app)
app 流程结构与开发计划
- 项目技术分解
es6 是 一种规范,包括es5,es7 ,js 是es 6 规范的一种实现。
asyncstorage 本地存储
fetch 从后台抓取数据
native modules (一些不能 用rn 实现的,需要封装一些组件来使用,比如说扫描和分享)
第三个是解决白屏的


还有很多的自定义组件和高级封装
- 项目结构介绍


- 项目底部导航菜单介绍
jsbundle 服务器,就是下图用浏览器打开的地址,他是打包后的js文件,并且把js文件推送到app客户端上。

1.安装底部导航栏,并且导入 下面是源码
- Navigator的基本使用及页面间数据传递实现
关于Navigator 的理解
可以类比angualr的路由,父子组件(准确的说是类和实例)的传递用props,但是没有父子的关系的组件呢,就用navigator来传递数据。navigator 作为下面男孩和女孩的父组件。男孩和女孩通过props来传递数据。


1.首先导入,这个navigator 是自带的。类比angular中的路由配置,一个路由下,要不显示这个组件,要不显示另外的
2.使用 initialRoute(类比angular中路由的redirect ,默认显示组件) 实现场景 男孩给女孩玫瑰,女孩给男孩巧克力
renderScene={(route,navigaotr)} 这个的写法是固定的,route用来表明即将加载组件的信息,navigator用来传递数据。这个应该只需要些一次就可以了
boy.js
girl.js
- 自定义组件NavigationBar-1
其实就是顶部的导航栏


- 自定义组件NavigationBar-2
titleview :有可能用户传进来的是一个元素,不只是文本。

- 自定义组件NavigationBar-3
在7的基础上继续进行封装(如果感觉自定义组件难度角度,可以回过头来在看自定义组件)
第二章 适配RN 0.55全新导航器react-navigation精讲 (如果是新手,先基于0.40版本并从第四章开始学习)
- react-navigation讲解
- StackNavigator精讲-1
- StackNavigator精讲-2
- StackNavigator精讲-3
- StackNavigator精讲-4
- TabNavigator精讲-1
- TabNavigator精讲-2
- TabNavigator精讲-3
- DrawerNavigator精讲-1
- DrawerNavigator精讲-2
第三章 适配RN 0.55最新高性能列表组件精讲 (如果是新手,先基于0.40版本并从第四章开始学习)
- 高性能列表组件FlatList、VirtualizedList精讲-1
- 高性能列表组件FlatList、VirtualizedList精讲-2
- 高性能列表组件FlatList、VirtualizedList精讲-3
- 高性能列表组件FlatList、VirtualizedList精讲-4
- 高性能列表组件SwipeableFlatList精讲
- 高性能列表组件SectionList详解-1
- 高性能列表组件SectionList详解-2
第四章 项目基础功能开发(ListView、下拉刷新、上拉加载更多、APP启动引导流程)
- ListView列表、下拉刷新、上拉加载的基本使用

下图的data.result 是模拟的数据,没有截图出来
this.onLoad() 调用这个函数(当取回数据的时候把下拉刷新关闭掉)

![]()




- 网络编程利器-Fetch的基本使用
fetch 的跨域使用:
参考文章 :https://segmentfault.com/q/1010000008636959
参考文章:http://www.cnblogs.com/BlingSun/p/9777059.html
get
post
- 网络编程利器-Fetch的轻量级封装
关于promise 参考文章
https://blog.youkuaiyun.com/MrJavaweb/article/details/79475949


- 项目启动引导流程实现

setup.js

welcome.js (一般都是轮播图)

第五章 Popular(最热)模块开发(AsyncStorage数据库技术、离线缓存)
- Popular(最热)模块的数据层设计
- Popular(最热)模块的列表页面实现-1
- Popular(最热)模块的列表页面实现-2
- Popular(最热)模块的列表页面实现-3
阴影的设置(view 组建自带,但是只支持ios),在Android需要用elevation
- AsyncStorage异步数据存储技术解析 (官网的api 其实很详细)


- Popular(最热)模块的自定义标签功能实现-1
- Popular(最热)模块的自定义标签功能实现-2
- Popular(最热)模块的自定义标签功能实现-3
- Popular(最热)模块的自定义标签功能实现-4
- Popular(最热)模块的标签排序功能实现-1
- Popular(最热)模块的标签排序功能实现-2
- Popular(最热)模块的标签移除功能实现
- Popular(最热)模块的离线缓存功能实现
- WebView控件实现简单浏览器
- Popular(最热)模块的详情页功能实现
第六章 Trending(趋势)模块开发(代码优化技巧、高复用代码设计)
- Trending(趋势)模块的数据接口实现原理及使用详解
- Trending(趋势)模块的数据层设计
- Trending(趋势)模块的列表页面实现
- Pop弹窗功能实现
- Trending(趋势)模块的自定义语言功能实现
- Trending(趋势)模块的自定义语言排序功能实现
第七章 Favorite(收藏)模块开发(数据DAO层设计技巧,数据状态实时更新)
- 为Popular(最热)模块的列表页添加收藏功能-1
- 为Popular(最热)模块的列表页添加收藏功能-2
- Favorite(收藏)模块的收藏状态数据DAO层设计
- Favarite(收藏)模块的数据收藏状态实时更新
- 为Trending(趋势)模块的列表页添加收藏功能
- 为Popular(最热)与Trending(趋势)模块的详情页添加收藏的功能
- Favorite(收藏)模块列表页面基本实现与用户所收藏的项目数据获取
- Favorite(收藏)模块列表页面具体实现-1
- Favorite(收藏)模块列表页面具体实现-2
第八章 My(我的)模块开发(代码提取技巧,组合模式应用技巧,数据异步刷新与动态添加)
- My(我的)模块分组列表页面实现-1
- My(我的)模块分组列表页面实现-2
- My(我的)模块分组列表页面实现-3
- My(我的)模块项目介绍页面简单实现(parallar-scroll-view)-1
- My(我的)模块项目介绍页面简单实现(parallar-scroll-view)-2
- My(我的)模块项目介绍页面复用代码提取技巧
- My(我的)模块意见反馈,项目官网展示功能实现
- My(我的)模块项目介绍数据请求工具开发(RepositoryUtil)-1
- My(我的)模块项目介绍数据请求工具开发(RepositoryUtil)-2
- My(我的)模块项目介绍数据展示-1
- My(我的)模块项目介绍数据展示-2
- My(我的)模块关于作者页面实现(自定义可扩展列表)-1
- My(我的)模块关于作者页面实现-2
第九章 Search(搜索)模块开发(动态关键字,可取消异步任务设计)
- 带搜索的NavBar实现-1
- 带搜索的NavBar实现-2
- 搜索数据显示与onFavorite()方法的提取-1
- 搜索数据显示与onFavorite()方法的提取-2
- 为Search(搜索)模块添加进度条与底部按钮-1
- 为Search(搜索)模块添加进度条与底部按钮2
- 添加返回首页数据刷新功能
- 为Promise插上翅膀之可取消的异步任务
第十章 MoreMenu(更多菜单)模块开发(封装可配置菜单组件,RN版本升级踩坑)
- 可配置菜单的实现-1
- 可配置菜单的实现-2
- 可配置菜单的实现-3
- ReactNative版本升级踩坑(0.39-to-0.40)
第十一章 高级功能开发(多彩主题、数据统计、社会化分享、第三方登录,热更新等)
- 构建自定义多彩主题页面
- 应用自定义多彩主题页面-1
- 应用自定义多彩主题页面-2
- 实现自定义多彩主题变换
- React Native原生模块的封装(Android)
- React Native原生模块的封装(iOS)
- React Native集成统计功能
- React Native 分享与第三方登录模块开发(Android)-分享模块开发
- React Native分享与第三方登录模块开发(Android)-分享模块的应用
- React Native 分享与第三方登录模块开发(iOS)
- React Native启动白屏问题原因及解决方案(Android)
- React Native启动白屏问题原因及解决方案(iOS)
- 如何适配Android和iOS双平台
- CodePush 热更新-集成CodePush(Android)
- CodePush 热更新-集成CodePush(iOS)
- CodePush 热更新-应用CodePush(Android)
- CodePush 热更新-应用CodePush(iOS)
第十二章 项目发布前的优化、打包与上线Android和IOS APP、学习资料
- 项目发布前的优化(Android)
- 项目发布前的优化(iOS)
- 项目打包发布Android应用
- 项目打包发布iOS应用
- 课程总结
第十三章 适配RN 0.55最新版对项目与组件升级与适配
- 最新版React Native 的升级与适配
- 升级第三方组件,适配PropTypes,ViewPropTypes
- 使用react-navigation搭建项目导航框架-1
- 使用react-navigation搭建项目导航框架-2
- 使用react-navigation搭建项目导航框架-3
- 使用react-navigation搭建项目导航框架-4
- 基于modal的全屏弹框封装-1
- 基于modal的全屏弹框封装-2
- 基于modal的全屏弹框封装-3
- FlatList实战应用(从ListView到FlatList的适配)
- React 16.3,React 17适配指南与BackHandler应用-1
- React 16.3,React 17适配指南与BackHandler应用-2
- React 16.3,React 17适配指南与BackHandler应用-3
- React 16.3,React 17适配指南与BackHandler应用-4
第十四章 适配RN 0.55全面屏适配指南
- React Native 全屏幕适配指南.mp4
- React Native 适配iOS全面屏iPhone X-1
- React Native 适配iOS全面屏iPhone X-2
- React Native 升级适配Android与适配Android全面屏
第十五章 【拓展知识】React Native与Android 混合开发讲解
- React Native 混合开发实战(Android篇)-1
- React Native 混合开发实战(Android篇)-2
- React Native 混合开发实战(Android篇)-3
- React Native 混合开发实战(Android篇)-4
- React Native 混合开发实战(Android篇)-5
- React Native 混合开发实战(Android篇)-6
第十六章 【拓展知识】React Native与IOS App混合开发讲解
- React Native 混合开发实战(iOS篇)-1
- React Native 混合开发实战(iOS篇)-2
- React Native 混合开发实战(iOS篇)-3
985

被折叠的 条评论
为什么被折叠?



