【瓣芽·Banya】React Native 构建的仿豆瓣应用

2023-05-16

今天介绍一个用 React Native 创建的应用,集合了豆瓣电影,图书等信息展示功能的 app。

github 地址 → 【瓣芽·Banya】

项目使用了react-navigation 做路由。redux 做部分状态管理,redux-persist 做数据本地化 。采用了少量的第三方库,并同时兼容 Android 和 iOS 端。项目适合初级 RN 开发者,对于 React Native 的学习具有一定的借鉴意义。

1. 功能

  • 电影榜单以及电影,影人详情信息展示
  • 本地收藏电影
  • 根据定位获取实时上映数据
  • 预告片播放,图片缩放查看
  • 数据存储,部分数据支持本地获取
  • 主题换肤,全局设置自定义颜色

2. 基本配置:

  • react-navigation 路由管理
  • react-redux 状态管理
  • redux-persist 数据持久化
  • prop-types 类型检查

3. 主要第三方库:

  • react-native-swiper 轮播组件
  • react-native-modal 弹出框组件
  • react-native-linear-gradient 色彩渐变组件
  • react-native-image-zoom-viewer 图片预览查看组件
  • react-native-video 视频播放组件
  • react-native-scrollable-tab-view 页面切换 tab-view 组件

4. 运行截图

换肤蓝色之后:

5 .项目结构

  • component 自定义组件
  • constant  配置常量,资源文件
  • navigation 路由配置
  • redux redux 状态数据管理
  • util  网络请求等公共函数
  • views screen 页面

