
Nokia
程序员Linc
资深技术专家,专注移动开发与人工智能领域15年+
展开
-
Symbian 网络编程之使用Socket API
简介 通过这篇文章我们想为大家带来一些Symbian操作系统的有关sockets API的基本介绍。 本文的读者应该是希望在他们的应用程序中增添socket通信功能的Symbian操作系统的开发者,本文不仅提供了理论介绍,同样给出了可供实践参考的代码范例。 本文包含的内容有: •概括介绍了有关socket通信的有关组件。 •概括介绍了socket服务架构以及使用两个主要API类RSoc转载 2010-05-29 17:05:00 · 1495 阅读 · 0 评论 -
关于qt中sqlite的odbc占位符
第一次用Windows live writer,就用此文章做下试验吧。 代码如下,摘自《精通qt4编程》 QTime t; srand(1); t.start(); query.prepare("INSERT INTO automobil " "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); long records = 10000; for(int i=0;i原创 2010-07-27 21:29:00 · 4015 阅读 · 1 评论 -
QT拆分字符串
<br />#include <QtCore> #include <QCoreApplication> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QString str = "QQ#34241988;E-mail#songwei_163@163.com;Address#Chengdu,Sichuan;MSN#songwei_163@163.com;Home Page#http://www.goog转载 2010-07-28 10:26:00 · 6199 阅读 · 0 评论 -
Inside Symbian SQL 翻译连载 一
<br />第二章开始<br />A journey of a thousand miles starts with a single step.<br /> Lao-tzu<br />(千里之行,始于足下。老子)<br />Symbian SQL很容易学习并很轻松上手使用。本章的目的是在开始之前做好一切准备。本章的第一部分提供了在哪里并如何获得Symbian SQL的细节。接下来在一个控制台程序中翻译 2010-06-04 21:19:00 · 1940 阅读 · 0 评论 -
Symbian平台的版本
Table 1.1 Versions of the Symbian platformSymbian platform S60 Symbian OSn/a 3rd Edition v9.1n/a原创 2010-06-04 09:28:00 · 1204 阅读 · 0 评论 -
Inside Symbian SQL 翻译连载声明
WILEY出版社的一本讲述SQLite for Symbian的书,作者是Ivon Litovski和Richard Maynard等。书的全名是 Inside Symbian SQL-A Mobile Developer's Guide to SQLite,我姑且给翻译成中文名为《深入Symbian SQL--移动开发者的SQLite指南》。翻译 2010-06-04 19:46:00 · 1237 阅读 · 1 评论 -
Inside Symbian SQL 翻译连载 二
2.3.3 创建一个表数据库创建后,下一步就是创建一个可以存储数据的表。表的设计类似于一个纲要(schema )。数据库表纲要(schema )的设计是个复杂的题目,详细情况我们在第五章会讨论。在这个例子中,只是为数据库文件添加了一个单独的表。歌曲是以原始的二进制格式BLOB 存储在数据库中的。歌曲表设计请见表2.1 。翻译 2010-06-05 21:09:00 · 1831 阅读 · 0 评论 -
qt 线程与ui线程同步
<br />本文转自:http://hi.baidu.com/buptyoyo/blog/item/b7b035ef2233a9d8b31cb137.html<br /> <br />目前只会一种,采用信号槽机制。<br />通常情况下,信号和槽机制可以同步操作,这就意味着在发射信号的时候,使用直接函数即可以立刻调用连接到一个信号上的多个槽。<br />然而,当连接位于不同线程中的对象时,这一机制就会变得不同步起来,可以通过修改QObject::connect()的第5个可选参数而改变。<br />conn转载 2010-07-31 20:51:00 · 7684 阅读 · 3 评论 -
关于qt :: error: collect2: ld returned 1 exit status的错误
<br />刚才遇到的这个问题,在网上搜索了一下,<br />有说之前的程序已经运行了,有说pro文件有问题的,<br />我找了一会,发现我在头文件中定义了两个slots,<br />在cPP文件中没有实现。<br /> <br />见nokia论坛<br />Another reason might be that your source is incomplete and calls method DECLARATIONS that get called but the method IMPLEMEN原创 2010-07-31 21:09:00 · 17449 阅读 · 1 评论 -
如何在QT应用程序中读取Meamo5的IMEI码
Maemo 5 为获得手机上的IMEI吗提供了DBus接口。服务的名称是com.nokia.phone.SIM,路径是/com/nokia/phone/SIM/security,接口名是Phone.Sim.Security。最后,获得IMEI码的方法名get_imei。 你可以在XTerm中用dbus-send工具来核实: bus-send --system --type=method_call --print-reply / --dest=com.nokia.phone.SIM /翻译 2010-08-01 11:46:00 · 2687 阅读 · 0 评论 -
QT中的事件2
<br /><br />QEvent<br />QEvent类是所有事件类的基类。事件对象包含事件参数。<br />Qt的主事件循环(QApplication::exec())从事件队列取得本地窗口系统的事件,并将它们转变成QEvent,然后装转换好的事件发送给QObjects。<br />一般情况下,事件来自底层窗口系统,但是也有可能通过QApplication类的QApplication::sendEvent()和QApplication::postEvent()来手动发送事件。<br />QObjec转载 2010-07-27 16:56:00 · 1781 阅读 · 0 评论 -
QT 中的事件
<br /><br />转自:http://hi.baidu.com/buptyoyo/blog/item/572d52f78eaad129bc310903.html<br />Qt程序是事件驱动的, 程序的每个动作都是由幕后某个事件所触发. Qt事件的类型很多, 常见的qt的事件如下:<br />键盘事件: 按键按下和松开.<br />鼠标事件: 鼠标移动,鼠标按键的按下和松开.<br />拖放事件: 用鼠标进行拖放.<br />滚轮事件: 鼠标滚轮滚动.<br />绘屏事件: 重绘屏幕的某些部分.<br转载 2010-07-27 16:44:00 · 2345 阅读 · 0 评论 -
symbian 菜单-运行时更换菜单实现右键菜单功能
symbian菜单2-运行时更换菜单实现右键菜单功能symbian 菜单主要是由 MENU_BAR->MENU_TITLE->MENU_PANE->MENU_ITEM 组成MENU_BAR的属性 titles 指定 MENU_TITLE的集合MENU_TITLE的 menu_pane 指定这个 MENU_TITLE 由哪个 MENU_PANE 提供菜单项MENU_PANE 的转载 2010-05-28 20:50:00 · 1749 阅读 · 0 评论 -
Symbain 模拟器下删除已调试的过程序
/release/winscw/udeb/myapp.exe/epoc32/data/z/resource/apps/myapp.rsc/epoc32/release/winscw/udeb/z/private/10003a3f/apps/myapp_reg.rsc/Epoc32/release/winscw/udeb/z/resource/apps/myapp_aif.mif转载 2010-05-28 21:18:00 · 1575 阅读 · 0 评论 -
QT中信号槽的自动对应
<br />有这么个公式:void on_<widget name>_<signal name>(<signal parameters>);<br /> <br />这个有点类似于c#中的事件了,如button的click事件。<br /> <br /> private slots:<br /> void on_okButton_clicked();<br />这样就不用写connect了,自动关联上了~~~原创 2010-07-23 09:34:00 · 1364 阅读 · 0 评论 -
Qt中的QString和QByteArray
<br />本文转自:http://blog.youkuaiyun.com/xiaoyangger/archive/2010/04/04/5450627.aspx<br /> <br /><br /> 最近在用Qt做串口数据收发方面的实验,经常用到像QString和QByteArray一类的字符处理类,因此在这里做一个总结,文章有点凌乱,希望见谅。<br /> 先要说的是QString。<br /> 之所以把QString单独拿出来,是因为string是很常用的一个数据结构,甚至在很多语言中,比如J转载 2010-07-24 09:35:00 · 3381 阅读 · 0 评论 -
QT socket通信小结
<br /><br />qt 的socket使用起来很是方便的,个人感觉封装的不比c#和java差.<br />1、连接<br />private:<br /> QTcpSocket *tcpSocket;<br /> QString message; //存放从服务器接收到的字符串<br /> quint16 blockSize; //存放文件的大小信息<br /> <br /> tcpSocket = new QTcpSocket(this);<br /> blockSize =原创 2010-07-24 15:02:00 · 7870 阅读 · 1 评论 -
QT 中添加资源图片
一、在qt creator 项目中添加图片资源项目->Add new ->Qt Resource file,这样就添加了一个.qrc文件了。双击它,先add一个prefix,然后你才能再add file,把要add的图片选中,就okay了。此时选中你add的图片,可以给它起个别名Alias,这样做程序中用这个别名就可以引用这个图片了。.qrc的格式如下welcome.jpg其中prefix指定前缀,alias指定程序中引用的符号,如本例可用":/welcome"来引用文件"/welcome/welcome.原创 2010-07-27 15:04:00 · 16348 阅读 · 1 评论 -
Symbian中的数组
<br />Symbian OS 中的动态数组CArrayX的存储方式分为连续存储(Flat)和分段存储(Segmented buffer)两种。<br /><br />对于Flat方式,多用于查找比较频繁的地方。对于Segmented方式,多用于存储空间大小经常发生变化的时候。<br /><br />由于存在连续存储和分段存储两种不同形式的存储,CArray可根据存储形式和存储内容的不同分为4种。<br /><br />(1)Fix类型,每个元素都拥有相同的长度。<br />(2)Var类转载 2010-05-31 21:55:00 · 1534 阅读 · 0 评论 -
Symbian 动态数组与缓冲区
<br />类:RArray,RPointerArray<br /> <br />CArrayX (CArrayFixFlat,CArrayPakFlat,CArrayVarSeg,CArrayPtrFlat,...6个修饰元素:Fix[定长],Pak[压缩],Var[变长],Ptr[指针],Seg[段],Flat[平坦])<br /> 对于简单数组(定长/平坦),RArray,RPointerArray类提供更简单更高效的动态数组,应该优先使用这两个类而非CArrayX类(CArrayF转载 2010-05-31 21:58:00 · 1852 阅读 · 0 评论 -
QT多线程中的互斥与同步
<br />参考自《精通qt4编程》。<br /> <br />qt为实现线程的同步与互斥,提供了几个类。<br />下面主要介绍三个类:<br />一、QMutex和QMutexLocker<br />class key{public: key(){key = 0;} int createKey(){QMutexLocker locker(&mutex);++key;return key;} int value() const {QMutexLocker locker原创 2010-07-27 21:20:00 · 18660 阅读 · 2 评论 -
QT中调用外部程序:QProcess的使用
<br /><br />本文转自:http://blog.youkuaiyun.com/WaderChan/archive/2009/05/19/4199913.aspx<br /> <br />本文通过QProcess,实现了在Qt中调用外部程序(控制台程序),并将输出重定向到了一个QTextEdit里。效果如下图所示:<br />运行界面如下:<br /><br /><br />程序共包含以下有一个文件:<br /> view plaincopy to clipboardprint?//: main.cpp #i转载 2010-08-01 11:58:00 · 5615 阅读 · 0 评论 -
Qt中timer使用
<br />没想到qt中使用timer是如此的简单,<br />在遇到需要每隔一段时间触发一个事件的时候,<br />timer就有了用武之地。<br />如下例:<br />#include <QTimer>QTimer timer=new QTimer; connect(timer,SIGNAL(timeout()),this,SLOT(dosomething())); timer->start(1000);void dosomethings(){//do somet原创 2010-08-03 16:12:00 · 20763 阅读 · 1 评论 -
S60中为对话框添加菜单及响应命令的方法(ZT)
方案一:RESOURCE DIALOG r_dlg_tmp{ flags = EAknDialogSelectionList; buttons = r_softkeys_options_choose; items = { DLG_LINE { type = EAknCtSingleGraphicListBox; id = ESelectionListControl;转载 2010-06-15 19:32:00 · 1672 阅读 · 0 评论 -
Symbian C++中几种say hello 的方法
第一种方法是用CAknInformationNote来做:#include CAknInformationNote *note = new (ELeave) CAknInformationNote; note->ExecuteLD( _L( "hello linc ,u r so cool!!!" ) ); 第二种方法是InfoMsg: _LIT(KSayHello, "hello linc ,u r so cool!!!"); CEikonEnv::Static()->InfoM原创 2010-06-15 23:42:00 · 1299 阅读 · 0 评论 -
Symbian C++ 给文本编辑框赋值及Form的设计
评论:S60的UI设计不是一般的繁琐void CMyForm ::LoadFormValuesFromDataL() { CEikEdwin* nEditor = static_cast (ControlOrNull(EmyformDlgCIdEdwin)); if (nEditor) { // Example : set the Control Text // TBuf myName; myName.Copy(_L("Vasant")); HBuf原创 2010-06-16 12:26:00 · 1808 阅读 · 0 评论 -
S60平台:Avkon UI 资源-设置列表--S60 Platform: Avkon UI Resources- Setting Lists翻译连载一
一、 介绍在S60 平台,设置列表提供了统一的方式来显示应用程序的设置。本文档主要讲述了设置列表的创建、使用和操作翻译 2010-06-16 22:16:00 · 1363 阅读 · 0 评论 -
S60平台:Avkon UI 资源-设置列表--S60 Platform: Avkon UI Resources- Setting Lists翻译连载四
<br /> <br />三、设置项类型<br />在S60平台有十种不同的设置项类型,下面我们来仔细介绍这些类型及它的资源结构。<br />3.1 Binary Switch <br />二进制开关是最简单的设置项类型了,它允许设置成开和关,并且不需要单独的设置页,在设置列表中就可以改变。二进制开关设置项类型返回一个布尔(TBool)型变量在应用程序设置数据中。设置项类中使用的二进制开关类型是CAknBinaryPopupSettingItem。<br /><br /> <br /> 图1 二进制开翻译 2010-06-22 09:39:00 · 2220 阅读 · 0 评论 -
S60 平台:Avkon UI 资源-设置列表--S60 Platform: Avkon UI Resources- Setting Lists翻译连载五
四、 操作(manipulating)设置项(setting items)设置项有些属性可以在运行时操作,本章要讲的就是这些。4.1 隐藏设置项设置项可以隐藏。当设置项隐藏,就不会在设置列表中显示。(这不废话嘛。译者注)这允许应用程序设计者根据其他设置项的值或应用程序上下文在给定的时间选择设置项。隐藏设置项完成调用SetHidden函数。翻译 2010-06-22 20:43:00 · 1418 阅读 · 0 评论 -
图文教程-VM虚拟机安装MEEGO图解+解决黑屏-完整版
<br />本文转自:http://www.meegofun.com/redirect.php?tid=75&goto=lastpost<br /> <br />图文教程-VM虚拟机安装MEEGO图解+解决黑屏-完整版<br />xpsp3下VM安装MEEGO图解<br />完整版<br />UMEEGO制作<br />本帖不在做文字解说<br /><br /><br /><br />2010-7-21 19:09 上传下载 (249.7 KB) <br /><br /><br /><br />2010-7转载 2010-10-20 08:38:00 · 5650 阅读 · 0 评论 -
移动开发四国语言概览二:标识符
定义:一、标识符是指常量、 变量、语句标号以及用户自定义函数的名称,以及后来的接口名、类名。C语言规定标识符只能由字母、数字、 下划线组成,并且只能由字母、下划线开头;并且不能使用关键字做标识符。C++对标识符的规定与C语言相同。Objective-C也同上。Java可以使用$符号开头和任意位置,其余同上。Java标识符的约定:1、类和接口通常使用名词,每个单词的首字母原创 2012-08-13 20:56:02 · 2572 阅读 · 1 评论 -
活灵活现用Git-技巧篇
<br /><br />版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://phoenixtoday.blogbus.com/logs/35149540.html<br />上一篇介绍了Git的基本概念和一些基本命令,本篇的重点在如下三个部分:个性化定制你的Git,更酷更巧妙的使用Git,以及如何在Git Hub上开启你自己的开源项目。在所有技巧中,最重要的技巧是学会查看Git的帮助,因为Git是一个相对复杂的版本控制工具,如果你熟悉它的命令,那么 给你带来的价值是不言而喻的,所以转载 2010-07-14 16:45:00 · 1282 阅读 · 0 评论 -
S60_Platform_Avkon_UI_Resources翻译声明
<br />由于最近再搞S60平台的UI,所以SQLite的翻译先暂停一段时间,给UI翻译一些优先权。<br />首先,这一系列翻译来自官方文档S60_Platform_Avkon_UI_Resources_v1_1_en.zip,涵盖了UI资源的对话框(dialogs)、编辑器(editors)、窗体或叫作表单(forms)、表格或网格(grids)、列表框(listboxes)、记录(notes)和设置列表(setting-lists)等7项内容。本人在闲暇之余,尽力把这些内容翻译出来,仅作学习与交流之翻译 2010-06-16 21:17:00 · 1962 阅读 · 0 评论 -
Symbian对话框之表单Form
本文转自:http://www.devdiv.net/blog/space.php?uid=15450&do=blog&id=399表单(Form)有的书籍也称之为表格,是S60平台提供的一种特殊的对话框,他的基类是CAknForm,从CAknDialog派生而来的。分为视图模式(也称查看模式)和编辑模式。如果一个表格有查看模式的话,那么查看模式将是缺省模式,可以通过"选项"菜单中的“编辑”切换到编辑模式,在编辑模式下“选项”菜单有四个缺省的项,见图:表单在编辑模式下缺省菜单项由于表单也转载 2010-06-16 12:36:00 · 1781 阅读 · 0 评论 -
Inside Symbian SQL 翻译连载 三
2.3.6 查询一条数据RSqlStatement 对象允许返回数据到客户端。首先,SQL 语句传入到RSqlStatement::PrepareL() 函数。这个函数把SQL 语句编译成SQLite 字节码,然后就可以解释出来了(关于字节码(bytecode ),第七章会详细讨论)。准备好SQL 语句后,调用RSqlStatement::Next() 函数来解释预编译的语句。如果函数返回值是KSqlAtRow ,你已经成功执行了查询语句并回返回相应的结果。翻译 2010-06-06 20:16:00 · 1974 阅读 · 5 评论 -
QT的属性
<br />1.属性有什么用?<br />由于c++类具备封装特性,不推荐对类成员变量(class variables)进行直接存取。现代编译器引用属性(property)的概念,对成员变量进行安全的存取。比如在win平台下 vc7有类似于__property或[property]的支持。Qt由于要实现其跨平台(cross platform),引入一套独特的属性系统。其底层是由meta compiling进行支持。<br />2.格式<br /> Q_PROPERTY(type name<br />转载 2010-08-02 15:43:00 · 3989 阅读 · 0 评论 -
关于qt程序自适应屏幕分辨率的探索
qt提供的layout使其成为可能,在加上程序加载时最大化,可以委曲求全成为屏幕自适应,虽然这不是很完美, 但也不失为一种方案。 layout分为verticalLayout、horizontalLayout、gridLayout和formLayout,layout加上horizontalSpacer和 verticalSpacer的配合,界面布局变得很容易。qt在这方面做的很好,完全可以和微软媲美。。。原创 2010-08-04 15:41:00 · 5048 阅读 · 1 评论 -
Inside Symbian SQL 翻译连载 四
<br />2.3.9删除一条记录<br />删除一条记录与更新一条记录的方法类似,也是用RSqlDatabase::Exec()函数。<br />void DeleteRecordL(RSqlDatabase& database) { _LIT(KDeleteRec, "DELETE FROM songsTbl WHERE title ='Imagine'"); // The database object is already connected to a database file /翻译 2010-06-07 22:02:00 · 1623 阅读 · 0 评论 -
qt 的模型视图结构
<br />View 类<br /><br />概念<br />在model/view架构中,view从model中获得数据项然后显示给用户。数据显示的方式不必与model提供的表示方式相同,可以与底层存储数据项的数据结构完全不同。<br />内容与显式的分离是通过由QAbstractItemModel提供的标准模型接口,由QAsbstractItemview提供的标准视图接口共同实现的。普遍使用model index来表示数据项。view负责管理从model中读取的数据的外观布局。<br />它们自己可以转载 2010-08-04 20:57:00 · 1843 阅读 · 0 评论 -
一个模型视图的例子
<br />转自:http://hi.baidu.com/huangh0z0/blog/item/1a97cd3198cf0890a8018ec2.html<br /> <br />// main.cpp#include <QtGui>#include "weaponmodel.h"int main(int argc, char *argv[]){QApplication app(argc, argv);QTextCodec::setCodecForTr(QTextCodec::co转载 2010-08-04 20:58:00 · 3037 阅读 · 0 评论