HarmonyOS之自选股App

支持在 鸿蒙、安卓、苹果设备上运行。

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.rhkb.cn/news/355311.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter-无限循环滚动标签

1. 序章 在现代移动应用开发中&#xff0c;滑动视图是常见的交互模式之一。特别是当你需要展示大量内容时&#xff0c;使用自动滚动的滑动视图可以显著提升用户体验。在这篇文章中&#xff0c;我们将讨论如何使用 Flutter 实现一个自动滚动的列表视图。 2. 效果 3. 实现思路 …

C语言 | Leetcode C语言题解之第171题Excel表列序号

题目&#xff1a; 题解&#xff1a; int titleToNumber(char* columnTitle) {int number 0;long multiple 1;for (int i strlen(columnTitle) - 1; i > 0; i--) {int k columnTitle[i] - A 1;number k * multiple;multiple * 26;}return number; }

HTML静态网页成品作业(HTML+CSS)——手机电子商城网页(4个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有4个页面。 二、作品演示 三、代…

【面试干货】抽象类与接口的区别

【面试干货】抽象类与接口的区别 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java编程中&#xff0c;抽象类和接口是两个非常重要的概念&#xff0c;它们都为代码的可扩展性和复用性提供了基础。但是&#xff0c;它们之间也有一些明显…

linux精通 4.1

2.1.3 http服务器实现 目的 reactor应用——webserver webclient 每次上课前 看大纲down code 复习&#xff1a; 不行啊 编译给的代码报错啊 给的最新的不是0430那一版就不行啊 reactor.c:(.text0x254): relocation truncated to fit: R_X86_64_PC32 against symbol begin de…

基于微信共享充电桩小程序毕业设计作品成品(3)开发技术文档_充电桩小程序前端技术栈

后台管理系统文件 所在路径&#xff1a;后台源码ht目录是后台 绿色显示的是系统框架&#xff0c;不要动 位置程序名说明源码根目录login.php后台登录页面源码根目录check_u_login.php后台登录处理程序ht 后台根目录index.php后台首页left.php后台左侧菜单u_logout.php退出登…

【数据分析】用Python做事件抽取任务-快速上手方案

目录 方法一&#xff1a;使用OmniEvent库安装OmniEvent使用OmniEvent进行事件抽取OmniEvent优点缺点 方法二&#xff1a;使用大模型使用GPT网页版进行事件抽取事件类型列表 大模型优点缺点 总结 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;事件抽取是一项关键任…

工程施工安全检测嵌入式解决方案

工程施工安全检测嵌入式解决方案 1 范围1.1 引言1.2 系统概述1.3 文档概述 2 工程施工安全检测系统应用场景2.1 作业操作安全检查2.2 受限空间作业安全检测2.3 应急设备操作行为检测2.4 动火作业安全检测 3 工程施工安全检测系统设计方案概述3.1 AI识别系统3.2 AI关键技术介绍3…

武汉工程大学24计算机考研数据,有学硕招收调剂,而专硕不招收调剂!

武汉工程大学是一所以工为主&#xff0c;覆盖工、理、管、经、文、法、艺术、医学、教育学等九大学科门类的多科性教学研究型大学&#xff0c;是湖北省重点建设高校、湖北省国内一流学科建设高校&#xff0c;入选卓越工程师教育培养计划、中西部高校基础能力建设工程、“新工科…

【计算机网络篇】数据链路层(11)在数据链路层扩展以太网

文章目录 &#x1f354;使用网桥在数据链路层扩展以太网&#x1f95a;网桥的主要结构和基本工作原理&#x1f388;网桥的主要结构&#x1f50e;网桥转发帧的例子&#x1f50e;网桥丢弃帧的例子&#x1f50e;网桥转发广播帧的例子 &#x1f95a;透明网桥&#x1f50e;透明网桥的…

深圳学区房断崖式跌价,3年跌去10万元,更可怕的还在后面

就在房市回暖之际&#xff0c;深圳的学区房却传来让人震惊的消息&#xff0c;深圳八卦岭有小区的房价三年时间从14万元每平方跌至4万元每平方&#xff0c;这对于当下的楼市无疑是重磅炸弹&#xff0c;对人们的购房行为将产生重要影响。 深圳这个受到关注的小区为一个宿舍小区&a…

【鸿蒙】HUAWEI DevEco Studio安装

HUAWEI DevEco Studio介绍 面向HarmonyOS应用及元服务开发者提供的集成开发环境(IDE)&#xff0c; 助力高效开发。 DevEco Studio当前最新版本是&#xff1a; 3.1。 DevEco Studio计划里程碑 版本类型说明 下载 下载网址&#xff1a;DevEco Studio安装包官⽅下载 双击运行…

数据结构—排序、查找、图论和字符串算法之Java实例

一&#xff1a;引言 在编程的海洋中&#xff0c;算法是程序员的灵魂之光。它们不仅指引着代码的前进方向&#xff0c;更能解决难题&#xff0c;提升效率。虽然各式各样的算法琳琅满目&#xff0c;但其中有一些却是每位程序员必定会遇到且应当深刻掌握的。本文将带您走进这些至…

信息打点-协议应用_内网资产_CDN_WAF_负载均衡_防火墙

服务信息获取-协议应用&内网资产 常见端口默认对应的服务&#xff1a; 特殊服务端口&#xff1a; 端口扫描工具&#xff1a; 旁注查询 旁注查询&#xff0c;又称为旁站查询或同服务器网站查询&#xff0c;是一种信息安全和网络侦查技术&#xff0c;主要用于发现与目标网站…

java实现一个LRU缓存算法。

//LRU&#xff08;Least Recently Used&#xff09;缓存算法是一种常见的缓存淘汰策略&#xff0c; // 它的基本思想是保留最近被访问过的数据&#xff0c;淘汰最久未被访问的数据。下面是一个使用Java实现的简单LRU缓存算法&#xff1a; import java.util.LinkedHashMap; impo…

电脑上使用备忘录怎么查看编辑时间?能显示时间的备忘录

在快节奏的生活中&#xff0c;很多人喜欢使用备忘录来记录日常事项和重要信息。备忘录不仅能帮助我们捕捉灵感&#xff0c;还能确保重要任务不被遗漏。然而&#xff0c;有时候我们需要知道某条记录的编辑时间&#xff0c;以便于回溯和整理信息。如果备忘录不能显示编辑时间&…

SpringBoot复习

第一章 SpringBoot开发入门 1.Springboot的优点。 ① 可快速构建独立的Spring应用。 ② 直接嵌入Tomcat、Jetty和Undertow服务器&#xff08;无须部署WAR文件&#xff09; ③ 通过依赖启动器简化构建配置 ④ 自动化配置Spring和第三方库 ⑤ 提供生产就绪功能 ⑥ 极少的代码生成…

【Mybatis-plus】查询及更新为null或空字符串

前言 查询为 null 或者 空字符串时&#xff0c;可以使用 or() 关键字。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 查询 使用 LambdaQueryWrapper 查询 parentCode 为 null 或者 空字符串 的数据。 LambdaQueryWrapper<CompanyEntity> qu…

视频集市新增支持多格式流媒体拉流预览

流媒体除了常用实时流外还有大部分是以文件的形式存在&#xff0c;做融合预览必须要考虑多种兼容性能力&#xff0c;借用现有的ffmpeg生态可以迅速实现多种格式的支持&#xff0c;现在我们将按需拉流预览功能进行了拓展&#xff0c;正式支持了ffmpeg的功能&#xff0c;可快捷方…

探索FlowUs息流:个人和团队知识管理解决方案|FlowUs稳定保障你的笔记安全无忧

FlowUs息流&#xff1a;稳定运营保障你的笔记安全无忧 在知识管理工具的选择上&#xff0c;稳定性是用户最关心的问题之一。FlowUs息流以其稳定的运营记录&#xff0c;为用户提供了一个可靠的工作环境。我们深知&#xff0c;一个知识管理平台的稳定性直接影响到团队的生产力和…