以上是个人开源项目,任何问题欢迎交流,共同学习!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【瓣芽·Banya】React Native 构建的仿豆瓣应用 的相关文章

  • 在android中使用本机opencv FileStorage

    我正在尝试编写一个 Android 应用程序 使用 opencv 计算关键点和描述符并存储它们 但是我在 cv FileStorage 方面遇到了麻烦 我实际上是通过文件路径抛出本机方法 相同的路径 不同的文件结尾 还用于在javaside
  • 黑马React:基础拓展

    黑马React D10 基础拓展 Date December 18 2023 useReducer 基础使用 作用 让 React 管理多个 相对关联 的状态数据 补充 和useState的作用类似 用来管理相对复杂的状态数据 特点 use
  • 在 Visual Studio 中逐步完成“托管到本机转换”?

    在试图回答的同时这个问题 https stackoverflow com questions 9378626我决定需要在调试器视图中手动单步执行编组过程 不幸的是 Visual Studio 似乎直接跳过了所有这些有趣的代码 这是 P In
  • 如何获取android的native方法源码

    是否可以获取并观看Android程序组件的本机方法代码 如果有人知道如何做 请告诉我 您可以使用 查找 Android 本机方法的源代码 以下服务之一 AndroidXRef http androidxref com GitHub http
  • 有没有可以填充本机 Windows 表单字段的 python 模块?

    我想知道有哪些 Python 模块可以帮助我在本机 Windows 应用程序 IDE 中输入表单数据 例如 受密码保护的 USB 具有输入密码的应用程序 我想通过运行应用程序并使用密码填写表单来自动化此过程 提前致谢 roo7break 图
  • 可编程地通过扬声器发出和播放声音 C++

    我正在用本机 vc 不是 Net 制作游戏 我正在寻找一种通过真正的扬声器 不是内部扬声器 播放噪音 可能是 8 位或其他 的方法 我了解 PlaySound 但我不想让我的 EXE 变大 我想对声音进行编程 是否有一种 api 方式 有点
  • 运行 JNI android 应用程序 A/libc 时收到错误消息: Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 17729

    当我运行 Android 应用程序时 我在其中使用 JNI 函数和 C 代码时遇到错误 当它运行时 我收到以下消息 致命信号 11 SIGSEGV 位于 0xe480001d 代码 1 线程 5465 最后这是我的代码 JNIEXPORT
  • websocket 是否仅适用于浏览器

    我正在尝试使用第 3 方库编写本机 Objective C 和本机 Android 应用程序 我已经选择了图书馆并且我已经在这方面取得了进展 我团队中的一个人认为 目前 websocket 的实现主要集中在 Web 浏览器上 如果我们使用这
  • JPA 本机查询删除

    我尝试使用此本机查询从表中删除行列表 NamedNativeQuery name WebGroup DeleteIn query DELETE FROM WebGroup WHERE WebGroup GROUP ID IN IDsList
  • 编写软件时 64 位相对于 32 位的优势 [重复]

    这个问题在这里已经有答案了 如果我有一个像 HelloWorld 这样用 C 编写的简单程序 然后我在 32 位和 64 位的机器上编译它 我会得到两个不同的二进制文件做同样的事情 但它们是不同的机器代码 只有 32 位二进制文 件能够在
  • 如何使用 Gradle 将版本化的 *.so 文件包含到 apk 中?

    我尝试使用一些预编译的本机库构建 Android 应用程序 liba so and libb so 1 2 3 库被放置在 jniLibs 子目录中 构建APK文件后 仅liba so包含在其中 但不包含libb so 1 2 3 结果是可
  • Android 4.0 ICS 中通话音频流修改

    我一直在从事一个项目 该项目将从呼叫流修改中受益匪浅 这已被反复提及 假设为无法实现 因为大多数人认为通话音频的硬件环路与设备的主 MCU 完全断开 诸如此类的问题将音频流式传输至 Android 电话 https stackoverflo
  • setprop libc.debug.malloc = 1 不起作用

    我尝试使用 setprop libc debug malloc 1 来找出泄漏 我制作了一个演示程序并在其中引入了内存泄漏 但上述标志无法检测到此泄漏 我尝试了以下命令 adb shell setprop libc debug malloc
  • PropTypes React Native 不是一个对象

    我的代码在本地反应时遇到 PropTypes 问题 import React Component PropTypes from react import Text from react native export default class
  • 访问 Microsoft.Win32.UnsafeNativeMethods?

    Microsoft 在 NET 框架中包含了一个非常好的 Windows API 包装器 它存储在Microsoft Win32 UnsafeNativeMethods Microsoft Win32 SafeNativeMethods a
  • 如何制作 Linux GUI?

    我的主要经验是 C C 所以我更愿意继续使用它们 我不想使用 QT GTK 或 wxWidgets 或任何工具包 我想学习本机编程 但这违背了目的 考虑到这一点 我也想避免使用 Java 我了解 gnome xfce 和 KDE 等都是 L
  • 检查是否使用 React Native 启用了位置服务

    我目前正在开发一个使用 React Native 的应用程序 该应用程序需要启用位置服务才能实现其某些功能 我一直在研究是否有一种简单的方法来测试用户是否打开了它们 这样如果没有打开 我可以显示不同的视图 除了 IOS 或 Android
  • 加载两个包含相同符号的本机库时出现内存问题

    我正在尝试使用 JNA 同时操作本机 非线程安全的 Fortran 库 由于该库不是线程安全的 我尝试实例化同一库的不同副本 但显然它们似乎共享内存地址 如果我修改一个库中的一个变量 则另一个库中的变量也会被修改 这种行为使得它们不可能在单
  • JPA 2.0 本机查询结果作为地图

    我运行 JPA 2 0 本机查询 如下所示 Query query em createNativeQuery SELECT NAME SURNAME AGE FROM PERSON List list query getResultList
  • 如何在 maven 的 java.library.path 变量中包含本机库

    我正在尝试为我的应用程序使用 JNotify 它有以下要求 只需使用以下命令运行 jar 文件即可测试 JNotify java Djava library path jar jnotify VER jar 目录 然后 JNotify 将监

