shinny-futures-android

Introduction: 一个开源的 android 平台期货行情交易终端
More: Author   ReportBugs   OfficialWebsite   
Tags:

一个开源的 android 平台期货行情交易终端

Preview


Install

快速点亮: 您可以点击代码仓库的Release标签,安装相应版本的 apk 文件至手机端,Android 系统最低要求是4.4
当然,您也可以下载导入Android Studio中运行安装,下面着重介绍一下开发配置:

  • Android Studio 版本:3.2.1
  • Gradle 版本:4.4
  • JDK:使用 AS 内置 jre
  • bugly:项目中嵌入了 bugly 平台的升级和热更新模块,具体使用见bugly 文档中心
  • 期货公司版本:在模块的 build.gradle 文件中包含多个期货公司版本,您可以在 AS 的Build Variant中选择kuaiqixiaoq全期货公司版本进行模拟测试
  • 模拟账号:可以到 simnow 官网注册(simnow 账号注册),然后在登陆页期货公司选择S 上期技术
  • 提问:您可以在issue中给我们留言,也可以加入 QQ 群611806823交流讨论

    Function

    软件的主要功能:查看行情以及进行交易
  • 首页
    • 导航栏:完成各个交易所合约列表的切换以及不同页面的跳转
    • 合约列表显示:合约报价单显示,长按添加/删除自选
    • 账户:查看账户资金
    • 持仓:跳转到合约详情页
    • 成交:查看成交记录
    • 转账:进行银期转帐
    • 反馈:用户意见查看与反馈
    • 搜索:合约搜索
  • 合约详情页
    • 当日:显示分时图
    • K 线:查看不同周期K线
    • 附图:附图指标
    • 信息:显示合约盘口信息
    • 持仓:显示账户持仓列表
    • 委托:显示账户下单情况
    • 交易:三键下单板进行交易
  • 云条件单页
    • 价格触发
    • 区间触发
    • 开盘抢单
    • 时间触发
  • 止盈止损页
    • 价格触发
    • 时间触发

Code Architecture

Data

根据 websocket 协议进行实时数据更新

  • 利用 OkHttp 从服务器获取合约列表文件进行解析
  • 利用 java-websocket 框架分别与行情和交易服务器进行连接,获取行情数据和期货公司列表数据
  • 对服务器发过来的 json 数据进行解析
  • 数据解析完毕后利用 android 广播机制进行行情数据以及交易数据的刷新

    UI

    界面由 activity、fragment 以及 adapter 三个模块构成,分别负责作为容器、数据展示与交互以及数据绑定刷新
  • 利用 Support Library 库中的 RecyclerView 实现合约报价列表、Drawlayout 实现抽屉导航
  • 利用 MPAndroidChart 框架完成K线图的绘制
  • 利用 dataBinding 框架部分页面数据的绑定,简化代码
  • 自定义下单软键盘

    Framework

  • Gson
  • EventBus
  • Okhttp
  • nv-websocket-client
  • MPAndroidChart
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools