Chinaunix首页 | 论坛 | 博客
  • 博客访问: 136662
  • 博文数量: 16
  • 博客积分: 225
  • 博客等级: 民兵
  • 技术积分: 185
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-28 22:07
个人简介

人是懒惰的,只要有借口就会不想往前。如果既有明确的目标,同时道路又直直指向目标,一览无余,只等你开始往前走,那么便没有借口,一往无前。

文章分类
文章存档

2014年(2)

2013年(9)

2012年(5)

分类:

2012-06-23 13:27:51

本文介绍如何向qtopia4.2.4手机平台中加入自己的应用程序
只是介绍了如何把编写好的程序加到桌面环境上,至于怎样编写程序,需要自己去研究

首先要分析qtopia4的源码目录结构,知道几个主要的目录


apps里面存放的是应用程序的桌面文件(desktop)
desktop文件描述了应用程序的类型,名称,图标,可执行程序等属性

里面默认有三个目录
Applications  Games  Settings

 
Applications 应用程序
Games        游戏
Settings     设置
 

我们把要添加的应用程序的desktop文件放到相应的目录下
看一下desktop文件的写法,以clock.desktop为例

  1. [Translation]
  2. File=QtopiaApplications
  3. Context=Clock
  4. [Desktop Entry]
  5. Comment[]=A Clock Program   <---描述
  6. Exec=clock                  <---可执行程序
  7. Icon=clock/Clock            <---图标
  8. Type=Application            <---类型
  9. Name[]=Clock                <---名字

现在我要添加一个名为mytest的应用程序
apps/Applications里创建一个名为"mytest.desktop"的文件
依照clock.desktip内容添写

  1. [Translation]
  2. File=QtopiaApplications
  3. Context=Mytest
  4. [Desktop Entry]
  5. Comment[]=My Test Program
  6. Exec=mytest
  7. Icon=mytest/Mytest
  8. Type=Application
  9. Name[]=Mytest

 

再看pics目录,这里存放了程序所用的图标和图片文件
每个程序都对应了一个文件夹,存放这个程序所用的图标和图片
在这里新建一个"mytest"的目录
在qtopia4中,使用SVG格式的图片做为程序的图标,你需要制作一个SVG图标,或使用现成的SVG图标
把制作好的SVG图标放到mytest目录下,取名为Mytest.svg

 

src目录下存放的就是所有qtopia程序的源码
其中有libraries plugins tools 3rdparty server等构建qtopia环境的源码
应用程序的源码是:application games settings

把编写好的mytest源码放到application中
编写pro文件,格式如下:

  1. qtopia_project(qtopia app)
  2. TARGET=程序名
  3. CONFIG+=qtopia_main no_quicklaunch

  4. HEADERS = (头文件)
  5. SOURCES = (源码文件)

  6. desktop.files=指定桌面文件
  7. desktop.path=桌面文件路径
  8. desktop.hint=desktop

  9. pics.files=指定图片文件
  10. pics.path=图片文件路径
  11. pics.hint=pics

  12. 可根据需要加入help service等属性

  13. INSTALLS+=desktop pics


我的mytest.pro内容如下

  1. qtopia_project(qtopia app)
  2. TARGET=mytest
  3. CONFIG+=qtopia_main no_quicklaunch


  4. HEADERS = mytest.h
  5. SOURCES = main.cpp \
  6.                       mytest.cpp

  7. desktop.files=$$QTOPIA_DEPOT_PATH/apps/Applications/mytest.desktop
  8. desktop.path=/apps/Applications
  9. desktop.hint=desktop

  10. pics.files=$$QTOPIA_DEPOT_PATH/pics/mytest/*
  11. pics.path=/pics/mytest
  12. pics.hint=pics

  13. INSTALLS+=desktop pics


然后需要改一下main.cpp文件,内容如下

  1. #include "mytest.h"
  2. #include <qtopia/qtopiaapplication.h>

  3. QTOPIA_ADD_APPLICATION("mytest", Mytest)
  4. QTOPIA_MAIN

 

现在已经做好了mytest程序的移植准备
重要的一步就是在编译目录里添加mytest程序,让编译系统能够编译mytest
修改src目录下的general.pri文件
在里面仿照

  1. PROJECTS*=\
  2.         applications/addressbook \
  3.         applications/datebook \
  4.         applications/todo\
  5.  applications/calculator \
  6.  applications/camera \
  7.  applications/clock \
  8. 加入一句
  9.  applications/mytest \


这样就把这个程序加入编译目录了

同样,在这里可以裁剪程序,把不需要编译的程序都从这里删掉

配置编译安装qtopia
在qtopia安装目录 bin目录下就会有mytest可执行程序,在图形界面下Application里也会多出一个mytest的图标

如果以上这些都做成功了,在Application里出现自己添加的应用程序,并能正常运行,接下来就可以依次按照上面的方法加入其他的应用程序

 

修改桌面菜单的布局:
修改安装目录下的etc/defaultbuttons.conf文件

  1. [Menu]
  2. Rows=4
  3. Columns=3
  4. Map=123456789*0#
  5. Default=5
  6. 1=Applications/camera.desktop
  7. 2=Applications/datebook.desktop
  8. 3=Applications
  9. 4=Applications/qtmail.desktop
  10. 5=Applications/addressbook.desktop
  11. 6=Games
  12. 7=Settings/Beaming.desktop
  13. 8=Applications/simapp.desktop{@/Telephony/Status/SimToolkitAvailable},Applications/calculator.desktop
  14. 9=Settings
  15. *=Applications/mediarecorder.desktop
  16. 0=Applications/todolist.desktop
  17. #=Documents


这个是默认的布局,Default=5 说明进入菜单时默认是选择哪一个图标
比如我要把mytest程序放到菜单上第2行第1列位置,就修改

  1. 4=Applications/mytest.desktop
阅读(1174) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~