Skip to content

NBA Player是由React Native创作的集比赛直播、新闻资讯、数据查询为一体的APP,支持Android和iOS双平台

Notifications You must be signed in to change notification settings

nickyzhang-fe/react-native-nba

Repository files navigation

基于React Native的NBA Player

版本

"react": "16.0.0"
"node": "6.10.2"

声明

该APP所用到的API均由 「腾讯NBA」提供,本人采取非正常手段获取。获取有侵犯权益的嫌疑,如追责,请删除。请您了解相关情况,并保证不侵犯「腾讯NBA」的相关利益,并遵守开源协议,谢谢!!!

项目描述

  • 获取当日比赛的比分信息,支持当日赛程的文字直播, 支持数据实时刷新功能
  • 新闻列表,查看新闻详情
  • 针对不同的球队粉丝有不同的社区,实现加载评论详情、评论功能(不支持)
  • 可查看当前球队排行、当日、当赛季球员榜单和球队赛季榜单
  • 可查看球员详细信息
  • 可查看球队详细信息
  • 实现新闻的分享功能
  • 实现Android的返回功能(有bug待修复)
  • 支持Android沉浸式状态栏
  • 添加AndroidiOS启动页
  • 新增Android热更新, iOS待验证(没有证书)

项目运行

  • 配置好react native开发环境,可参阅 环境搭建
  • clone代码,执行npm install安装依赖库(node_modules)
  • react-native run-ios/android

组件使用

  • npm install react-native-scrollable-tab-view --save

  • npm install react-native-deprecated-custom-components --save

  • npm install --save prop-types

  • 安装 reduxreact-reduxredux-thunk

    • npm install --save redux
    • npm install --save react-redux
    • npm install --save redux-thunk
  • npm install react-native-orientation --save

  • npm install react-native-wechat --save

  • npm install react-native-splash-screen --save

项目问题处理

  • 如遇到安装Navigator时报错

    • 安装react-native-deprecated-custom-components
    • NavigatorBreadcrumbNavigationBar.js相关96ES6写法
    • 请到github替换react-native-deprecated-custom-components中的Navigator.js文件
  • 如遇到安装react-native-viewpager时报错(RN版本问题)

    由于react-native的版本更新很快,而作者还没有来的急更新库,所以需要我们手动把相关代码转变为ES6写法;

    • DefaultViewPageIndicator.js 文件中引入PropTypes = require('prop-types');(不解释)
    • ViewPager.js 中引入createReactClass = require('create-react-class'); 并把 ViewPager组件的声明变为var ViewPager = createReactClass({})这种方式
    • 直接替换ViewPager.jsDefaultViewPageIndicator.js 文件
  • 在打Android包时遇到unable to load script from assets 'index.android bundle'

    • react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
    • react-native run-android

    这个index.android.bundle是用来调用原生控件的js脚本,每次当你改变了 index.android.js,你都需要使用上面的代码片段,来及时的更新index.android.bundle,然后打包才可以把新的index.android.js应用上,所以当没有index.android.bundle文件时,RN是无法运行的.

  • 使用react-native-splash-screen时报java.lang.UnsupportedOperationException: Can't convert to color: type=0x1

    看这里

  • 使用react-native-splash-screen时报 java.lang.NoSuchFieldException: No field mAssets in class Landroid/content/res/MiuiResourcesImpl

    Android Studio --> File --> Invalidate Caches/Restart 试一下,如果这个不行,那就gg

  • 微信分享执行react-native link之后iOS需要手动link

    参考这边文章
    bug请移步这里

  • 热更新pushy配置教程

    看这里

Android签名

  • 签名文件为ibinbin.jks
  • 密码:5ibinbin
  • aliaschina
  • ./gradlew assembleRelease Android打包

备注

APP开发基本完成,Android遇到两个问题暂时还没有解决,①监听Android返回再次进入之后无法点击,②scrollableTabview使用虚拟键返回之后才能显示。个人怀疑和rn版本有关,重构的时候再来看!!!

相关图片

NBAPlayer

About

NBA Player是由React Native创作的集比赛直播、新闻资讯、数据查询为一体的APP,支持Android和iOS双平台

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published