CN113391861B - 基于安卓平台的表格动态绘制方法 - Google Patents

基于安卓平台的表格动态绘制方法 Download PDF

Info

Publication number
CN113391861B
CN113391861B CN202110558716.3A CN202110558716A CN113391861B CN 113391861 B CN113391861 B CN 113391861B CN 202110558716 A CN202110558716 A CN 202110558716A CN 113391861 B CN113391861 B CN 113391861B
Authority
CN
China
Prior art keywords
cell
minimum
android system
model
cells
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110558716.3A
Other languages
English (en)
Other versions
CN113391861A (zh
Inventor
王海龙
周军
杜周全
冯占远
张骞
王昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Network Engineering Institute of Systems Engineering Academy of Military Sciences
Original Assignee
Institute of Network Engineering Institute of Systems Engineering Academy of Military Sciences
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Network Engineering Institute of Systems Engineering Academy of Military Sciences filed Critical Institute of Network Engineering Institute of Systems Engineering Academy of Military Sciences
Priority to CN202110558716.3A priority Critical patent/CN113391861B/zh
Publication of CN113391861A publication Critical patent/CN113391861A/zh
Application granted granted Critical
Publication of CN113391861B publication Critical patent/CN113391861B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/183Tabulation, i.e. one-dimensional positioning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了基于安卓平台的表格动态绘制方法。本发明获取最小单元格列表和合并单元格信息列表,将两个列表合并去重入库,并逐个读取表格中每个单元格的内容和属性,查询单元格模型库进行单元格模型的生成和更新;最后结合表格所在布局大小,算出绝对布局的起始点、最小单元格的宽度和高度,依次计算出每个单元格的左上角标,并通过调用安卓系统绘图对象的绘制函数绘制,最终形成一张完整的表格。本发明一是解决了表格数据与应用深度融合的问题,能够在软件系统中直接查看编辑表格,也支持随时切换表格模板,操作更便捷。二是解决了表格绘制效率低、工作量大、代码冗余的问题,极大提升了表格绘制的灵活性,提高了表格绘制效率,降低了绘制成本。

Description

基于安卓平台的表格动态绘制方法
技术领域
本发明属于计算机软件技术领域,特别是一种基于安卓平台的表格动态绘制方法,主要用于特殊行业在执勤、训练等活动现场自动采集多种类型数据,自动绘制生成安卓智能终端平台的各种标准形式的表格文件。
背景技术
目前,现有应用中的表格运用大都是通过调用安卓平台上的office、wps 等软件对表格数据进行操作,操作完成后也只能保存为xls文件,单独存储,而无法将表格内的元素和数据与各应用软件进行深度融合,存入应用软件系自身的数据库。少数应用开始尝试对表格的利用和操作进行了简单探索,能够通过底层代码的编写实现对表格内容和样式的固化,采用一事一办的策略,预先在应用中固化常用的表格,后期再根据需求的变化进行代码升级替代,从而实现在安卓平台下对表格的简单处理功能。
调用现有软件实现表格运用的方式,必须离开该应用系统,无法同时操作应用系统和表格文件,无法将表格数据与应用系统进行深度融合,不利于统计分析和大数据挖掘,且每次调用表格都会进行应用跳转,操作时延长,资源占用大,使用效率低。
底层代码固化表格的方式,适用于表格数量相对较少、内容简单固定、变化周期长的应用,在一次固化表格后能够在较长时间内进行有效应用,而对于表格数量多、内容复杂、变化周期短的应用,底层代码固化的方式,将会带来大量的工作量和成本,同时由于每段代码只能对应唯一表格,难以实现代码复用,造成代码冗余,结构庞大,运行效率低下。
发明内容
本发明的目的旨在解决在安卓系统上office、wps自带的表格功能难以满足复杂数据现场录入场景下操作困难、效率低、易出错等问题。
为实现上述目的,本发明提供了一种用于安卓系统的动态表格绘制方法,包括步骤:
S1:获取目标表格的总行数和总列数的步骤;
S2:形成最小单元格列表和合并单元格列表的步骤;
在该步骤中,获取目标表格中的最小单元格及其属性,形成最小单元格列表;获取合并的单元格及其属性并形成合并单元格列表;
所述属性包括左上角标、右下角标、类别、值,记为(X1,Y1)、(X2,Y2)、 t、val,其中,角标表示单元格某个角位置与表格起始位置相间隔的最小单元格个数,符号表示的形式为(X,Y),X表单元格某个角的位置与表格起始位置横向相间隔的最小单元格个数,Y表示单元格某个角的位置与表格起始位置纵向相间隔的最小单元格个数,左上角标(X1,Y1)是单元格左上角位置的角标,右下角标(X2,Y2)是单元格右下角位置的角标,类别t用于区分单元格的形状,具有同样形状的单元格归为一类;
S3:最小单元格列表和合并单元格列表两列表去重合并的步骤;
该步骤中,先从最小单元格列表中剔除在合并单元格列表中重复出现的单元格,然后将两列表进行合并形成该表格的单元格属性参数表;
S4:更新单元格绘制模型库的步骤;
该步骤中,针对步骤S3得到的单元格属性参数表list的每个单元格,遍历单元格模型库,判断与单元格对应的单元格模型是否在单元格模型库中已经存在,所述与单元格对应的单元格模型是指与单元格具有相同的类别和相同的值,如果不存在,则利用安卓系统画图对象的绘制函数生成该单元格的单元格模型,存入并更新单元格模型库;
所述单元单元格模型表示为:M(t,a,b,val),其中,M(*)表示单元格模型, t表示单元格的类别,a、b分别为单元格的宽和高,a=X2-X1,b=Y2-Y1,单元格的宽和高用最小单元格的倍数进行度量,val为单元格的值,具有相同类别和值的单元格具有相同的单元格模型;
S5:计算最小单元格宽度和高度的步骤;
该步骤中,获取表格绘制布局区域的大小,结合步骤S1获取的目标表格总行数和总列数,计算出最小单元格的宽度w和高度h;
S6:计算单元格列表中各个单元格的起始坐标的步骤,
在步骤中,根据目标表格的总行数、总列数,并结合表格绘制布局区域的大小、以及最小单元格的宽度w和高度h,计算得到目标表格每个单元格在表格绘制布局区域中的左上角坐标(x1,y1),x1是横坐标,y1是纵坐标;
S7:绘制表格的步骤;
该步骤中,遍历单元格列表绘制目标表格的各个单元格,目标表格的单元格的绘制方法表示为F{(x1,y1),w,h,M(t,a,b,val)},其含义是,先根据单元格的由类型t和值val构成的属性组合,调用单元格绘制模型库中的相应的单元格绘制模型M(t,a,b,val),然后利用安卓系统画图对象的绘制函数对单元格绘制模型M(t,a,b,val)进行缩放,宽度由a缩放为a×w,高度从b缩放为b×h,接着以单元格的起始坐标(x1,y1)将缩放后的单元格模型绘制于绘制布局区域的相应位置。
进一步的,步骤S4中,如果单元格的值不含控件库类,则直接利用安卓系统画图对象的绘制函数生成单元格模型,如果单元格值val含有控件库类还需从安卓系统中获取对应的控件库类,然后利用安卓系统画图对象的绘制函数生成单元格模型,
进一步的,步骤S5计算最小单元格的宽度w和高度h时,需要减去上下左右边距及最小单元格之间的间隔线宽度。
进一步的,步骤S6中计算得到目标表格每个单元格在表格绘制布局区域中的左上角坐标时,要使用上下左右边距及最小单元格之间的间隔线宽度。
进一步的,所述安卓系统画图对象的绘制函数是drawLine函数。
本发明还提供了一种用于安卓系统的动态表格绘制平台,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的用于安卓系统的动态表格绘制方法。
本发明还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述的用于安卓系统的动态表格绘制方法。
本发明的有益效果:
一是解决表格数据与应用深度融合的问题,通过基于安卓平台的动态表格绘制技术,实现表格的绘制和表格数据的分析与提取,将相关数据存入应用自身的统一数据库中,实现整个应用的融合统计分析和大数据挖掘应用等。同时克服了调用office、wps等软件带来的调用消耗,并且不存在跨软件数据传递问题,能够在软件系统中直接查看编辑表格,也支持随时切换表格模板,操作更便捷。
二是解决表格绘制效率低、工作量大、代码冗余的问题,通过基于安卓平台的动态表格绘制技术,分析构建一个个单元格模型,建立单元格库,并不断迭代更新,后续进行表格绘制时,只需调用现有的模型,绘制单元格库中没有的新模型并存入单元格库,便能够迅速实现整个表格的绘制,极大提升了表格绘制的灵活性,提高了表格绘制效率,降低了绘制成本。
附图说明
图1为本发明用于安卓系统的动态表格绘制方法的流程图。
图2为本发明具体实施例中的目标表格示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细的说明。
本发明针对使用安卓系统对表格数据处理能力较弱的问题,按照一定格式的模板将信息系统运行所需数据录入,设计了一种表格动态绘制技术,解决了开发工作量极其巨大、产品灵活性较差的技术难点。该发明的使用,能够使得在安卓系统上对复杂表格的操作成为了可能,能够解决在安卓系统上的应用内部自定义使用表格模型整理训练、演练、实战后的数据带来的操作复杂、工作效率低、合并易出错等问题。
本发明具体实施方式中,先利用jxl访问技术获取表格的总行数和总列数,获取最小单元格列表和合并单元格信息列表,将两个列表合并去重入库。并逐个读取表格中每个单元格的内容和属性,查询单元格模型库进行单元格模型的生成和更新;最后结合表格所在布局大小,算出绝对布局的起始点、最小单元格的宽度和高度,依次计算出每个单元格的左上角标,并通过调用安卓系统绘图对象的drawLine函数,按照角标信息进行横向和纵向绘制,最终形成一张完整的表格,大大提升了绘制表格的效率。
如图1所示,本发明第一具体实施方式中的用于安卓系统的动态表格绘制方法,具体包括步骤:
S1:获取目标表格的总行数m和总列数n的步骤;在本具体实施方式中利用jxl访问技术在安卓系统获取目标表格的信息。
S2:形成最小单元格列表和合并单元格列表的步骤;
在该步骤中,获取目标表格中的最小单元格及其属性,形成最小单元格列表list1;获取合并的单元格及其属性并形成合并单元格列表list2;
所述属性包括左上角标、右下角标、类别、值,记为(X1,Y1)、(X2,Y2)、 t、val,其中,角标表示单元格某个角位置与表格起始位置相间隔的最小单元格个数,符号表示的形式为(X,Y),X表单元格某个角的位置与表格起始位置横向相间隔的最小单元格个数,Y表示单元格某个角的位置与表格起始位置纵向相间隔的最小单元格个数,左上角标(X1,Y1)是单元格左上角位置的角标,右下角标(X2,Y2)是单元格右下角位置的角标,类别t用于区分单元格的形状,具有同样形状的单元格归为一类;
S3:最小单元格列表和合并单元格列表两列表去重合并的步骤;
该步骤中,先从最小单元格列表list1中剔除在合并单元格列表list2中重复出现的单元格,然后将两列表进行合并形成该表格的单元格属性参数表 list;
S4:更新单元格模型库的步骤;
该步骤中,针对步骤S3得到的单元格属性参数表list的每个单元格,遍历单元格模型库,判断与单元格对应的单元格模型是否在单元格模型库中已经存在,所述与单元格对应的单元格模型是指与单元格具有相同的类别和相同的值,如果不存在,则利用安卓系统画图对象的绘制函数生成该单元格的单元格模型,存入并更新单元格模型库;
如果单元格的值val不含控件库类,则直接利用安卓系统画图对象的绘制函数生成单元格模型,如果单元格值val含有控件库类还需从安卓系统中获取对应的控件库类,然后利用安卓系统画图对象的绘制函数生成单元格模型。
所述单元单元格模型表示为:M(t,a,b,val),其中,M(*)表示单元格模型,t表示单元格的类别,a、b分别为单元格的宽和高,a=X2-X1,b=Y2-Y1,单元格的宽和高用最小单元格的倍数进行度量,val为单元格的值,具有相同类别和值的单元格具有相同的单元格模型;
S5:计算最小单元格宽度和高度的步骤;
该步骤中,获取表格绘制布局区域的大小,结合步骤S1获取的目标表格总行数和总列数,计算出最小单元格的宽度w和高度h,计算时需要减去上下左右边距及最小单元格之间的间隔线宽度;
S6:计算单元格列表中各个单元格的起始坐标的步骤,
在步骤中,根据目标表格的总行数、总列数,并结合表格绘制布局区域的大小、边距、间隔线宽、最小单元格的宽度w和高度h,计算得到目标表格每个单元格在表格绘制布局区域中的左上角坐标(x1,y1),x1是横坐标,y1是纵坐标;
S7:绘制表格的步骤;
该步骤中,遍历单元格列表绘制目标表格的各个单元格,目标表格的单元格的绘制方法表示为F{(x1,y1),w,h,M(t,a,b,val)},其含义是,先根据单元格的由类型t和值val构成的属性组合,调用单元格绘制模型库中的相应的单元格绘制模型M(t,a,b,val),然后利用安卓系统画图对象的绘制函数对单元格绘制模型M(t,a,b,val)进行缩放,宽度由a缩放为a×w,高度从b缩放为b×h,接着以单元格的起始坐标(x1,y1)将缩放后的单元格模型绘制于绘制布局区域的相应位置。
下面结合实例对本发明做进一步详细的描述,假设需要绘制如图2所示的表格。
S1、首先获取表格的总行数为4,总列数为8。
S2、将每个模板拆分成一个个单元格,并按单元格内容填写方式进行分类。如图2所示。首先获取最小单元格列表,那么①将被读取为两个,②将被读取为6个,最小单元格列表list1中则包含32个最小单元格;然后读取合并单元格列表list2,图2中均为合并过的,列表大小为8个。
S3、从list1中剔除已经存在在list2中的单元格,得到list1_temp,然后将list1_temp与list2合并,得到新的列表list,大小为8。
为每类单元定义属性,包括左上角标、右下角标、类别、值共4个参数,分别用(x1,y1)、(x2,y2)、t、val表示。当t=1时,代表①③⑤⑦所在类别;当t=2时,代表②④⑥所在类别;当t=3时,代表⑧所在类别。这样图2 中8个单元格可以用下表表示。
编号 (x1,y1) (x2,y2) t Val
(0,0) (2,1) 1 名称
(2,0) (8,1) 2 Null
(0,1) (2,2) 1 类别
(2,1) (8,2) 2 Null
(0,2) (2,3) 1 时间
(2,2) (8,3) 2 Null
(0,3) (2,4) 1 天气
(2,3) (8,4) 3 Null
表1单元格属性参数
S4、遍历单元格绘制模型库,绘制库中没有的单元格模型,单元格模型绘制函数为:M(t,a,b,val),如果单元格的值val不含控件库类,则直接利用安卓系统画图对象的绘制函数生成单元格模型,如果单元格值val含有控件库类还需从从安卓系统中AppInventor模块获取对应的控件库类,再利用安卓系统画图对象的绘制函数生成单元格模型,存入并更新单元格库;
S5、获取绘制表格所在布局的宽度W和高度H、上下左右边距d1、d2、 d3、d4及间隔线宽度d0,最小单元格的宽度公式为w=(W-d3-d4-(m+1)*d0) /m,高度公式为h=(H-d1-d2-(n+1)*d0))/n。例如宽度为1000dp,高度为 500dp,设置上下左右间隔均为50dp,间隔线为1dp,8行4列计算出最小单元格的宽度公式为w=(1000-50-50-(8+1)*1)/8,最小单元格的高度公式为h=(500-50-50-(4+1)*1)/4。
S6、计算单元格列表中各个单元格的起始坐标的步骤,
1)算出绘制表格的起始点在布局中的绝对位置(xs,ys),xs=d3,ys=d1;
2)遍历list,根据其左上角标(x1,y1)、右下角标(x2,y2)以及最小单元格的宽度xmin、高度ymin;计算出每个单元格在绘制布局中的实际起始坐标(xt,yt)和宽度a,高度b;其中xt=xs+x1*d0+x1*xmin, yt=ys+y1*d0+y1*ymin;x=(x2-x1)*xmin,y=(y2-y1)*ymin;
S7、遍历list绘制表格。假设表格绘制函数为:F{(x1,y1),w,h,M(t,a,b,val)},根据单元格的类型t和val调用单元格绘制模型库中的相应的单元格绘制模型M(t,a,b,val),然后利用安卓系统画图对象的绘制函数对单元格绘制模型 M(t,a,b,val)进行缩放,绘制对应的单元格。
图2所示,表格只需分别调用绘制函数F{(1,0),w,h,M(0,2,1,“名称”)}, F{(2,0),w,h,M(2,6,1,null)},F{(1,1),w,h,M(0,2,1,“类别”)},F{(2, 1),w,h,M(2,6,1,null)},F{(1,2),w,h,M(0,2,1,“时间”)},F{(2,2),w,h,M(2,6,1,null)},F{(1,3),w,h,M(0,2,1,“天气”)},F{(3, 3),w,h,M(2,6,1,null)}
编号 (x1,y1) (a,b) t Val
(0,0) (2,1) 1 名称
(0,2) (6,1) 2 Null
(1,0) (2,1) 1 类别
(1,2) (6,1) 2 Null
(2,0) (2,1) 1 时间
(2,2) (6,1) 2 Null
(3,0) (2,1) 1 天气
(3,2) (6,1) 3 Null
表2单元格绘制参数
由上可知,当模型建立后,开发人员只需在前期分析时,按照要求完成表格拆分和表格参数填写即可完成一个复杂表格模板设计与绘制,极大地提升了开发效率和灵活性。
本发明解决了表格数据与应用深度融合的问题,通过基于安卓平台的动态表格绘制技术,实现表格的绘制和表格数据的分析与提取,将相关数据存入应用自身的统一数据库中,实现整个应用的融合统计分析和大数据挖掘应用等。同时克服了调用office、wps等软件带来的调用消耗,并且不存在跨软件数据传递问题,能够在软件系统中直接查看编辑表格,也支持随时切换表格模板,操作更便捷。
本发明还解决了表格绘制效率低、工作量大、代码冗余的问题,通过基于安卓平台的动态表格绘制技术,分析构建一个个单元格模型,建立单元格库,并不断迭代更新,后续进行表格绘制时,只需调用现有的模型,绘制单元格库中没有的新模型并存入单元格库,便能够迅速实现整个表格的绘制,极大提升了表格绘制的灵活性,提高了表格绘制效率,降低了绘制成本。
本发明第二实施方式涉及一种用于安卓系统的动态表格绘制平台,包括:
至少一个处理器;以及,
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述用于安卓系统的动态表格绘制方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明第三实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor) 执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括: U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为发明的优选实施例而已,并不用以限制本发明,凡在本发明的思想原则内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种用于安卓系统的动态表格绘制方法,其特征在于包括步骤:
S1:获取目标表格的总行数和总列数的步骤;
S2:形成最小单元格列表和合并单元格列表的步骤;
在该步骤中,获取目标表格中的最小单元格及其属性,形成最小单元格列表;获取合并的单元格及其属性并形成合并单元格列表;
所述属性包括左上角标、右下角标、类别、值,记为(X1,Y1)、(X2,Y2)、t、val,其中,角标表示单元格某个角位置与表格起始位置相间隔的最小单元格个数,符号表示的形式为(X,Y),X表单元格某个角的位置与表格起始位置横向相间隔的最小单元格个数,Y表示单元格某个角的位置与表格起始位置纵向相间隔的最小单元格个数,左上角标(X1,Y1)是单元格左上角位置的角标,右下角标(X2,Y2)是单元格右下角位置的角标,类别t用于区分单元格的形状,具有同样形状的单元格归为一类;
S3:最小单元格列表和合并单元格列表两列表去重合并的步骤;
该步骤中,先从最小单元格列表中剔除在合并单元格列表中重复出现的单元格,然后将两列表进行合并形成该表格的单元格属性参数表;
S4:更新单元格绘制模型库的步骤;
该步骤中,针对步骤S3得到的单元格属性参数表list的每个单元格,遍历单元格模型库,判断与单元格对应的单元格模型是否在单元格模型库中已经存在,所述与单元格对应的单元格模型是指与单元格具有相同的类别和相同的值,如果不存在,则利用安卓系统画图对象的绘制函数生成该单元格的单元格模型,存入并更新单元格模型库;
所述单元格模型表示为:,其中,M(*)表示单元格模型,t表示单元格的类别,a、b分别为单元格的宽和高,/>,/>,单元格的宽和高用最小单元格的倍数进行度量,val为单元格的值,具有相同类别和值的单元格具有相同的单元格模型;
S5:计算最小单元格宽度和高度的步骤;
该步骤中,获取表格绘制布局区域的大小,结合步骤S1获取的目标表格总行数和总列数,计算出最小单元格的宽度w和高度h;
S6:计算单元格列表中各个单元格的起始坐标的步骤;
在步骤中,根据目标表格的总行数、总列数,并结合表格绘制布局区域的大小、以及最小单元格的宽度w和高度h,计算得到目标表格每个单元格在表格绘制布局区域中的左上角坐标(x1,y1),x1是横坐标,y1是纵坐标;
S7:绘制表格的步骤;
该步骤中,遍历单元格列表绘制目标表格的各个单元格,目标表格的单元格的绘制方法表示为,其含义是,先根据单元格的由类型t和值val构成的属性组合,调用单元格绘制模型库中的相应的单元格绘制模型/>,然后利用安卓系统画图对象的绘制函数对单元格绘制模型/>进行缩放,宽度由a缩放为/>,高度从b缩放为/>,接着以单元格的起始坐标(x1,y1)将缩放后的单元格模型绘制于绘制布局区域的相应位置。
2.如权利要求1所述的用于安卓系统的动态表格绘制方法,其特征在于步骤S4中,如果单元格的值不含控件库类,则直接利用安卓系统画图对象的绘制函数生成单元格模型,如果单元格值val含有控件库类还需从安卓系统中获取对应的控件库类,然后利用安卓系统画图对象的绘制函数生成单元格模型。
3.如权利要求1所述的用于安卓系统的动态表格绘制方法,其特征在于步骤S5计算最小单元格的宽度w和高度h时,需要减去上下左右边距及最小单元格之间的间隔线宽度。
4.如权利要求1所述的用于安卓系统的动态表格绘制方法,其特征在于步骤S6计算得到目标表格每个单元格在表格绘制布局区域中的左上角坐标时,要使用上下左右边距及最小单元格之间的间隔线宽度。
5.如权利要求1-4之一所述的用于安卓系统的动态表格绘制方法,其特征在于所述安卓系统画图对象的绘制函数是drawLine函数。
6.一种用于安卓系统的动态表格绘制平台,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5之一所述的用于安卓系统的动态表格绘制方法。
7.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5之一所述的用于安卓系统的动态表格绘制方法。
CN202110558716.3A 2021-05-21 2021-05-21 基于安卓平台的表格动态绘制方法 Active CN113391861B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110558716.3A CN113391861B (zh) 2021-05-21 2021-05-21 基于安卓平台的表格动态绘制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110558716.3A CN113391861B (zh) 2021-05-21 2021-05-21 基于安卓平台的表格动态绘制方法

