CN104090755B - Android Launcher界面中长应用名称的垂直滚动显示方法 - Google Patents
Android Launcher界面中长应用名称的垂直滚动显示方法 Download PDFInfo
- Publication number
- CN104090755B CN104090755B CN201410276184.4A CN201410276184A CN104090755B CN 104090755 B CN104090755 B CN 104090755B CN 201410276184 A CN201410276184 A CN 201410276184A CN 104090755 B CN104090755 B CN 104090755B
- Authority
- CN
- China
- Prior art keywords
- index
- pagedviewicon
- vertical scrolling
- apply names
- show
- 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
Links
Abstract
本发明提供一种Android Launcher界面中长应用名称的垂直滚动显示方法,包括获取所有应用信息并形成应用列表,为每一个应用创建PagedViewIcon;将需要垂直滚动显示的PagedViewIcon单独保存为一个List,将其显示内容分割成多行显示;每当到达刷新时间Update Runnable线程发送消息给Handle线程,Handler线程更新List中的每一个PagedViewIcon的Index,并对其进行刷新,然后垂直滚动显示应用名称。本发明在Launcher的PagedViewIcon中通过显示区域和显示内容对长应用名称进行分割,极大地方便了长应用名称的快速显示。
Description
技术领域
本发明涉及一种应用名称显示方法,特别是涉及一种Android Launcher界面中长应用名称的垂直滚动显示方法。
背景技术
目前,在智能手机的Android系统中,Launcher界面下的应用显示由应用图标和应用名称组成。具体地,Android系统的Launcher提供了完整应用显示和操作功能,显示部分采取了Android常用的Activity和View的显示结构。在系统开机后,Launcher会自动运行,首先从系统中获取所有已经安装的应用信息;然后根据规则进行排序,组成List列表;最后根据List列表在Activity中为每一个应用创建一个PagedViewIcon,并根据屏幕显示规则将每一个PagedViewIcon放置到对应的位置。PagedViewIcon继承于TextView,应用的名称部分由TextView进行显示,应用的图标部分由PagedViewIcon自身进行管理。PagedViewIcon根据屏幕大小来分配应用图标和应用名称的显示区间。
对于有些应用来说,为了清楚的表达应用本身的特点,会需要比较长的应用名称。而手机屏幕的大小有限,屏幕上显示的应用的个数是固定的,这样会导致每个应用的显示区间有限。对于长应用名称而言,目前Android系统的Launcher界面采取的是截取显示的办法。当显示应用名称时,Launcher会根据显示区间的大小,能显示多少就显示多少,很多时候对于最后一个字只能显示一半,导致显示效果不佳,且用户体验不好。有些时候,Android系统为中文时,应用名称不长,可以在显示区间进行完整的显示。而切换到英文模式时,英文应用名称通常都会比较长,也会带来应用名称显示不全的问题。
由于应用名称称的显示由TextView来完成,为了解决长应用名称显示问题,有些方案充分使用了TextView本身支持滚动显示的特征,在PagedViewIcon创建过程中设置了android:ellipsize=”marquee”属性,从而可以实现长应用名称的横向滚动显示。横向滚动显示效果对于单行显示来说,效果还可以;对于多行显示来说,一个字一个字挪动的显示不仅显示较慢,而且显示效果不佳。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种Android Launcher界面中长应用名称的垂直滚动显示方法,对于过长的应用名称,会将名称分解为数行,并根据应用名称显示区域的大小,一次显示一行或多行,然后垂直滚动显示;对于显示区域的中间行,会用不同的颜色字体进行高亮显示,从而不仅可以完整的显示长应用名称,还改进了用户体验。
为实现上述目的及其他相关目的,本发明提供一种Android Launcher界面中长应用名称的垂直滚动显示方法,至少包括以下步骤:步骤S1、Launcher界面启动后,从Android系统获取所有安装的应用信息,对应用信息排序后形成应用列表,并为每一个应用创建PagedViewIcon,设置应用图标和应用名称;步骤S2、对于需要垂直滚动显示的PagedViewIcon,将显示内容分割成多行显示,并保存在一个显示List,以Index作为索引;步骤S3、将需要垂直滚动显示的PagedViewIcon单独保存为一个List,并启动UpdateRunnable线程和Handle线程;步骤S4、Update Runnable线程每当到达刷新时间便发送消息给Handle线程,Handler线程更新需要垂直滚动显示的PagedViewIcon List中的每一个PagedViewIcon的Index,然后调用PagedViewIcon的invalidate函数对需要垂直滚动显示的PagedViewIcon List中的每一个PagedViewIcon进行刷新,最后调用PagedViewIcon的onDraw函数来垂直滚动显示应用名称。
根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所述步骤S2中,对于需要垂直滚动显示的PagedViewIcon,根据显示区域和显示内容长度将显示内容分割成多行显示。
根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所述步骤S3中,只要有一个应用的应用名称需要垂直滚动显示,即启动Update Runnable线程和Handler线程。
根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所述Update Runnable线程是一个定时器线程,用于刷新定时器。
根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所述步骤S4中,每次到达所述Update Runnable线程的刷新时间时,若存在需要垂直滚动显示的PagedViewIcon,则Update Runnable线程发送消息给Handler线程;若不存在需要垂直滚动显示的PagedViewIcon,则退出Update Runnable线程和Handle线程。
根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所述步骤S4中,更新每一个PagedViewIcon的Index时,对当前Index进行Index++的操作;
对于显示区域的行数为1的情况,当执行Index++操作后Index大于显示内容的行数时,将Index设为第一行索引;
对于显示区域的行数大于1的情况,当执行Index++操作后,(显示内容的行数-Index)=(显示区域的行数-2)时,将Index设为第一行索引。
根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所述步骤S4中,所述onDraw函数显示应用名称时,对于显示区域的行数为1的情况,则直接通过Index获取对应的显示内容,然后进行高亮显示。
根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:所述步骤S4中,所述onDraw函数显示应用名称时,对于显示区域的行数大于1的情况,则首先确定高亮显示的行数,然后从当前Index对应行的显示内容开始依次将显示区域的所有行显示满,并对确定高亮显示的行进行高亮显示。
进一步地,根据上述的Android Launcher界面中长应用名称的垂直滚动显示方法,其中:确定高亮显示的行数时,判断显示区域的行数n是否为奇数;若n为奇数,则高亮显示行数为Index+(n-1)/2;若n为偶数,则高亮显示行数为Index+n/2。
如上所述,本发明的Android Launcher界面中长应用名称的垂直滚动显示方法,具有以下有益效果:
(1)通过采用垂直滚动显示方法,能够很快地显示一个完整的长应用名称;
(2)对于中间行采取了高亮显示,显示效果更佳;
(3)对于屏幕中存在多个长应用名称显示的情况,采取了同步刷新机制,使得界面上的显示更加整齐,保证了良好的动态显示效果;
(4)在Launcher的PagedViewIcon中通过显示区域和显示内容对长应用名称进行分割,极大地方便了长应用名称的快速显示。
附图说明
图1显示为本发明的Android Launcher界面中长应用名称的垂直滚动显示方法的框架图;
图2显示为本发明的Android Launcher界面中长应用名称的垂直滚动显示方法的流程图;
图3显示为本发明中多个PagedViewIcon同步刷新机制的示意图;
图4显示为本发明中onDraw函数显示应用名称的流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在Android系统中,Launcher界面中的应用图标和应用名称由PagedViewIcon来实现,而PagedViewIcon继承于TextView。本发明的Android Launcher界面中长应用名称的垂直滚动显示方法主要涉及到PagedViewIcon和Launcher Activity。为了实现长应用名称的显示,需要在Launcher对PagedViewIcon进行应用名称赋值时,根据现实区域将应用名称分解成多行。由于Launcher界面中可能会有多个PagedViewIcon需要进行垂直滚动显示,为了同步每个PagedViewIcon的显示,Launcher Activity需要启动一个单独的刷新线程,每隔一定时间对需要垂直滚动显示的PagedViewIcon发出Update命令,PagedViewIcon收到命令后,进行下一行的显示。如果显示到最后一行了,则从第一行重新开始显示。
参照图1和图2,本发明的Android Launcher界面中长应用名称的垂直滚动显示方法具体包括以下步骤:
步骤S1、Launcher界面启动后,从Android系统获取所有安装的应用信息,对应用信息排序后形成应用列表,并为每一个应用创建PagedViewIcon,设置应用图标和应用名称。
其中,创建PagedViewIcon后,通过调用TextView的setText函数对PagedViewIcon进行内容设置。然后根据屏幕大小对所有PagedViewIcon进行布局,将其放置在屏幕的合适区域。
步骤S2、对于需要垂直滚动显示的PagedViewIcon,将显示内容分割成多行显示,并保存在一个显示List,以Index作为索引;
在某些情况下,可能会发生显示区域调整的状况,此时系统会调用onSizeChanged函数。对于长应用名称,PagedViewIcon在重新设置显示区域或显示内容时,需要在setText和onSizeChanged函数中根据显示区域和显示内容长度重新将显示内容分割成多行显示,并保存一个显示List中,以Index作为索引。显示时,onDraw函数直接根据Index从显示List当中获取对应行的显示内容进行显示即可,并对中间行进行高亮显示,以增强显示效果。
步骤S3、将需要垂直滚动显示的PagedViewIcon单独保存为一个List,并启动Update Runnable线程和Handle线程。
由于Launcher界面中可能会有多个应用需要垂直滚动显示应用名称,LuancherActivity在进行显示内容或显示区域设置时,首先需要得知哪些PagedViewIcon需要垂直滚动显示,然后将需要垂直滚动显示的PagedViewIcon保存为一个List,以便刷新时使用。只要有一个应用的应用名称需要垂直滚动显示,则启动Update Runnable线程和Handler线程。
步骤S4、Update Runnable线程每当到达刷新时间便发送消息给Handle线程,Handler线程更新需要垂直滚动显示的PagedViewIcon List中的每一个PagedViewIcon的Index,然后调用PagedViewIcon的invalidate函数对需要垂直滚动显示的PagedViewIconList中的每一个PagedViewIcon进行刷新,最后调用PagedViewIcon的onDraw函数来垂直滚动显示应用名称。
参照图3,Update Runnable线程实际上是一个定时器线程,起到刷新定时器的作用。定时器时间一到,若存在需要垂直滚动显示的PagedViewIcon,则Update Runnable线程发送消息给Handler线程;若不存在需要垂直滚动显示的PagedViewIcon,则退出UpdateRunnable线程和Handle线程。存在需要垂直滚动显示的PagedViewIcon时,Handler线程根据保存的需要垂直滚动显示的PagedViewIcon List,更新List中每一个PagedViewIcon的当前显示Index,然后调用PagedViewIcon的invalidate函数对每一个PagedViewIcon进行刷新,最后调用PagedViewIcon的onDraw函数来显示应用名称,至此即可达到垂直滚动的显示效果。
更新所有的需要垂直滚动显示的PagedViewIcon的Index时,对当前需要显示的Index进行Index++的操作即可。
对于显示区域的行数为1的情况,当执行Index++操作后Index大于显示内容的行数时,将Index设为第一行索引。即如果显示到最后一行,则再从第一行开始重新显示。
对于显示区域的行数大于1的情况,当执行Index++操作后,(显示内容的行数-Index)=(显示区域的行数-2)时,将Index设为第一行索引。即当显示区域最后一行显示的是显示内容的最后一行时,即接下来从第一行开始进行显示。如显示内容的行数为8行、显示区域的行数为3行时,若当前显示为6、7和8行,则下次刷新后显示1、2和3行。
在Handler线程更新完Index之后,就开始进入PagedViewIcon的显示流程。onDraw函数显示应用名称时,对于显示区域的行数为1的情况,则直接通过Index获取对应的显示内容,然后进行高亮显示。对于显示区域的行数大于1的情况,则首先确定高亮显示的行数,然后从当前Index对应行的显示内容开始依次将显示区域的所有行显示满,对于确定高亮显示的行进行高亮显示,其他的行进行普通显示。
参照图4,onDraw函数显示应用名称的具体流程如下:
判断显示区域是否只能显示一行;
若显示区域只能显示一行,则通过Index获取当前行对应的显示内容,并对该行进行高亮显示;
若显示区域可显示多行,则判断显示区域所能显示的行数n是否为奇数;若n为奇数,则高亮显示行数为Index+(n-1)/2;若n为偶数,则高亮显示行数为Index+n/2;其中,1≤Index≤(显示内容的行数-显示区域的行数+1);
从Index开始进行文本显示,并将Index赋值于displayIndex,其中displayIndex表示当前显示行的索引;
判断displayIndex是否显示完成,若显示完成,则流程结束;其中,当displayIndex减去Index等于(n-1)时,表示显示完成;
若没有显示完成,判断当前显示行数是否为高亮显示,若是,则获取displayIndex对应的显示内容并进行高亮显示;若否,则获取displayIndex对应的内容并进行普通显示;
displayIndex累加1后,再判断displayIndex是否显示完成,循环进行上述步骤,直至显示完成,流程结束。
综上所述,本发明的Android Launcher界面中长应用名称的垂直滚动显示方法通过采用垂直滚动显示方法,能够很快地显示一个完整的长应用名称;对于屏幕中存在多个长应用名称显示的情况,采取了同步刷新机制,使得界面上的显示更加整齐,保证了良好的动态显示效果;在Launcher的PagedViewIcon中通过显示区域和显示内容对长应用名称进行分割,极大地方便了长应用名称的快速显示。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (9)
1.一种Android Launcher界面中长应用名称的垂直滚动显示方法,其特征在于:至少包括以下步骤:
步骤S1、Launcher 界面启动后,从Android 系统获取所有安装的应用信息,对应用信息排序后形成应用列表,并为每一个应用创建PagedViewIcon,设置应用图标和应用名称;
步骤S2、对于需要垂直滚动显示的PagedViewIcon,将显示内容分割成多行显示,并保存在一个显示List,以Index 作为索引;
步骤S3、将需要垂直滚动显示的PagedViewIcon 单独保存为一个List,并启动UpdateRunnable 线程和Handler 线程;
步骤S4、Update Runnable线程每当到达刷新时间便发送消息给Handler 线程,Handler线程更新需要垂直滚动显示的PagedViewIcon List 中的每一个PagedViewIcon的Index,然后调用PagedViewIcon 的invalidate 函数对需要垂直滚动显示的PagedViewIcon List中的每一个PagedViewIcon 进行刷新,最后调用PagedViewIcon 的onDraw 函数来垂直滚动显示应用名称。
2.根据权利要求1 所述的Android Launcher 界面中长应用名称的垂直滚动显示方法,其特征在于:所述步骤S2 中,对于需要垂直滚动显示的PagedViewIcon,根据显示区域和显示内容长度将显示内容分割成多行显示。
3.根据权利要求1 所述的Android Launcher 界面中长应用名称的垂直滚动显示方法,其特征在于:所述步骤S3 中,只要有一个应用的应用名称需要垂直滚动显示,即启动Update Runnable 线程和Handler 线程。
4.根据权利要求1 所述的Android Launcher 界面中长应用名称的垂直滚动显示方法,其特征在于:所述Update Runnable 线程是一个定时器线程,用于刷新定时器。
5.根据权利要求1 所述的Android Launcher 界面中长应用名称的垂直滚动显示方法,
其特征在于:所述步骤S4 中,每次到达所述Update Runnable 线程的刷新时间时,若存在需要垂直滚动显示的PagedViewIcon,则Update Runnable 线程发送消息给Handler线程;若不存在需要垂直滚动显示的PagedViewIcon,则退出Update Runnable 线程和Handler 线程。
6.根据权利要求1 所述的Android Launcher 界面中长应用名称的垂直滚动显示方法,
其特征在于:所述步骤S4 中,更新每一个PagedViewIcon 的Index 时,对当前Index进行Index++ 的操作;
对于显示区域的行数为1 的情况,当执行Index++操作后Index 大于显示内容的行数时,将Index 设为第一行索引;
对于显示区域的行数大于1 的情况,当执行Index++ 操作后,( 显示内容的行数-Index) = (显示区域的行数-2)时,将Index 设为第一行索引。
7.根据权利要求1 所述的Android Launcher 界面中长应用名称的垂直滚动显示方法,其特征在于:所述步骤S4 中,所述onDraw 函数显示应用名称时,对于显示区域的行数为1
的情况,则直接通过Index 获取对应的显示内容,然后进行高亮显示。
8.根据权利要求1 所述的Android Launcher 界面中长应用名称的垂直滚动显示方法,其特征在于:所述步骤S4 中,所述onDraw 函数显示应用名称时,对于显示区域的行数大于1 的情况,则首先确定高亮显示的行数,然后从当前Index 对应行的显示内容开始依次将显示区域的所有行显示满,并对确定高亮显示的行进行高亮显示。
9.根据权利要求8 所述的Android Launcher 界面中长应用名称的垂直滚动显示方法,其特征在于:确定高亮显示的行数时,判断显示区域的行数n 是否为奇数;若n 为奇数,则高亮显示行数为Index+(n-1)/2;若n为偶数,则高亮显示行数为Index+n/2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410276184.4A CN104090755B (zh) | 2014-06-19 | 2014-06-19 | Android Launcher界面中长应用名称的垂直滚动显示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410276184.4A CN104090755B (zh) | 2014-06-19 | 2014-06-19 | Android Launcher界面中长应用名称的垂直滚动显示方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104090755A CN104090755A (zh) | 2014-10-08 |
CN104090755B true CN104090755B (zh) | 2017-10-13 |
Family
ID=51638474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410276184.4A Active CN104090755B (zh) | 2014-06-19 | 2014-06-19 | Android Launcher界面中长应用名称的垂直滚动显示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104090755B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250479A (zh) * | 2016-07-29 | 2016-12-21 | 乐视控股(北京)有限公司 | 页面标题内容的显示方法、装置及电子终端 |
CN107765955A (zh) * | 2016-08-15 | 2018-03-06 | 南京中兴软件有限责任公司 | 基于组件的下拉菜单显示方法、装置、组件及应用 |
CN107329657A (zh) * | 2017-06-30 | 2017-11-07 | 北京酷我科技有限公司 | 一种内容显示补全的方法 |
CN107329759A (zh) * | 2017-06-30 | 2017-11-07 | 北京酷我科技有限公司 | 一种内容滚动显示的方法 |
CN107562315B (zh) * | 2017-08-29 | 2021-08-13 | 上海展扬通信技术有限公司 | 一种基于智能终端的应用图标调整方法及调整系统 |
CN112684969B (zh) * | 2019-10-18 | 2022-07-12 | 华为技术有限公司 | 始终显示方法及移动设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490986A (zh) * | 2013-09-18 | 2014-01-01 | 深圳市乐唯科技开发有限公司 | 一种聊天软件的广播数据显示方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110022450A1 (en) * | 2009-07-21 | 2011-01-27 | Rivalroo, Inc. | Comptuer network chat system for display of text and video in a rivalry context |
JP2012084948A (ja) * | 2010-10-06 | 2012-04-26 | Fujitsu Ltd | 携帯端末装置、その情報選択支援プログラム及び情報選択支援方法 |
-
2014
- 2014-06-19 CN CN201410276184.4A patent/CN104090755B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490986A (zh) * | 2013-09-18 | 2014-01-01 | 深圳市乐唯科技开发有限公司 | 一种聊天软件的广播数据显示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104090755A (zh) | 2014-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104090755B (zh) | Android Launcher界面中长应用名称的垂直滚动显示方法 | |
CN107087236B (zh) | 一种直播信息展示方法及装置 | |
CN107016961B (zh) | 图像显示方法、存储介质、图像驱动装置以及显示装置 | |
CN105760038A (zh) | 一种多窗口显示方法及装置 | |
CN106034253A (zh) | 视频内容播放方法、装置及终端设备 | |
CN107197355B (zh) | 弹幕显示方法及装置 | |
CN107203303A (zh) | 一种界面显示方法及装置 | |
CN108989870A (zh) | 控制弹幕区域的方法和系统 | |
CN110322833A (zh) | 一种显示驱动方法、控制显示面板发光的方法及显示面板 | |
CN103400565B (zh) | 一种基于gdi的界面分块刷新方法 | |
CN105096365A (zh) | 一种3d界面局部刷新方法及系统 | |
CN105892961A (zh) | 一种栅格动态布局设备和方法 | |
CN102968301A (zh) | 一种对游戏的运行窗口即时控制的方法 | |
CN106708495B (zh) | 一种基于移动终端的页面显示方法及装置 | |
CN103648027B (zh) | 一种数字媒体终端及媒体文件播放方法 | |
CN106383683B (zh) | 一种屏幕刷新系统、方法及装置 | |
US20170116939A1 (en) | Display method and device and computer-readable medium | |
CN107197182A (zh) | 一种在电视上显示屏幕菜单的方法、装置及电视 | |
CN103888809A (zh) | 一种分屏显示方法、装置及智能电视 | |
CN103051967A (zh) | 一种智能电视功能配置的用户引导方法及系统 | |
CN105704409B (zh) | 一种显示方法、装置和智能电视 | |
CN105812955B (zh) | 一种滚动字幕显示方法及机顶盒处理器 | |
CN112925453B (zh) | 组件显示方法、装置、电子设备及计算机可读存储介质 | |
CN109885227A (zh) | 内容显示方法、显示终端及计算机存储介质 | |
CN104243874A (zh) | 显示器的子画面显示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201211 Address after: 313028 Industrial Park, balidian Town, Huzhou City, Zhejiang Province Patentee after: HUZHOU FENGYUAN AGRICULTURAL EQUIPMENT MANUFACTURE Co.,Ltd. Address before: No.20 and No.90, Lane 4855, Guangfulin Road, Songjiang District, Shanghai, 201616 Patentee before: Phicomm (Shanghai) Co.,Ltd. |