随机推荐

  • 大数据012——HBase

    1 HBase 简介 HBase Hadoop Database xff0c 是一个高可靠性 高性能 面向列 可伸缩 实时读写的分布式数据库 xff1b 在Hadoop生态圈中 xff0c 它是其中一部分且利用Hadoop HDFS作为其文
  • Hadoop源码分析——MapReduce输入和输出

    Hadoop中的MapReduce库支持集中不同的格式的输入数据 例如 xff0c 文本模式的输入数据的每一行被视为一个key value键值对 key是文件的偏移量 xff0c value是那一行的内容 另一种常见的格式是以key进行排序
  • 大数据013——Flume

    1 Flume 简介 Flume是由Cloudera软件公司提供的一个高可用的 xff0c 高可靠的 xff0c 分布式的海量日志采集 聚合和传输的系统 xff0c 后与2009年被捐赠了apache软件基金会 xff0c 为hadoop相
  • Hadoop源码分析——计算模型MapReduce

    MapReduce 是一个计算模型 xff0c 也是一个处理和生成超大数据集的算法模型的相关实现 用户首先创建一个Map函数处理一个基于key value pair的数据集合 xff0c 输出中间的基于 key value pair 的数据
  • 从SDLC到DevSecOps的转变

    OSSTMM 根据开源安全测试方法手册OSSTMM Open Source Security Testing Methodology Manual 的表述 安全测试包括但不限于以下几种做法 漏洞扫描 安全扫描 渗透测试 风险评估 安全审核
  • 大数据014——Storm 简介及入门案例

    分布式实时数据处理框架 Storm 1 Storm简介与核心概念 1 1 Storm 简介 全称为 Apache Storm xff0c 是一个分布式实时大数据处理系统 它是一个流数据框架 xff0c 具有最高的获取率 它比较简单 xff0
  • Hive与HBase整合详解

    参考之前小节的大数据010 Hive与大数据012 HBase成功搭建Hive和HBase的环境 xff0c 并进行了相应的测试 xff0c 并且在大数据011 Sqoop中实现Hive HBase与MySQL之间的相互转换 xff1b 本
  • 大数据015——Elasticsearch基础

    1 Elasticsearch 简介 Elasticsearch是一个基于Lucene的实时的分布式搜索和分析 引擎 设计用于云计算中 xff0c 能够达到实时搜索 xff0c 稳定 xff0c 可靠 xff0c 快速 xff0c 安装使用
  • 大数据015——Elasticsearch深入

    1 Elasticsearch 核心概念 1 1 cluster 代表一个集群 xff0c 集群中有多个节点 xff0c 其中有一个为主节点 xff0c 这个主节点是可以通过选举产生的 xff0c 主从节点是对于集群内部来说的 es的一个重
  • 大数据014——Storm 集群及入门案例

    分布式实时数据处理框架 Storm 1 Storm 集群 1 1 Storm 版本变更 版本编写语言重要特性HA 高可用0 9 xjava 43 clojule改进与Kafka HDFS HBase的集成不支持 xff0c storm集群只
  • 大数据016——Kafka

    1 Kafka 简介 Kafka 是一个高吞吐量 低延迟分布式的消息队列系统 kafka 每秒可以处理几十万条消息 xff0c 它的延迟最低只有几毫秒 Kafka 也是一个高度可扩展的消息系统 xff0c 它在LinkedIn 的中央数据管
  • 大数据017——Scala基础

    Scala 是一门以 java 虚拟机 xff08 JVM xff09 为目标运行环境并将面向对象和函数式编程语言的最佳特性结合在一起的编程语言 你可以使用Scala 编写出更加精简的程序 xff0c 同时充分利用并发的威力 由于scala
  • 大数据017——Scala进阶

    Scala 基础语法 第二阶段 1 类和对象 1 1 类 1 xff09 简单类和无参方法 如下定义Scala类最简单形式 xff1a class Counter private var value 61 0 必须初始换字段 def inc
  • 大数据018——Spark(一)

    1 Spark 数据分析简介 1 1 Spark 是什么 Spark 是一个用来实现快速而通用的集群计算的平台 在速度方面 xff0c Spark 扩展了广泛使用的 MapReduce 计算模型 xff0c 而且高效地支持更多计算模式 xf
  • ROS 订阅RealsenseD435图像与opencv保存32位深度图像

    一 xff0c 通过ros订阅realsense图像 int main int argc char argv ros init argc argv 34 image listener 34 ros NodeHandle nh cv name
  • 测试左移和右移:不是左右逢源而是左右突击

    持续测试是在软件交付生命周期过程中 xff0c 以防控业务风险为目的 xff0c 将每一个业务交付阶段都辅以测试活动进行质量保障 xff0c 并尽最大可能自动化 xff0c 通过测试结果不断的反馈给制品过程的测试实践活动 随着持续测试实践的
  • 虚拟机ubuntu上安装make和cmake

    可先更新下apt xff1a sudo apt get update 首先安装make xff1a sudo apt get install ubuntu make sudo apt get install make sudo apt ge
  • ros学习笔记(十):树莓派 Ubuntu mate 16.04 开启vncserver 远程桌面+自启动+分辨率修改

    树莓派 Ubuntu mate 16 04 开启vncserver 远程桌面 43 自启动 43 分辨率修改 一 环境 1 树莓派3b 43 Ubuntu 16 04 mate 2 我是在win10 安装的 vncview 软件进行远程桌面
  • 梯度、散度、旋度的关系

    转自 百度文库https wenku baidu com view 681228626137ee06eff918c4 html 知乎上一篇不错的文章 https www zhihu com question 24591127 麦克斯韦方程组
  • 【瓣芽·Banya】React Native 构建的仿豆瓣应用

    今天介绍一个用 React Native 创建的应用 xff0c 集合了豆瓣电影 xff0c 图书等信息展示功能的 app github 地址 瓣芽 Banya 项目使用了react navigation 做路由 redux 做部分状态管理