HarmonyOS之自选股App

news2024/11/24 16:22:53
支持在 鸿蒙、安卓、苹果设备上运行。

1.界面效果展示 

                                

                               

                               

2.数据存储

数据存储采用的是官方的  @ohos.data.relationalStore.relationalStore

stock_code表用来存储A股市场5000多家公司的股票代码和名称等信息

const TAB_STOCK_CODE = "stock_code"
const CREATE_TABLE_CODE = "CREATE TABLE IF NOT EXISTS "+TAB_STOCK_CODE+" ("
  + "id INTEGER PRIMARY KEY AUTOINCREMENT, "
  + "code TEXT , "
  + "name TEXT , "
  + "market TEXT,"
  + "pinyin TEXT ) "

stock_group 表存储 分组信息

const TAB_STOCK_GROUP = "stock_group"
const CREATE_TABLE_GROUP = "CREATE TABLE IF NOT EXISTS "+TAB_STOCK_GROUP+" ("
  + "id INTEGER PRIMARY KEY AUTOINCREMENT, "
  + "name TEXT , "
  + "seq TEXT  ) "

stock_group_code 表存储分组添加的的自选股信息

const CREATE_TABLE_GROUP_CODE = "CREATE TABLE IF NOT EXISTS "+TAB_STOCK_GROUP_CODE+" ("
  + "id INTEGER PRIMARY KEY AUTOINCREMENT, "
  + "group_id INTEGER , "
  + "code TEXT , "
  + "market TEXT ,"
  + "remark TEXT ,"
  + "seq TEXT  ) "

 3.实时股价接口

获取实时股价的免费接口为 

https://qt.gtimg.cn/q=sh600519 ,末尾6位为公司股票代码,sh为上市公司所在市场。可以同时请求多个,中间用逗号分隔,比如 https://qt.gtimg.cn/q=sh600519,sz000858

同时请求贵州茅台和五粮液的实时价格。

浏览器发起请求返回的数据如下:

v_sh600519="1~贵州茅台~600519~1541.50~1555.00~1532.29~48318~23653~24665~1541.50~10~1541.37~1~1541.33~4~1541.20~8~1541.13~1~1541.98~2~1541.99~3~1542.00~10~1542.01~1~1542.05~6~~20240617160005~-13.50~-0.87~1548.77~1511.01~1541.50/48318/7400883243~48318~740088~0.38~24.82~~1548.77~1511.01~2.43~19364.29~19364.29~8.08~1710.50~1399.50~1.04~2~1531.70~20.12~25.91~~~0.74~740088.3243~0.0000~0~ ~GP-A~-10.69~-4.80~2.92~32.54~28.33~1915.89~1511.01~-6.49~-10.12~-10.25~1256197800~1256197800~4.35~-14.40~1256197800~~~-12.05~-0.04~~CNY~0~___D__F__N~1541.00~30"; 

 在 HarmonyOS平台上,由于中文会乱码,数据用~分隔会有问题,因此需要将返回结果通过 字符串的  reverse 方法进行反转,这样乱码的中文就到了字符串的末尾位置

;"03~00.1451~N__F__D___~0~YNC~~40.0-~50.21-~~~0087916521~04.41-~53.4~0087916521~0087916521~52.01-~21.01-~94.6-~10.1151~98.5191~33.82~45.23~29.2~08.4-~96.01-~A-PG~ ~0~0000.0~3423.880047~47.0~~~19.52~21.02~07.1351~2~40.1~05.9931~05.0171~80.8~92.46391~92.46391~34.2~10.1151~77.8451~~28.42~83.0~880047~81384~3423880047/81384/05.1451~10.1151~77.8451~78.0-~05.31-~50006171604202~~6~50.2451~1~10.2451~01~00.2451~3~99.1451~2~89.1451~1~31.1451~8~02.1451~4~33.1451~1~73.1451~01~05.1451~56642~35632~81384~92.2351~00.5551~05.1451~915006~台茅州贵~1"=915006hs_v

反转之后,用~切割

 const ele: Array<string> = item.split('~').reverse()
        let chg:number = parseFloat(ele[83]) - parseFloat(ele[82])
        let _chg:string = chg.toFixed(2)
        let percent = chg/parseFloat(ele[82])*100;

反转后下标 83的位置为实时股价,82的位置为昨天的收盘价,相减计算出实时的涨跌百分比。 