Publications (2)

Publication Number Publication Date
CN113391861A CN113391861A (zh) 2021-09-14
CN113391861B true CN113391861B (zh) 2023-12-29

Family

ID=77618902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110558716.3A Active CN113391861B (zh) 2021-05-21 2021-05-21 基于安卓平台的表格动态绘制方法

Country Status (1)

Country Link
CN (1) CN113391861B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102103582A (zh) * 2009-12-17 2011-06-22 珠海金山软件有限公司 一种利用计算机绘制表格的方法及系统
CN102508823A (zh) * 2011-11-24 2012-06-20 杨盛 制作表格的方法和系统
CN103778128A (zh) * 2012-10-18 2014-05-07 腾讯科技(深圳)有限公司 一种列表信息的绘制方法和装置
CN104516867A (zh) * 2013-09-30 2015-04-15 北大方正集团有限公司 一种表格重排方法和系统
CN105022723A (zh) * 2014-04-18 2015-11-04 腾讯科技(深圳)有限公司 表格生成方法和装置
CN105892961A (zh) * 2015-11-16 2016-08-24 乐视网信息技术(北京)股份有限公司 一种栅格动态布局设备和方法
CN106131199A (zh) * 2016-07-15 2016-11-16 深圳市丰巨泰科电子有限公司 一种基于Android系统的智能家居控制系统及控制方法
CN110245336A (zh) * 2018-03-08 2019-09-17 北大方正集团有限公司 表格绘制方法及装置
US10503897B1 (en) * 2016-07-13 2019-12-10 Cybereason Detecting and stopping ransomware
CN110688691A (zh) * 2019-08-15 2020-01-14 杭州群核信息技术有限公司 一种基于酷家乐云设计平台的自由绘制台面的软件设计方法
CN111382559A (zh) * 2020-04-17 2020-07-07 中交第一公路勘察设计研究院有限公司 应用于桥梁健康监测的表格自适应绘制方法
CN111859874A (zh) * 2019-04-17 2020-10-30 百度在线网络技术(北京)有限公司 表格生成方法及其系统、视频播放设备和计算机可读介质
CN112528614A (zh) * 2020-12-18 2021-03-19 北京光启元数字科技有限公司 一种表格编辑方法、装置和电子设备

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102103582A (zh) * 2009-12-17 2011-06-22 珠海金山软件有限公司 一种利用计算机绘制表格的方法及系统
CN102508823A (zh) * 2011-11-24 2012-06-20 杨盛 制作表格的方法和系统
CN103778128A (zh) * 2012-10-18 2014-05-07 腾讯科技(深圳)有限公司 一种列表信息的绘制方法和装置
CN104516867A (zh) * 2013-09-30 2015-04-15 北大方正集团有限公司 一种表格重排方法和系统
CN105022723A (zh) * 2014-04-18 2015-11-04 腾讯科技(深圳)有限公司 表格生成方法和装置
CN105892961A (zh) * 2015-11-16 2016-08-24 乐视网信息技术(北京)股份有限公司 一种栅格动态布局设备和方法
US10503897B1 (en) * 2016-07-13 2019-12-10 Cybereason Detecting and stopping ransomware
CN106131199A (zh) * 2016-07-15 2016-11-16 深圳市丰巨泰科电子有限公司 一种基于Android系统的智能家居控制系统及控制方法
CN110245336A (zh) * 2018-03-08 2019-09-17 北大方正集团有限公司 表格绘制方法及装置
CN111859874A (zh) * 2019-04-17 2020-10-30 百度在线网络技术(北京)有限公司 表格生成方法及其系统、视频播放设备和计算机可读介质
CN110688691A (zh) * 2019-08-15 2020-01-14 杭州群核信息技术有限公司 一种基于酷家乐云设计平台的自由绘制台面的软件设计方法
CN111382559A (zh) * 2020-04-17 2020-07-07 中交第一公路勘察设计研究院有限公司 应用于桥梁健康监测的表格自适应绘制方法
CN112528614A (zh) * 2020-12-18 2021-03-19 北京光启元数字科技有限公司 一种表格编辑方法、装置和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"统计数据地图可视化研究";王海龙;《中国优秀硕士学位论文全文数据库基础科学辑》;A008-44 *

