CN103092612B - 实现安卓操作系统3d桌面贴图的方法及电子装置 - Google Patents
实现安卓操作系统3d桌面贴图的方法及电子装置 Download PDFInfo
- Publication number
- CN103092612B CN103092612B CN201210593357.6A CN201210593357A CN103092612B CN 103092612 B CN103092612 B CN 103092612B CN 201210593357 A CN201210593357 A CN 201210593357A CN 103092612 B CN103092612 B CN 103092612B
- Authority
- CN
- China
- Prior art keywords
- page
- subpage frame
- data
- pictures
- page pictures
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种实现安卓操作系统3D桌面贴图的方法和电子装置,该方法包括编辑过程、数据处理过程和渲染显示过程:所述编辑过程包括呈现实现步骤和编辑实现步骤;所述数据处理过程包括数据处理确认步骤;所述渲染显示过程包括重绘实现步骤。所述电子装置包括编辑模块、数据处理模块和渲染显示模块。用户使用采用本发明的电子装置时,由于该电子装置按照本发明的方法实现了安卓操作系统3D桌面贴图的随意更换,用户可随意选取子页面的页面图片进行编辑,并将编辑后的页面图片重新在对应子页面显示,从而突破传统固定和半固定形式,解决安卓操作系统3D页面图片形式单一且不可随意更换的问题。
Description
技术领域
本发明涉及操作系统设计技术领域,具体涉及一种实现安卓操作系统3D桌面贴图的方法及电子装置。
背景技术
现有3D launcher绘制的页面有两种方式,一种是在普通二维页面上加上摄像机翻转实现3D,另外一种是使用Opengl Es按照数学模型绘制实现。第一种方式只能对指定页面做简单变换,3D效果不明显,称之为伪3D技术,这种方式做的3D launcher页面只能是一个透明页面,除了摆放桌面元素后不能再使用页面图片。第二种方式采用的是Opengl Es技术,3D效果明显且灵活多变,这种方式不仅有桌面元素还有3D页面的页面图片,当下对3D页面的页面图片软件有固定和半固定两种方法,固定方法就是图片资源预置,代码固定,所有的页面在软件发布后用户不能对页面图片做任何更改,代表软件如云脉的3D Launcher;半固定方式是用户可以选择在某一页面图片在不同的页面显示,但是每个页面的页面图片是用户不可改变的,可选页面种类也是固定的,代表软件如SPB的3D shell。伪3D Launcher技术采用的是角度变换,得到的透视效果并不理想,在其页面上的页面图片会降低桌面滑动的流畅性,用户体验得不到发挥。Opengl Es3D Launcher技术固定或半固定方式没有从用户最直接面对的UI层或java层去提供方法使用户有一个足够自由的空间对自己的3D页面做个性化的设置。
发明内容
本发明提供一种实现安卓操作系统3D桌面贴图的方法及电子装置。
根据本发明的第一方面,本发明提供一种实现安卓操作系统3D桌面贴图的方法,所述方法包括编辑过程、数据处理过程和渲染显示过程:
所述编辑过程包括:
呈现实现步骤:根据3D个性化设置菜单接收到的操作,获取并呈现需要进行个性化设置的子页面的页面信息,所述页面信息包括对应子页面的页面图片;
编辑实现步骤:接受编辑操作;
所述数据处理过程包括:
数据处理确认步骤:按照3D页面图片要求处理经所述编辑操作的页面图 片,并创建对应子页面的新3D页面图片;
所述渲染显示过程包括:
重绘实现步骤:根据新3D页面图片生成新的纹理数据,并将新的纹理数据与对应子页面进行绑定,根据新的纹理数据在对应子页面进行3D页面贴图的重绘渲染并显示。
根据本发明的第二方面,本发明提供一种实现安卓操作系统3D桌面贴图的电子装置,该电子装置包括:
编辑模块:所述编辑模块用于根据3D编辑菜单接收到的操作,获取并呈现需要进行编辑的子页面的页面信息,并接受编辑操作,所述页面信息包括对应子页面的页面图片;
数据处理模块:所述数据处理模块用于按照3D页面图片要求处理经所述编辑操作的页面图片,并创建对应子页面的新3D页面图片;
渲染显示模块:所述渲染显示模块用于根据新3D页面图片生成新的纹理数据,并将新的纹理数据与对应子页面进行绑定,根据新的纹理数据在对应子页面进行3D页面贴图的重绘渲染并显示。
本发明的有益效果是:按照本发明公开的实现安卓操作系统3D桌面贴图方法和电子装置,用户可以根据自身喜好,对各子页面内对应页面图片进行编辑,并将编辑后的页面图片重新在对应子页面显示,从而突破传统固定和半固定形式,解决了安卓操作系统桌面3D渲染后页面图片形式单一且不可随意更换的问题。
附图说明
图1为本发明实施例一中一种实现安卓操作系统3D桌面贴图的方法的过程示意图;
图2为本发明实施例一中一种实现安卓操作系统3D桌面贴图的方法的流程示意图;
图3是本发明实施例二中一种实现安卓操作系统3D桌面贴图的电子装置。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一
请参考图1以及图2,本发明一种实现安卓操作系统3D桌面贴图的方法其 实现技术详细如下,包括五个过程:菜单呈现过程、编辑过程、数据存储过程、数据处理过程和渲染显示过程。
(一)菜单呈现过程,该过程包括如下3个步骤:
1、接口按键触发实现步骤:通过Android操作系统提供的Menu控件,于回调函数on Create Options Menu(Menu menu)中添加进行3D页面个性化设置的接口按键,该接口按键提示用户可进行3D页面图片的个性化设置,同时,对在该接口按键的单击回调函数on Options Item Selected(Menu Item item)中使用Android的intent控件通信机制,通过start Activity(Intent intent)函数以activity的方式启动缩略图列表显示界面,该缩略图列表显示界面即为菜单界面。
2、接口缩略图列表显示步骤:缩略图列表的显示界面使用特殊的activity控件Expandable List Activity实现,其部件Expandable List View具有可伸缩的列表显示功能,对接口按键进行监听,一旦监听到进行编辑操作的命令,根据该编辑操作命令,通过start Activity(Intent intent)函数以activity的方式启动缩略图列表显示界面,将当前所有3D页面的页面分组进行显示,并使用XML格式的布局文件描述页面分组,页面分组XML格式的布局文件中定义了页面分组的下拉图标、组名称、子页面数量等。再进一步地,同样使用XML格式的布局文件描述页面分组中各个子页面,子页面XML格式的布局文件定义了子页面的页面图片、子页面名称、文字描述、透明度信息和单击修改按钮等页面信息,即子页面的页面信息包括页面图片、子页面名称、文字描述、透明度信息和单击修改按钮等。缩略图列表显示界面中显示的所有3D页面的页面分组和各子页面通过游标树适配器(Cursor Tree Adapter)和自定义的封装了SQL Lite Open Helper类的数据库适配器(Data Base Adapter)来完成映射,数据库适配器中分别创建数据库、组数据表、页面数据表。组数据表创建id字段、组名程、子页面数量、时间信息和修改信息。页面数据表创建id字段、子页面名称、页面图片、文字描述等对应子页面的页面信息。页面数据表中创建的id字段便于顺序绑定,页面图片使用BLOB格式存储,子页面名称、修改时间和文字描述等页面信息使用TEXT格式存储。创建完成,首次数据初始化使用SQL语句插入初始值,同时数据库适配器以函数的方式对其他子页面提供查询、添加、删除和修改的接口。游标树适配器作为缩略图列表显示界面和数据库适配器的中间桥梁,于其重载函数new Child View()、bind Child View()等中使用数据库适配器的函数接口获取页面信息,并将这些页面信息经过库函数如get Bitmap From Byte()将byte数据转换为可用的bitmap数据后分别设置到页面分组XML格式的布局文件和子页面XML格式的布局文件中的Image View和Text View当中,以完成缩略图列表 显示。
3、子页面的个性化设置触发步骤:将3D页面对应的各个子页面页面信息以Cursor的形式绑定到缩略图列表,缩略图列表中各条子页面页面信息以id为顺序逐条加入缩略图列表的显示列表中。同时对各条子页面页面信息中的单击修改按钮添加事件监听,一旦监听到其中一个子页面的单击修改按钮的触发事件,即于监听处理函数中使用Intent机制启动下述编辑操作,其中将触发的子页面的页面信息内的子页面名称以附加信息的形式传送至下述编辑操作中。
(二)编辑过程,该过程包括如下2个步骤:
1、呈现实现步骤:同样使用XML文件描述编辑操作时的编辑界面,分别使用Text、Edit Text、Seek Bar和自定义的Image View控件完成子页面的页面名称、描述信息、透明度和页面图片的显示,这些控件所需的对应子页面的页面信息均从数据库中获取。在编辑操作启动的时候,通过get Intent()函数获取由菜单呈现过程所触发的用于通信的intent,通过类别判断可知道该触发的子页面是否需要获取其附加信息,进而可以得到对应子页面的页面名称,使用该页面名称查询数据库可得到子页面的所有页面信息。针对子页面的页面信息,使用自定义的Image View控件呈现和响应用户单击事件,在该控件中自定义事件监听函数,自定义页面信息设置函数,预置部分页面信息资源,在数据库中对应子页面页面信息中没有页面图片时,使用随机函数Random()选择随机的图片作为当前该子页面的页面图片。子页面名称、描述信息、透明度等页面信息同样使用数据库适配器中的查询函数接口获得并设置各个控件显示,子页面信息包括子页面名称、子页面描述信息、子页面透明度和子页面页面图片等。
2、编辑实现步骤:自定义的Image View控件实现事件监听接口,在事件处理函数中回调用户选择对话窗口,用户选择对话窗口通过判断自定义Image View控件中是否已有子页面的页面图片得到是进行编辑操作还是删除操作的结论。如得到的为删除操作,则移除Image View控件使用的页面图片,如得到的为编辑操作,则使用Android定义的Alert Dialog,并用字符串数组适配的方式使该用户选择对话窗口成为一单选窗口,通过该单选窗口,可以从图库、照相机和外存空间中选取图片,该选取的图片即可成为进行编辑操作子页面所需的页面图片。选择图库的事件处理函数后,使用Intent指定页面图片的类型、大小和宽高比列,使用start Activity For Result()函数和图库程序发生交互,用户选择页面图片后程序通过on Activity Result()函数得到该页面图片,将该页面图片从byte转换至bitmap后显示到编辑界面。用户选择照相机的事件处理函数后使用Intent启动拍照程序,在on Activity Result()函数中得到拍照的页面图片后对其进 行裁剪后将页面图片显示到编辑界面。用户选择外存空间的事件处理函数后首先判断sd卡是否存在,如果存在则递归扫描系统sd卡目录,将页面图片保存于数组,使用列表控件将扫描到的页面图片显示出来,用户选择页面图片后依文件路径将页面图片以文件流的方式读取,经过裁剪处理后显示到编辑界面。该子页面的其他页面信息如子页面的页面名称、描述信息直接于Edit Text中编辑,透明度从Seek Bar控件处获取参数。在完成子页面的页面图片的编辑操作之后,使用数据库适配器提供的更新接口将进行编辑操作的子页面的页面信息如文字、页面图片和数字等保存到数据库对应的表中,并将与该编辑操作对应的子页面修改标示进行更新,由0置为1。
(三)数据存储过程,该过程包括如下步骤:
数据保存步骤:将编辑过程中进行的对应子页面的编辑操作以及更新后的修改标示都保存至数据库,以供后续数据处理过程调用。
另外,本领域技术人员可以理解的是,该数据存储过程的执行可以是在执行编辑操作的同时和/或更新修改标示的同时即进行保存,也可以是在完成所有编辑操作和修改标示更新之后,再将编辑操作和更新后的修改标示一起进行保存。
(四)数据处理过程,该过程包括如下2个步骤:
1、修改标示步骤:从2D页面切换至3D页面,使用已定义并封装好接口的数据库适配器查询数据库。查询以组名称为关键字,使用SQL语句及查询函数query()将所有子页面的页面信息读取至Cursor对象,使用循环语句遍历Cursor对象得到所有子页面的修改标示。所有子页面在进行编辑操作之前,修改标示都为0,而进行编辑操作的子页面,在完成编辑操作之后,修改标示都由0置为1,当使用循环语句遍历Cursor对象得到所有子页面的修改标示,当得到子页面修改标示为1的时候,表示该子页面的页面信息需要更新,进一步查询得到该子页面的页面图片和透明度等页面信息,完成查询后将修改标示以数据库更新的方式重新置为初始修改标示0。
2、数据处理确认步骤:从数据库中查询到的页面信息如页面图片格式为Byte格式,使用Bitmap Factory.decode Byte Array()函数将其转换为Bitmap格式。接着,使用Bitmap.get Width(),Bitmap.get Height()函数得到页面信息中页面图片的宽度和高度。按照3D页面图片规定的页面图片宽度和高度除以得到的宽度和高度,进而得到缩放比列,进一步创建一个矩阵Matrix对象,设置该矩阵对象的缩放参数为计算得到的缩放比例,最后以该矩阵作为参数,使用Bitmap.create Bitmap()函数创建新的页面图片。得到新3D页面图片后,判断该新3D页面图 片是否具有alpha通道,如有则将新3D页面图片的像素数据读到数组中,将像素数据的第一个字节alpha值设置为从数据库中得到的用户设置的透明值。
(五)渲染显示过程,该过程包括如下2个步骤:
1、数据传送步骤:经过处理后的新3D页面图片以Bitmap格式的形式存在,以新3D页面图片大小一致的数组空间保存该新3D页面图片的像素数据。以函数参数的形式,将数组传送给JNI的native函数,该参数除指明数组以外,还同时指明新3D页面图片的宽度和高度以及新3D页面图片对应子页面的编号,便于使用该新3D页面图片的宽度和高度对指定编号的子页面做更新。native函数透过JNI调用使用C语言编写的底层函数,底层函数malloc()动态分配内存空间保存新3D页面图片,使用循环语句、指针偏移和内存拷贝函数,将新3D页面图片以四字节为单位循环覆盖旧3D页面图片。
2、重绘实现步骤:使用Opengl Es函数和gl Delete Textures()函数删除旧3D页面图片对应的旧的纹理数据,将更新过的新3D页面图片使用gl Gen Textures()函数生成新的纹理数据,并用gl Bind Texture()函数完成纹理绑定,以使新的纹理数据绑定到对应的子页面。完成之后,在Opengl Es的渲染线程里依据3D页面的顶点坐标、纹理坐标进行渲染显示,NDK编译该部分底层代码形成*.so动态库,以模块的形式支持3D页面渲染显示,以根据新的纹理数据在对应子页面进行3D页面贴图的重绘渲染并显示。
本实施例中一种实现安卓操作系统3D桌面贴图的方法使用Opengl Es技术实现安卓(Android)操作系统3D渲染后页面图片形式单一且不可随意更换的问题,通过本方法,用户可以任意使用图库、外存储空间和照相机中的图片实时更新3D页面图片。同时,本方法根据智能电子设备操作系统Android将Opengl Es绘图技术、数据库技术、NDK技术、JNI技术和对象控件技术集成一体,而Opengl Es技术可以实现二维物件、场景的三维呈现,NDK技术可以使用C语言设计高效软件并以动态库控件形式存在操作系统底层,JNI技术使得开发者使用高级程序语言java和底层C库结合,数据库Sqlite负责数据存储和快速查询,控件技术绑定数据并支持用户交互,通过这些技术的结合使用可以使软件从UI层改变底层图像数据从而达到用户随意设置页面图片进行3D页面贴图显示的目的。通过使用菜单界面、缩略图列表、编辑界面和数据库,将图库、照相机、外存空间中的图片经过处理后推送至图形渲染层完成3D页面实时的页面贴图编辑。本方法突破了只能使用固定3D页面图片的限制,使3D页面可呈现出更多更漂亮的显示效果。再者,本方法可以从图库、外存空间和照相机选取图片,为用户提供了实时的、自由的、个性化贴图方法,本方法使用菜单界面、缩略图列表为用户提 供了清晰的用户设置界面和极简单的操作过程,通过图片大小裁剪、数据库存储、固定内存分配使页面图片编辑过程在使用极少的操作系统资源的情况下就能高效完成。
实施例二
本实施例提供一种电子装置,该电子装置采用实施例一所述的方法实现安卓操作系统3D桌面贴图的显示。
该电子装置包括以下各功能模块:菜单模块、编辑模块、数据存储模块、数据处理模块和渲染显示模块。
菜单模块为人机交互接口,用于提供菜单界面,菜单界面上设有进行3D页面个性化设置的接口按键,用户触发该按键,即可启动缩略图列表,通过菜单界面以缩略图列表的形式向用户呈现所有页面分组及页面分组下设置的与之对应的子页面,菜单界面还可弹出相应提示框,响应用户的各种操作指令如将个性化设置的页面图片对应的页面切换至3D页面等。具体的,菜单模块用于完成如下功能:用于提供进行3D页面个性化设置的接口按键,并在缩略图列表中显示所有页面分组,以呈现3D个性化设置菜单,页面分组对应映射有子页面。用户通过电子装置如手机的硬按键或触摸屏点击触发电子装置菜单模块内进行3D页面个性化设置的按键,菜单模块即弹出提示框,提示用户进行3D页面个性化设置,用户根据菜单模块的提示点击,以触发菜单模块启动缩略图列表,启动缩略图列表后,在缩略图列表中显示所有页面分组,页面分组对应映射有子页面。其中,缩略图列表以XML格式的布局文件向用户显示数据库中查询到的所有页面分组及页面分组下的子页面,页面分组XML格式的布局文件中定义了页面分组的下拉图标、组名称、子页面数量等,子页面XML格式的布局文件定义了子页面的页面图片、子页面名称、文字描述、透明度信息和单击修改按钮等页面信息,每一个页面分组对应多个子页面,每一个子页面包含对应子页面的页面图片,子页面名称、文字描述、透明度信息和单击修改按钮等页面信息,以缩略图列表绑定及显示的所有页面分组及子页面可上下滑动,菜单模块对所有页面分组和子页面进行用户点击事件监听,用户点击对应需要编辑的子页面后,即通过菜单模块进入与该子页面相对应的编辑界面中,用户完成编辑操作,通过菜单模块将经编辑操作的页面图片对应的子页面切换至3D子页面。菜单模块完成上述功能的方法同实施例一中菜单呈现过程实现方法相同,这里不再赘述。
编辑模块为对应子页面提供编辑界面,通过该编辑界面,用户可对其中任 一子页面对应的页面图片进行编辑。具体地,编辑模块用于完成如下功能:用于根据3D个性化设置菜单接收到的操作,获取并呈现需要进行个性化设置的子页面的页面信息,并接受该子页面的编辑操作,页面信息包括对应子页面的页面图片。用户通过菜单模块触发编辑模块进入对应子页面的页面图片编辑界面,当前子页面的页面图片、页面名称、文字描述信息或页面透明度等信息即通过电子装置的显示屏呈现给用户,在编辑界面,用户根据自己的喜好及需要对当前页面图片进行编辑:用户进行编辑操作,点击页面图片,编辑模块提示用户选择该页面图片来源,页面图片可分别从电子装置操作系统数据库自带的图库、外存空间及照相机中选取,成功选取进行编辑操作所用的图片后,用户通过触发电子装置的对应硬按键或触摸屏继续对选取的页面图片进行裁剪、对页面名称或文字描述进行修改或通过拉动编辑界面显示的滑块以设置页面透明度等,用户在对页面图片进行编辑操作的过程中,编辑模块对该子页面进行监听,以接收并获取用户对该子页面的页面图片进行的编辑操作,同时,根据编辑操作,将该子页面的修改标示进行更新,由初始状态时的0置为1,完成编辑操作后,根据用户的点击退出与编辑模块对应的编辑界面,并返回至与菜单模块对应的菜单界面;若用户进行删除操作,则删除对应页面图片,并返回至与菜单模块对应的菜单界面。通过菜单界面将经编辑操作的页面图片对应的子页面切换至3D页面。编辑模块完成上述功能的方法同实施例一中编辑过程实现方法相同,这里不再赘述。
数据存储模块用于将编辑操作及更新后的修改标示保存至数据库,即将上述编辑模块获取到的相应页面图片的编辑操作及更新后的修改标示保存至数据库。具体地,数据存储模块用于完成如下功能:保存编辑模块中用户进行的编辑操作,如对子页面的页面图片、页面名称、文字描述信息或页面透明度等进行编辑操作,同时,保存编辑模块进行编辑操作后对对应子页面的修改标示进行的更新,建立后续创建新3D页面图片所需的数据库,以供后续数据处理模块查询调用,同时,该数据存储模块存储的编辑操作及修改标示都支持用户修改。数据存储模块完成上述功能的方法同实施例一中数据存储过程实现方法相同,这里不再赘述,同样,数据存储模块在进行数据存储时,可以是在编辑模块执行编辑操作的同时和/或更新修改标示的同时即进行数据保存,也可以是在编辑模块完成所有编辑操作和修改标示更新之后,再将编辑操作和更新后的修改标示一起进行数据保存。
数据处理模块用于根据3D页面图片要求对上述编辑操作后的页面图片进行处理。具体地,数据处理模块用于完成如下功能:用于按照3D页面图片要求 处理经编辑操作后的页面图片,并创建对应子页面的新3D页面图片。以所有子页面所在的页面分组的名称为关键字,从数据库中读取所有子页面的修改标示,若修改标示有更新,继续查询对应子页面的页面信息,完成查询后,将更新后的修改表示重置为更新前的状态,如读取到修改标示由0更新为1,继续查询该子页面的所有页面信息,完成查询后将修改标示置为0。根据查询到的页面信息中的页面图片,将页面图片进行格式转换、对图片进行大小缩放和透明度处理,使用户选取的页面图片满足对应子页面进行3D页面贴图显示时的显示要求。数据处理模块完成上述功能的方法同实施例一中数据处理过程实现方法相同,这里不再赘述。
渲染显示模块用于根据新3D页面图片生成新的纹理数据,并将新的纹理数据与对应子页面进行绑定,根据新的纹理数据在对应子页面进行3D页面贴图的渲染显示并显示。具体地,渲染显示模块用于完成如下功能:根据数据处理模块处理的结果,生成经编辑操作后的新3D页面图片,使用该新3D页面图片覆盖之前的旧3D页面图片据,即根据新3D页面图片生成新的纹理数据,同时删除编辑之前页面图片的旧纹理数据,根据生成的新的纹理数据,渲染线程将对应新3D页面图片绘制到对应3D子页面并显示出来。渲染显示模块完成上述功能的方法同实施例一中渲染显示过程实现方法相同,这里不再赘述。
其中,菜单模块是用户进行页面图片个性化设置的入口端,为用户提供菜单界面,用户通过电子装置如手机的硬按键或触摸屏进入到菜单界面,菜单界面启动的时候,菜单模块和数据库发生首次交互,菜单模块查询数据库,以缩略图列表控件的形式绑定数据库中查询到的所有页面分组及各页面分组对应的子页面,缩略图列表控件以XML文件格式向用户显示数据库中查询到的所有页面分组及各页面分组对应的子页面,用户选中其中一页面分组下的一子页面即可进入该子页面的编辑界面。编辑模块即为用户提供编辑界面,编辑界面内可对页面图片进行编辑操作,如对文字描述信息等进行修改或更换页面图片,页面图片通过Android操作系统的Gallery、外存和Camera即可获取,使用Android操作系统的Intent完成进程通信可得到页面图片,用户可对页面图片进行裁剪和透明度等编辑操作,编辑模块接收用户的各种编辑操作。数据库是Android操作系统上的Sqlite数据库,用户完成对应子页面页面图片的编辑操作后将经编辑操作后的页面图片保存至此。Launcher是Android操作系统的桌面,当用户通过菜单模块将与子页面对应的2D页面切换进入3D页面的时候,Launcher操作系统查询数据库,获得对应子页面的修改标示并读取相应页面的页面图片、文字描述信息等页面信息,进一步,分别通过数据库接口函数、bitmap处理函数、 图片矩阵缩放函数实现对页面图片的格式转换、大小裁剪和alpha处理。渲染显示模块中,JNI、NDK和Opengl Es负责渲染显示,将处理好的页面图片以字节数组的形式传递给JNI的java函数,JNI进一步调用NDK中的C函数,将字节数组的数据传递到NDK层,NDK刷新内存空间,使用新的页面图片覆盖旧的页面图片,同时调用Opengl Es重新绑定刷新过的页面图片,Opengl Es通过渲染线程以一定的帧率将新的3D页面图片呈现出来。
进一步地,对本实施例中电子装置实现安卓操作系统3D桌面贴图的方法的应用流程进行更加详细的介绍,该应用流程具体分为两个过程:第一个过程为对页面图片进行编辑的编辑过程;第二个过程为页面图片编辑完成后,将编辑后的页面图片进一步处理后在与之对应的子页面进行显示的显示过程。
以下为第一个过程的应用流程,即:对页面图片进行编辑的编辑过程。
操作系统对该电子装置如手机的硬按键或触摸屏进行监听,当用户通过位于电子装置如手机上的硬按键或触摸屏触发电子装置菜单界面内进行3D页面个性化设置的按键后,操作系统根据触发操作,进入页面图片编辑界面,并查询程序初始化时候创建的数据库,从中查询到所有页面分组,并以缩略图列表控件的形式绑定查询到的所有页面分组,缩略图列表控件还以XML文件格式在该编辑界面向用户显示数据库中查询到的所有页面分组,其中,每一个页面分组对应多个子页面,每一个子页面内包含对应子页面的页面信息,页面信息包括与之对应的页面图片、页面名称、文字描述信息及页面透明度等信息。以缩略图列表控件绑定及显示所有页面分组的编辑界面可上下滑动,操作系统对所有页面分组进行用户点击事件监听,用户点击对应需要编辑的页面分组后,即进入与该页面分组相对应的子页面,用户点击子页面的单击修改按钮,即进入该子页面的编辑界面中,操作系统通过与该子页面相对应的页面名称查询数据库,获取该子页面内页面图片、文字数据和页面透明度,将得到的byte型页面图片转换为bitmap数据并放大显示在编辑界面,此时,编辑界面显示当前子页面的页面图片、页面名称和文字描述信息等。操作系统对显示的页面图片进行用户点击事件监听,用户点击页面图片,操作系统弹出提示框,提示框中显示的内容包括:删除操作和编辑操作。若用户点击删除操作,将删除该页面图片并使用软件自带的随机纯色图片,确认后回到编辑界面显示,并更新缩略图列表,退出个性化设置。若用户点击编辑操作,操作系统提示选择更换页面图片,并以选择列表的形式提示用户选择页面图片来源,页面图片来源包括照相机、操作系统自带的图库和外存空间,用户若选择照相机,操作系统内的进程通信发送数据请求,照相机启动后拍摄照片,确认所拍照片后操作系统根据用户的 编辑操作对页面图片进行大小初步裁剪,并将编辑操作后的页面图片在编辑界面呈现;用户若选择图库,进程通信发送数据请求,图库启动显示其中的页面图片,选择页面图片后操作系统根据用户的编辑操作对页面图片进行大小初步裁剪,并将编辑操作后的页面图片在编辑界面呈现;用户若选择外存空间,操作系统扫面外部存储卡文件,用户选择其中的页面图片,选择页面图片后操作系统根据用户的编辑操作对页面图片进行大小初步裁剪,并将编辑操作后的页面图片在编辑界面呈现,在执行上述编辑操作时,操作系统还对与该编辑操作的页面图片相对应的子页面的修改标示由初始状态的0置为1,其中,修改标示为1的子页面表明该子页面需要更新。在用户进行编辑操作过程中,操作系统对编辑界面绑定并显示的所有子页面进行监听,以接收并获取用户对各子页面的页面图片进行的编辑操作,并将接收获取到的对应页面图片的编辑操作及对应子页面的修改标示置为1,一并保存至操作系统数据库中,整个编辑操作过程即结束。
以下为第二个过程的应用流程,即:将经编辑操作后的页面图片进一步处理后在与之对应的子页面进行显示的显示过程。
操作系统监听菜单中的3D页面切换按钮事件,完成上述页面图片的编辑操作过程之后,用户点击切换按钮,操作系统将与前述经编辑操作后的页面图片相对应的子页面切换至3D子页面,而后查询数据库,根据数据库中保存的修改表示来判断页面是否需要更新,修改标示为1的子页面则需要进行更新,此时,进一步查询修改标示为1的子页面的所有页面信息如透明度信息、页面图片等,完成查询后将修改标示置为0,查询到的对应子页面内页面图片为byte格式,操作系统将byte格式的页面图片转换为Bitmap格式后,对该页面图片做进一步的处理,包括缩放处理和alpha透明度处理,完成处理后将处理后的页面图片保存在数组空间,后通过JNI调用,将数组及页面图片的宽度和高度、该页面图片对应的3D子页面的编号一并以函数参数的形式传递给NDK,NDK在收到后将其覆盖到对应子页面的编辑操作前的存储空间内,进一步删除编辑操作前的对应页面图片的纹理数据,而将新数据绑定到新的纹理中,生成编辑操作后的新纹理数据。最后,Opengl Es会根据新纹理数据在其渲染线程中不停的绘制3D页面,对应子页面的页面图片完成了更新,3D页面贴图最终显示出来。
本实施例中的电子装置实现安卓操作系统3D桌面贴图的随意显示,用户可以根据自身喜好,选取桌面各子页面内对应页面图片进行编辑,并将编辑后的页面图片重新在对应子页面显示,从而突破传统固定和半固定形式,解决了安卓操作系统桌面3D渲染后页面图片形式单一且不可随意更换的问题。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分步骤可以通过程序来指令相关硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换。
Claims (9)
1.一种实现安卓操作系统3D桌面贴图的方法,其特征在于,包括菜单呈现过程、编辑过程、数据处理过程和渲染显示过程:
所述菜单呈现过程包括:
接口按键触发实现步骤:在Android操作系统中添加进行3D页面个性化设置的接口按键;
接口缩略图列表显示步骤:监听按键触发事件,根据触发事件启动缩略图列表,在缩略图列表中显示所有页面分组,所述页面分组对应映射有子页面;
子页面的个性化设置触发步骤:将子页面的页面信息绑定到缩略图列表中,并传送子页面的页面信息,以呈现3D个性化设置菜单;
所述编辑过程包括:
呈现实现步骤:根据3D个性化设置菜单接收到的操作,获取并呈现需要进行个性化设置的子页面的页面信息,所述页面信息包括对应子页面的页面图片;
编辑实现步骤:接受编辑操作;
所述数据处理过程包括:数据处理确认步骤:按照3D页面图片要求处理经所述编辑操作的页面图片,并创建对应子页面的新3D页面图片;
所述渲染显示过程包括:重绘实现步骤:根据新3D页面图片生成新的纹理数据,并将新的纹理数据与对应子页面进行绑定,根据新的纹理数据在对应子页面进行3D页面贴图的重绘渲染并显示。
2.如权利要求1所述的方法,其特征在于,所述编辑实现步骤中:接受编辑操作后,更新与所述编辑操作相对应的子页面的修改标示。
3.如权利要求2所述的方法,其特征在于,
所述数据处理过程还包括:修改标示步骤:查询数据库,读取子页面的修改标示;若修改标示有更新,则继续查询数据库,读取对应子页面的页面信息,完成查询,将所述更新后的修改标示重置至更新前的状态;
所述数据处理确认步骤中:根据从数据库中查询到的页面信息,按照3D页面图片要求,创建新的3D页面图片,并判断该新3D页面图片是否具有alpha通道,如有则将新3D页面图片的像素数据读到数组中,将像素数据的第一个字节alpha值设置为从数据库中得到的用户设置的透明值。
4.如权利要求3所述的方法,其特征在于,
所述渲染显示过程还包括:数据传送步骤:传送所述数据处理确认步骤中创建的新3D页面图片,并以创建的新3D页面图片覆盖对应子页面的旧3D页面图片;
所述重绘实现步骤中:删除旧3D页面图片对应的旧的纹理数据,以创建的新3D页面图片生成新的纹理数据,完成纹理绑定,以使新的纹理数据绑定到对应的子页面,依据3D页面的顶点坐标、纹理坐标进行渲染显示,并根据新的纹理数据在对应子页面进行3D页面贴图的重绘渲染并显示。
5.如权利要求2所述的方法,其特征在于,还包括数据存储过程,所述数据存储过程包括:
数据保存步骤:将所述编辑过程中的编辑操作及所述数据处理过程中的更新后的修改标示保存至数据库。
6.如权利要求1所述的方法,其特征在于,
所述接口按键触发实现步骤中,在Android操作系统提供的Menu控件中,利用回调函数添加进行3D页面个性化设置的接口按键;
所述接口缩略图列表显示步骤中,根据触发事件通过start Activity(Intentintent)函数以activity的方式启动缩略图列表;
所述子页面的个性化设置触发步骤中,将子页面的页面信息以Cursor的形式绑定到缩略图列表中,并使用Android的intent通信机制传送子页面的页面信息。
7.如权利要求1所述的方法,其特征在于,所述呈现实现步骤中:使用数据库适配器中的函数接口获得并设置Text、Edit Text、Seek Bar和自定义的ImageView控件,使所述需要进行编辑的子页面的页面信息根据Text、Edit Text、SeekBar和自定义的Image View控件得到呈现;所述编辑实现步骤中:通过所述自定义的Image View控件监听所述函数接口,在事件处理函数中回调用户选择对话窗口,用户选择对话窗口通过自定义的Image View控件接受所述页面图片的编辑操作。
8.如权利要求7所述的方法,其特征在于,所述编辑实现步骤中:在接受编辑操作的过程中,通过Android操作系统定义的Alert Dialog控件与字符串数组适配的方式,使用户选择对话窗口成为单选窗口,所述单选窗口通过图库、照相机和外存空间为接受编辑操作的子页面提供页面图片。
9.一种实现安卓操作系统3D桌面贴图的电子装置,其特征在于,包括:
菜单模块,用于提供进行3D页面个性化设置的接口按键,并在缩略图列表中显示所有页面分组,以呈现3D个性化设置菜单,所述页面分组对应映射有子页面;
编辑模块:所述编辑模块用于根据3D个性化设置菜单接收到的操作,获取并呈现需要进行个性化设置的子页面的页面信息,并接受该子页面的编辑操作,所述页面信息包括对应子页面的页面图片;
数据处理模块:所述数据处理模块用于按照3D页面图片要求处理经所述编辑操作的页面图片,并创建对应子页面的新3D页面图片;
渲染显示模块:所述渲染显示模块用于根据新3D页面图片生成新的纹理数据,并将新的纹理数据与对应子页面进行绑定,根据新的纹理数据在对应子页面进行3D页面贴图的重绘渲染并显示;
数据存储模块,用于将编辑操作保存至数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593357.6A CN103092612B (zh) | 2012-12-31 | 2012-12-31 | 实现安卓操作系统3d桌面贴图的方法及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593357.6A CN103092612B (zh) | 2012-12-31 | 2012-12-31 | 实现安卓操作系统3d桌面贴图的方法及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103092612A CN103092612A (zh) | 2013-05-08 |
CN103092612B true CN103092612B (zh) | 2016-12-28 |
Family
ID=48205223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210593357.6A Expired - Fee Related CN103092612B (zh) | 2012-12-31 | 2012-12-31 | 实现安卓操作系统3d桌面贴图的方法及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092612B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967716A (zh) * | 2017-11-01 | 2018-04-27 | 深圳依偎控股有限公司 | 一种基于立体图片的缩略图显示控制方法及系统 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336816B (zh) * | 2013-06-28 | 2017-02-08 | 广州市动景计算机科技有限公司 | 安卓系统上基于GPU实现的Canvas元素渲染方法及装置 |
CN103617027B (zh) * | 2013-10-29 | 2015-07-29 | 合一网络技术(北京)有限公司 | 基于安卓系统的图像渲染引擎构建方法及系统 |
CN106557320B (zh) * | 2013-10-31 | 2020-01-17 | 青岛海信移动通信技术股份有限公司 | 一种应用于Android平台的启动活动的方法和装置 |
CN103984553B (zh) * | 2014-05-26 | 2017-10-24 | 中科创达软件股份有限公司 | 一种3d桌面显示方法和系统 |
CN104281478B (zh) * | 2014-10-28 | 2018-07-20 | 小米科技有限责任公司 | 更新应用程序的方法及装置 |
CN104461283A (zh) * | 2014-11-18 | 2015-03-25 | 小米科技有限责任公司 | 网络视图的截图方法及装置、电子设备 |
CN104503663B (zh) * | 2014-12-31 | 2017-07-25 | 深圳市航盛电子股份有限公司 | 一种3d人机交互桌面系统 |
CN106296782B (zh) * | 2015-05-29 | 2019-04-26 | Tcl集团股份有限公司 | 一种文字渲染方法和文字渲染装置 |
CN105094683A (zh) * | 2015-06-30 | 2015-11-25 | 北京金山安全软件有限公司 | 一种数据显示方法以及装置 |
CN106548446B (zh) * | 2016-09-29 | 2019-08-09 | 北京奇艺世纪科技有限公司 | 一种在球面全景图像上贴图的方法及装置 |
CN106502541B (zh) * | 2016-11-03 | 2019-08-27 | 贵阳朗玛信息技术股份有限公司 | 一种Android界面的操作方法及装置 |
CN107301044B (zh) * | 2017-06-09 | 2021-02-19 | 广州慧扬健康科技有限公司 | 用于代谢病电子病历表单的多页控件 |
CN108090946A (zh) * | 2017-12-14 | 2018-05-29 | 苏州蜗牛数字科技股份有限公司 | 一种材质球的构建方法及装置 |
CN109544663B (zh) * | 2018-11-09 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 应用程序的虚拟场景识别与交互键位匹配方法及装置 |
CN111045673B (zh) * | 2019-11-29 | 2023-11-17 | 广州久邦世纪科技有限公司 | 一种实时预览制作动态壁纸的方法和终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963894A (zh) * | 2010-10-22 | 2011-02-02 | 华为终端有限公司 | 终端中显示桌面的墙纸的方法和装置 |
CN102523473A (zh) * | 2011-12-01 | 2012-06-27 | 中兴通讯股份有限公司 | 一种三维界面显示装置、方法及终端 |
CN102681853A (zh) * | 2012-05-17 | 2012-09-19 | 中科方德软件有限公司 | 一种利用OpenGL ES实现安卓操作系统桌面3D转屏的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478600A (zh) * | 2009-01-19 | 2009-07-08 | 深圳市同洲电子股份有限公司 | 一种更换墙纸的方法及移动终端 |
US20100194860A1 (en) * | 2009-02-03 | 2010-08-05 | Bit Cauldron Corporation | Method of stereoscopic 3d image capture using a mobile device, cradle or dongle |
-
2012
- 2012-12-31 CN CN201210593357.6A patent/CN103092612B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963894A (zh) * | 2010-10-22 | 2011-02-02 | 华为终端有限公司 | 终端中显示桌面的墙纸的方法和装置 |
CN102523473A (zh) * | 2011-12-01 | 2012-06-27 | 中兴通讯股份有限公司 | 一种三维界面显示装置、方法及终端 |
CN102681853A (zh) * | 2012-05-17 | 2012-09-19 | 中科方德软件有限公司 | 一种利用OpenGL ES实现安卓操作系统桌面3D转屏的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967716A (zh) * | 2017-11-01 | 2018-04-27 | 深圳依偎控股有限公司 | 一种基于立体图片的缩略图显示控制方法及系统 |
CN107967716B (zh) * | 2017-11-01 | 2021-08-06 | 深圳依偎控股有限公司 | 一种基于立体图片的缩略图显示控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103092612A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092612B (zh) | 实现安卓操作系统3d桌面贴图的方法及电子装置 | |
US11412292B2 (en) | Video processing method, video processing device, and storage medium | |
CN107391134B (zh) | 一种通用移动应用交互界面自动生成与动态变换方法与装置 | |
KR101815158B1 (ko) | Mr 콘텐츠 제작 장치 및 그 방법 | |
WO2016150388A1 (zh) | 界面处理方法、装置及系统 | |
EP2711846A1 (en) | Method and device for processing template file | |
CN113411664B (zh) | 基于子应用的视频处理方法、装置和计算机设备 | |
KR20190084725A (ko) | 디스플레이 장치 및 이의 컨텐츠 제공 방법 | |
CN109445891B (zh) | 画面组态及展示方法、装置、计算机可读存储介质 | |
US20170115837A1 (en) | Method and system for story development with a dynamic grid | |
CN103412748A (zh) | 嵌入式平台的用户界面的显示控制方法、装置及系统 | |
CN112445564B (zh) | 界面显示方法及电子设备、计算机可读存储介质 | |
CN106796515A (zh) | 用于元数据驱动的用户界面框架的系统和方法 | |
CN106156189A (zh) | 一种标签生成方法及装置、信息获取方法及装置 | |
CN112685025A (zh) | 快速搭建前端页面的方法及系统 | |
CN110286971B (zh) | 处理方法及系统、介质和计算设备 | |
KR102184162B1 (ko) | 반응형 웹툰 제작 시스템 및 방법 | |
JP2010015521A (ja) | 情報処理装置、方法、プログラムシステム及びサーバコンピュータ | |
CN115691772A (zh) | 运营可视化系统及相应计算机设备和存储介质 | |
KR102092156B1 (ko) | 표시 장치의 영상 인코딩 방법 | |
KR102189292B1 (ko) | 차트 표시 방법 및 이를 이용하는 장치 | |
CN107220045B (zh) | 基于人工智能的建站方法、装置、设备及存储介质 | |
CN112445501A (zh) | 数据烧录方法及设备、计算机可读存储介质 | |
CN103106079B (zh) | 数字内容阅读器及其显示方法 | |
CN110908745A (zh) | 数据分析展示方法及系统、存储介质、服务器及客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161228 Termination date: 20181231 |
|
CF01 | Termination of patent right due to non-payment of annual fee |