4. 换肤 

使用 @Provide注解以及  @Consume注解 声明了变量 isDark来实现换肤的功能,实现整个App的主题颜色在黑暗色和明亮色之间切换。

5.注意事项

数据请求采用 第三方 axios 轻松搞定。

注意 axios 和 relationalStore 不支持在 PreViewer里面运行,.因此只能将工程编译为Android项目后,在AndroidStudio里面打包完成之后,安装在Android手机上来 看真实的效果。

6.使用说明

App安装成功之后,初次打开会将 5000多家上市公司的数据插入 stock_code表。

然后需要在分组模块 新建分组,保存后在自选模快就能看到刚刚新建的分组,点击对应分组下面的【添加】按钮就能添加自选股了。

7.代码

代码已上传到Gitee,地址 https://gitee.com/xukongjing/ark_ui_stock.git

代码克隆到本地以后,在项目的 .arkui-x/android/app/release目录下,放置着我打包好的android安装包,可以优先体验。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1833265.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于IOMMU问题的扩展

关联CSDN&#xff1a; Steam Deck OLED WLAN下载速率过低问题的排查和解决-CSDN博客 前言 如前所述&#xff0c;Steam Deck OLED WLAN速率低问题和IOMMU有一定的关系&#xff0c;这里我们对IOMMU为什么会对速率有影响进行一个较深入的理解。 对于IOMMU我相信大家通过网上的…

java面试(企业场景)

设计模式 工厂方法模式 简单工厂模式 简单工厂包括以下角色&#xff1a; 抽象产品&#xff1a;定义了产品的规范&#xff0c;描述了产品的主要特性和功能具体产品&#xff1a;实现或者继承抽象产品的子类具体工厂&#xff1a;提供了创建产品的机会&#xff0c;调用者通过该…

自动采集软件||自动采集主流电商商品详情SKU数据价格功能实现||电商API接口的应用

实现自动化淘宝商品数据采集的方法有多种&#xff0c;一种常见的方式是利用网络 Python 技术。您可以编写一个网络 Python程序&#xff0c;通过模拟浏览器发送请求&#xff0c;获取淘宝商品页面的数据&#xff0c;并对数据进行解析和提取&#xff0c;最终存储到数据库或文件中。…

力扣172. 阶乘后的零

Problem: 172. 阶乘后的零 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.要使得末尾出现0&#xff0c;则乘式中必须出现因子2与5&#xff1b; 2.而由于对于一个数的阶乘&#xff0c;易知因子2的个数是大于因子5的个数&#xff08;因为只要出现偶数则可以分解出…

1V升3V升压LED驱动WT7013

1V升3V升压LED驱动WT7013 WT7013是一款专业的高亮度LED驱动芯片&#xff0c;其具备提供1A驱动电流以支持3W的LED设备运行的能力。此款芯片以其高效率和低功耗的特性&#xff0c;使其在适用于使用1到2个碱性电池或者锂电池供电的LED照明设备中表现卓越。 WT7013 还配备有开路保…

DOS INT 21H中断 2号功能暗改AL

注意此时AX0200&#xff0c;DX0057 执行INT 21H之后&#xff1a; 可以看到执行完“??? [BXSI]”之后&#xff0c;AL就变为了57H&#xff0c;和DL相同。 部分INT 21H功能表&#xff1a; 所以究竟是什么原因呢&#xff1f; -------------------------------------------…

Shopee虾皮API:获取商家店铺商品列表

一、平台介绍 Shopee&#xff0c;作为东南亚及中国台湾地区领先的电商平台&#xff0c;为卖家提供了一个便捷、高效的销售渠道。作为卖家&#xff0c;能够将自己的商品展示在Shopee平台上&#xff0c;并通过平台的流量和工具&#xff0c;将商品销售给更多的潜在买家。 为了帮…

s2b2c这个模式如今发展得怎么样了?

在工业时代&#xff0c;每一个客户和消费者都是一个独立的个体&#xff0c;是被动地接受广告和被推送产品的&#xff0c;但在互联网时代&#xff0c;由于信息技术的基础设施和广泛沟通的社交互动&#xff0c;客户已经因为各种各样的社交场景事先聚集到一起。在个性化即大众化的…

基于WPF技术的换热站智能监控系统16--动态数据绑定

1、实现思路 1&#xff09;实时读取到的数据绑定到前台UI控件上&#xff0c;这个通过MVVM模式实现&#xff0c;同时注意实时读取必须通过任务task异步方式&#xff0c;这就需要读取PLC数据。 2&#xff09;UI控件的动作&#xff0c;如开或关水泵&#xff0c;必定能够将值写入…

【教学类-12-12】20240617通义万相-动物图片6张编故事(A4一页4条)

背景需求 【教学类-12-11】20240612通义万相-动物图片连连看&#xff08;A4一页3套&#xff09;-CSDN博客文章浏览阅读891次&#xff0c;点赞34次&#xff0c;收藏11次。【教学类-12-11】20240612通义万相-动物图片连连看&#xff08;A4一页3套&#xff09;https://blog.csdn.n…

新质生产力水平测算与中国经济增长新动能(dta数据及do代码)

时间跨度&#xff1a;2012-2022年 数据范围&#xff1a;全国30个省份&#xff08;不含港澳台、西藏&#xff09; 数据指标&#xff1a; 参考韩文龙等的做法&#xff0c;收集了全部控制变量与稳定性检验所需变量。 类型 符号 变量 变量定义 被解释变量 GDP 各省人均GDP…

【C++】:list容器的基本使用

目录 &#x1f680;前言一&#xff0c;list的介绍二&#xff0c;list的基本使用2.1 list的构造2.2 list迭代器的使用2.3 list的头插&#xff0c;头删&#xff0c;尾插和尾删2.4 list的插入和删除2.5 list 的 resize/swap/clear &#x1f680;前言 list中的接口比较多&#xff…

Elasticsearch-使用Logstash同步Mysql

1.安装logstash es服务器版本必须和logstash版本一致 7.9.2 在/usr/local/src/下新建logstash文件夹&#xff0c;解压 下载logstash后查看是否安装成功&#xff0c;在logstash的bin目录下输入指令&#xff1a; ./logstash -e input { stdin { } } output { stdout {} }2.my…

Java基础 - 练习(一)打印等腰三角形

Java基础练习 打印等腰三角形&#xff0c;先上代码&#xff1a; public static void main(String[] args) {// 打印等腰三角形System.out.println("打印等腰三角形&#xff1a;");isoscelesTriangle(); } public static void isoscelesTriangle() {// for循环控制行…

Git 代码管理规范 !

分支命名 master 分支 master 为主分支&#xff0c;也是用于部署生产环境的分支&#xff0c;需要确保master分支稳定性。master 分支一般由 release 以及 hotfix 分支合并&#xff0c;任何时间都不能直接修改代码。 develop 分支 develop 为开发环境分支&#xff0c;始终保持最…

车载ADAS面试题,零基础也能看得懂!

周一来刷刷ADAS相关的面试题吧&#xff01;相信看完这些题目&#xff0c;你会对ADAS有个更清晰的认识&#xff0c;即使你是零基础也可以轻松明白&#xff01; 1、描述 ADAS 系统的基本组成和功能 答案&#xff1a;高级驾驶辅助系统&#xff08;ADAS&#xff09;是一套融合了多种…

课设--学生成绩管理系统(核心代码部分)

欢迎来到 Papicatch的博客 系统介绍 课设--学生成绩管理系统&#xff08;一&#xff09;-CSDN博客 课设--学生成绩管理系统&#xff08;二&#xff09;-CSDN博客 课设--学生成绩管理系统&#xff08;三&#xff09;-CSDN博客 目录 &#x1f349;内部接口 &#x1f348; 登…

探索未来工作新伙伴:机器人流程自动化(RPA)揭秘

想象一下&#xff0c;如果你的日常工作中那些繁琐、重复的任务&#xff0c;比如数据录入、文件整理、邮件发送等&#xff0c;都能自动完成&#xff0c;你将拥有更多时间专注于真正需要创造力和智慧的工作&#xff0c;是不是听起来就像拥有了一个私人助理&#xff1f;这并不是遥…

基于Java的度分秒坐标转纯经纬度坐标的漂亮国基地信息管理

目录 前言 一、空间表设计 1、物理表结构 二、后台数据管理 1、数据去重 2、去重的具体实现 3、度分秒数据格式转换 4、具体的转换方法 5、新增界面的实现 三、数据管理界面 总结 前言 众所周知&#xff0c;漂亮国在全球范围内部署了大量的基地&#xff0c;用以维持其…