Also Published As

Publication number Publication date
CN113391861A (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
CN102193786B (zh) 一种自适应的图形用户界面构建装置及方法
CN101876967B (zh) 一种pdf文本段落生成的方法
CN1794222B (zh) 用于最佳段落排版的方法和系统
CN103309988A (zh) 一种自动生成轨道交通线路数据库的方法
CN103279455B (zh) 电子表格的样式处理方法和装置
CN105338540A (zh) 一种基站数据建模的方法及终端
CN112464350A (zh) 快速生成柱网、主梁三维模型的智能设计方法
Park et al. Boundary extraction algorithm for cutting area detection
EP3667852B1 (en) Mesoscale data-based automatic wind turbine layout method and device
CN111241646A (zh) 电网设备的布局方法及计算机可读存储介质
CN113391861B (zh) 基于安卓平台的表格动态绘制方法
CN103065009B (zh) 一种交通标志标线智能设计系统及方法
CN113342907B (zh) 一种用能信息采集系统台区拓扑画像绘制方法与系统
CN112800735A (zh) 一种数据填报系统的构建方法
CN106273470B (zh) 立体打印装置及其打印数据存储方法
CN111814495A (zh) 一种基于svg的电路图到盲文转换方法及系统
CN115690340A (zh) 一种基于二、三维实时联动的交叉地质剖面界线调整方法
CN115801024A (zh) 局部等距性优化球面格网的编码方法、系统、装置及介质
CN113609433B (zh) 一种算式布局确定方法、装置、电子设备及存储介质
CN108804700A (zh) 一种地图数据从ArcGIS到CorelDraw批量无损转换的方法
CN114996886A (zh) 多元数据融合的配网单线图成套化自动绘制系统及方法
CN111753344B (zh) 装配式构件数据集的生成方法、cad平台及存储介质
CN112799669B (zh) 应用程序界面布局代码的生成方法、装置及电子设备
CN113779657A (zh) 一种轮胎胎侧文字内容和位置关联设计方法、应用和设备
CN115309397B (zh) 一种数据解释模型的画布拓扑管理方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant