Symbian
文章平均质量分 60
sanfengshou
Happy!
展开
-
串口通信
<br />串口通讯是一个底层的,点对点的技术,用来在两台手机间传输数据,特别是近距离范围。S60支持通过红外和蓝牙进行串口通讯。对S60来说是用串口通讯服务来完成的(也被称为Comms Server或C32)。这个使用Symbian OS客户端/服务器模式来提供串口硬件的访问,并且它更具通用信(也就是说,同样的API可以为红外和蓝牙串口通信服务,注意不同的硬件可以通过额外的插件支持),而且也须有共享性(换句话说,几个客户端线程可以更加安全的同时使用同一个串口)<br /> Contents转载 2011-03-31 17:40:00 · 823 阅读 · 0 评论 -
symbian下的http连接
<br />使用到的类:<br />RHTTPTransaction :<br />http处理类。包括请求和应答。通过RHTTPSession::OpenTransactionL()创建并打开。<br /><br />RSocketServ :<br />socket服务器类。RSocketServ::connect()用来建立客户端到socket服务器的进程之间的通信。<br />RConnection :<br />网络连接管理接口类。<br />RHTTPSession:<br /转载 2011-02-17 18:00:00 · 525 阅读 · 0 评论 -
活动对象调度器-活动对象
<br /> 非GUI程序,<br />需要在入口函数中(如GLDEF_C TInt E32Main())自己创建一个活动对象调度器:<br /> <br /> // create an active scheduler to use<br /> CActiveScheduler* scheduler = new(ELeave) CActiveScheduler();<br /> CleanupStack::PushL(scheduler);<br /> CActiveSc原创 2011-02-17 17:07:00 · 625 阅读 · 0 评论 -
Symbian中的Http开发详解
<br />1 打开一个会话<br />Http客户端会话由声明一个RHttpSession对象并调用它的OpenL()方法开始。<br />RHTTPSession iSession;<br />iSession.OpenL();<br />2 创建一个事务<br />要创建一个新的事务,客户端必须指定URI、HTTP请求方法和一个用于接收事务处理期间的事件的callback对象,该回调对象必须继承自MHTTPTransactionCallBack接口。RHTTPTransaction句柄由唯一地定义新事转载 2011-02-17 18:02:00 · 489 阅读 · 0 评论 -
Symbian HTTP的cookie处理
<br />什么是Session, 什么是Cookie?<br />Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也转载 2011-02-18 11:44:00 · 1273 阅读 · 0 评论 -
TCP, Scoket, HTTP
<br /> <br />1、TCP连接<br />要想明白Socket连接,先要明白TCP连接。手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。<br />建立起一个TCP连接需要经过“三次握手”:<br />第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;<br />第二次握手:服务器收到syn包,必须确认客户的SYN(a转载 2011-03-04 11:34:00 · 2593 阅读 · 0 评论 -
Symbian IAP 浅谈
<br />(Symbian网络接入点常用编程)2009-02-24 16:36Coastline 版权所有,转载请注明出处<br />今天总算静下心来把IAP弄懂了个大概,记下来记下来。:)<br />从CommDb中获取接入点信息:<br />CCommsDatabase* commsDB=CCommsDatabase::NewL(EDatabaseTypeIAP);<br />CCommsDbTableView* table= commsDB->OpenIAPTableViewMatchingBe转载 2011-03-02 13:21:00 · 838 阅读 · 0 评论 -
Symbian DLL(Dynamic Link Library 动态链接库)
Symbian 系统 支持两种类型的DLL: (1)静态接口DLL (2)多态接口DLL(1)静态接口DLL静态接口DLL 在主调程序启动的时候被系统自动载入到手机内存里面(唯一的例外是如果该DLL 是在ROM只读存储器里面,那么可以直接通过它的地址进行调用)。并且如果没有外部程序使用它了,它将被自动的从内存中卸载。静态接口DLL 在系统内提供了一系列唯一的函数(例如,两个具有相同导出函数的DLL 在系统中也不会混淆)静态接口DLL 具有.dll 文件后缀,通原创 2010-11-23 15:23:00 · 1631 阅读 · 0 评论 -
Symbian OS上的Capability介绍
<br />在调试程序是遇到了这样的错误“由于安全问题,无法执行此文件”。由于使用了串口,所以怀疑是没有权限操作系统资源。于是接触到了Capability,它也和开发过程中使用的签名证书相关。<br />本文转至:http://wiki.forum.nokia.com/index.php/Capability%E4%BB%8B%E7%BB%8D <br />能力是访问敏感API权限的令牌。如果需要保护Symbian OS中的特定功能(API),则使用该功能的代码必须具有与之相关的能力。需要访问能力受保护转载 2010-11-18 11:16:00 · 459 阅读 · 0 评论 -
Symbian使用TTime类获取系统时间并转换为描述符
<br />获取系统时间并转换为描述符<br />TTime currentTime;<br />currentTime.HomeTime();<br /><br />TBuf<100> time;<br /><br />currentTime.FormatL(time,_L("%Y_%M_%D_%H_%T_%S_%C")); //___18_13_37_474750<br />LOG(time);<br />currentTime.FormatL(time,_L("%Y %M %D %转载 2010-11-19 10:16:00 · 776 阅读 · 0 评论 -
Symbian 里的 RFileLogger类
RFileLogger类, 这个类是将log输出在一个Log文件中, 并自动附带有一个时间截, 这个类很有用, 可以使用在模拟器上也可以在手机上使用. 使用这上RFileLogger类, 需要包含 flogger.h 头文件, 并连接到 flogger.lib 库. 按网上的说明, 因为这个类呢, 是个可有可无的东西, 很多人自已都可以很快的写出一个函数用来记录Log, 所以在SDK中, 都查不到RFileLogger的使用说明介绍. 我用的是S60 v9.1版本, 好像以前2rd版SDK里有,转载 2010-11-16 15:44:00 · 743 阅读 · 0 评论 -
About NONSHARABLE_CLASS
<br /><br />About NONSHARABLE_CLASS: <br />We can find some information from “SymbianOS v9.2 - Symbian OS reference - C++ component reference - Base E32_COMPSUPP -NONSHARABLE_CLASS”<br /><br />Location: gcce.h <br /><br />NONSHARABLE_CLASS<br />N转载 2010-10-19 17:41:00 · 804 阅读 · 0 评论 -
读取文件数据: RFile(需8位转16位) 和 RFileReadStream
<br />1: Use RFile 和 RFs fsSession<br /> <br />void ReadFile (TDesC& aFileName)<br /> {<br /> RFs fsSession;<br /> User::LeaveIfError(fsSession.Connect());<br /> RFile file; <br /> User::LeaveIfError(file.Ope原创 2010-06-02 16:42:00 · 1601 阅读 · 1 评论 -
How to terminate call
<br /><br />This is done using CTelephonyusing CTelephony::Hangup(). <br />Pass the call ID toCTelephony::Hangup() to terminate the call. The ID is the CTelephony::TCallIdreturned when you dialled or answered the call. Asynchronous call <br /><br />L转载 2010-06-01 16:17:00 · 659 阅读 · 0 评论 -
Hang up voice calls(转)
Hanging up Phone callsThere are several ways on hanging up the phone calls, here’s a list on what is available for S60 in public space:1. CTelephony2. AT commands3. CPhCltCommandHandlerCall can only be hang up in certain call states, thus yo转载 2010-06-01 16:11:00 · 1074 阅读 · 0 评论 -
S60系统错误
<br />S60系统都会出现系统错误,其实我们解决的方法很简单:<br />新建一个名为“ErrRd”的空文本文件,放到C:/system/bootdata这个目录下,让系统在出错时能显示出错代码,当然这时我们就知道了这个错误代码的原因了:<br />系统错误-1----------找不到指定文件<br />系统错误-2--------一般错误<br />系统错误-3------操作被取消<br />系统错误-4-------内存不足<br />系统错误-5--------不支持所要求转载 2011-02-21 15:33:00 · 1079 阅读 · 1 评论 -
Symbian 创建APN
需要插入6个表各一条新纪录, 并且要去另一张表查一个字段. 说明一下, http://www.forum.nokia.com/info/sw.nokia.com/id/5a2147f6-15b7-46e4-8bf4-aaca7c7fc675/S60_Platform_Internet_Access_Points_Example_v2_0_en.zip.html 里面创建iap的代码有错误, 设置 GPRS_IP_DNS_ADDR_FROM_SERVER 的值因为 ETrue, 而原文是EFalse, 所以该转载 2011-02-22 11:46:00 · 1039 阅读 · 0 评论 -
HTTP on Symbian OS
<br />Reviewer Approved <br />Contents<br />[hide]<br /> 1 Purpose <br /> 2 Architectural relationships <br /> 3 Description <br /> 3.1 Sessions <br /> 3.2 Transactions <br /> 3.3 Headers <br /> 3.4 Data suppliers <br /> 3.5转载 2011-03-31 17:38:00 · 761 阅读 · 0 评论 -
How to Make an HTTP Connection Using TCP/IP with RSocket
<br />Reviewer Approved <br />The following code shows how to make an HTTP connection using a TCP/IP with RSocket interface which will retrieve a Web page by resolving the IP address of a server, constructing an HTTP request, sending it to the转载 2011-03-31 17:36:00 · 657 阅读 · 0 评论 -
PDP
<br />The data connection is divided into two steps GPRS Attach and Packet Data Protocol (PDP) Context Activation. GPRS Attach <br />The GPRS Attach is a process during which the mobile device informs the network about its presence in the network. The转载 2011-03-31 17:35:00 · 1137 阅读 · 0 评论 -
HTTP协议头详解
<br />HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内容请参 考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户 信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以 及可能的实体内容。 <br /转载 2011-03-31 17:32:00 · 716 阅读 · 0 评论 -
RConnection的简单使用两则
RConnection 的基类是RSubSessionBase。目前我所知道的就是两个功能:一、为套接字在SymbianOS上使用建立会话通道,二、使用已建立的会话通道第一种应用是为了屏蔽接入点(IAP)选择对话框,具体代码如下TInt currentProfileId;// Check whether we are offline or onlineiRepository->Get(KProEngActiveProfile, currentProfileId);if (currentProfileId =转载 2011-03-31 16:45:00 · 2166 阅读 · 0 评论 -
深入研究线程池
<br />深入研究线程池<br />一.什么是线程池?<br />线程池就是以一个或多个线程[循环执行]多个应用逻辑的线程集合.<br />注意这里用了线程集合的概念是我生造的,目的是为了区分执行一批应用逻辑的多个线程和<br />线程组的区别.关于线程组的概念请参阅基础部分.<br />一般而言,线程池有以下几个部分:<br />1.完成主要任务的一个或多个线程.<br />2.用于调度管理的管理线程.<br />3.要求执行的任务队列.<br />那么如果一个线程循环执行一段代转载 2011-03-31 16:38:00 · 535 阅读 · 0 评论 -
S60串口通信方法(USB,蓝牙)
<br />2rd:<br /><br />蓝牙通信:<br /><br />_LIT (KLddName, "EUSBC"); //ECOMM<br /><br />// Logical device driver names<br />_LIT (KLBTddName, "ECOMM");<br /><br />// Comm Port Name<br />_LIT (KPortName, "ACM::0"); //IRCOMM<br /><br />// Comms mod转载 2011-03-31 17:39:00 · 1057 阅读 · 0 评论 -
《Symbian OS:线程编程》hoolee中文版 三
6、其他线程函数TInt Rename(const TDesC& aName)为线程定义个新名字。void RequestComplete(TRequestStatus*& aStatus, TInt aReason)通知线程与一个异步请求绑定的请求状态对象aStatus已綺完成。sStatus完成代码将负责设置aReason及发出线程请求信号的通知。TInt RequestCount()返回线程请求信号的数目。如果是负值则表示该线程正在等待至少一个异常请求的完成。void Ha转载 2011-03-29 15:42:00 · 589 阅读 · 0 评论 -
《Symbian OS:线程编程》hoolee中文版 二
<br />4、线程优先级<br />线程可以被赋予一个绝对或相对的优先级。绝对优先级定义了这个线程的总体优先级,不需要考虑其拥有者进程的优先级了。而赋予相对优先级时则将此线称定义为拥有者进程的优先级加上该相对优先级后的结果。<br /><br />下面粗体标示的优先级值可以由用户代码设置:Code:<br />enum TProcessPriority<br />{<br />EPriorityLow=150,<br /> EPriorityBackground=250,<br />转载 2011-03-29 15:40:00 · 598 阅读 · 0 评论 -
《Symbian OS:线程编程》hoolee中文版 一
<br />鉴于最近论坛上很多人都问到多线程的问题,hoolee想将Nokia今年三月刚发布的技术文档《Symbian OS: Threads Programming》穇译给大家,希望能对大家有所帮助。<br />虽然symbian操作系统中对多任务的实现更提倡使用活动对象,但多线程也是非常有用的技术,当移植程序、后台大量复杂运算或多媒体编程时,threads都是必不可少的。symbian中的thread编程和一般的多线程编程差不多,下面就来看看具体文档中是如何描述的:<br /><br />《Sy转载 2011-03-29 15:38:00 · 628 阅读 · 0 评论 -
如何使用已连接的接入点
简介你可以使用已存在的连接RConnection,用来建立到互联网的连接。这将会节省资源和内存。RConnection可以列出已存在的连接。示例代码中我们查找已存在的连接,并通过IAP接入。如果没有选择激活的连接,那么就会创建一个新的。在示例代码中没有处理错误信息。编辑本段 回目录MMP文件LIBRARY http.libLIBRARY ecom.libLIBRARY esock.libLIBRARY commdb.libCAPABILITY NetworkServices编辑本段 回目录转载 2011-03-25 13:31:00 · 876 阅读 · 0 评论 -
Symbian http 编程总结
<br />Symbian http 编程总结<br /> <br />最近一直做symbian http上传下载项目,在几个问题上面绕了个大弯,耽误了好长时间,现总结一下遇到的问题以及解决方法,为己为人.简单介绍一下基础知识.<br /> 1) GRPS接入方式:<br /> CMNET和CMWAP是中国移动GPRS网络的两个不同APN(Access Point Name接入点名称)。CMNET提供了NAT服务,使用该服务的手机可以直接访问internet。CMWAP只提供了WAP代理和HTT转载 2011-03-25 13:27:00 · 760 阅读 · 0 评论 -
Symbian OS Error Codes
Generic ErrorsKErrNone0KErrNotFound-1Unable to find the specified objectKErrGeneral-2General (unspecified) errorKErrCancel-3The operation was cancelledKErrNoMemory-4Not enough memoryKErrNotSupported-5The operation requested is not supportedKErrArgument-6An转载 2011-03-25 13:09:00 · 9148 阅读 · 0 评论 -
APN symbian手机上的接入点编程
<br />特定接入点的查找/创建 <br />1. Overview<br />特定接入点的查找/创建应该是这样的一个过程。首先你从一个配置文件里面读出你要选择的AP的名字(一般情况下我们是知道要用那个接入点的,而且为了方便配置一般也把它写到配置文件中去)。在得到这个名字后,我们就遍历机器上所有的接入点,查找是否有我们需要的,如果有我们就返回那个接入点的索引,如果没有就要在设备上创建一个AP,创建这个AP的参数也存在配置文件中,成功创建后返回其索引以备后用。<br /><br />2.转载 2011-02-22 11:47:00 · 1294 阅读 · 0 评论 -
文件流与存储流练习
CDirectFileStore 去打开或创建一个文件,通过 RStoreWriteStream 来写入数据,对于多个流来说,要通过CStreamDictionary去保存这些流对像然后把 CStreamDictionary 保存成 CDirectFileStore 的 root(),RStoreReadStream 要先通过Root得到 CStreamDictionary ,再找到 RStoreReadStream进行读取数据。转载 2010-06-01 15:43:00 · 535 阅读 · 0 评论 -
BREW究竟是什么-BREW本质之我见
<br />为什么要写这篇文章:<br /> 接触BREW已经4个多月了,虽然时间不是很长,但是对brew还是有一定的了解,也有一些我自己的见解。我是一个不喜欢单单为了做好工作而只去学习对工作有用的东西,我喜欢刨根问底,喜欢知道一样东西究竟是什么。现在不管是作brew develop的,还是brew oem的,其实存在一个问题,就是不是真正理解brew究竟是个什么东西,当然这并不直接影响他们的工作。但是,我个人认为,如果连brew究竟是什么都不知道,而去porting一些接口,用一些接转载 2010-07-29 18:32:00 · 561 阅读 · 0 评论 -
详解 CEikonEnv::Static() iEikonEnv EikAppUi() AppUi() CAknViewAppUi CEikApplication CCoeEnv
详解 CEikonEnv::Static() iEikonEnv EikAppUi() AppUi() CAknViewAppUi CEikApplication CCoeEnv 请解释以下语句:1.#define iAvkonViewAppUi ((CAknViewAppUi*)CEikonEnv::Static()->EikAppUi()) in aknviewappui.h原创 2009-11-13 17:26:00 · 1180 阅读 · 0 评论 -
Symbiam 系列号,操作系统版本号,SDK版本号
开发Symbian应用程序,第一件事情就是安装SDK(software development kit),这和开发其他平台的应用程序是一样的,比如要开发java程序,得先安装JDK;如果要开发.net程序,得先装.net对应的SDK。在Symbian下,有几个版本可供我们选择,下面就Symbian 操作系统版本号,SDK版本号,系列号做一个归纳和对比。 ·系列号:只针对UI, 即用户界面。原创 2009-11-02 10:42:00 · 752 阅读 · 0 评论 -
Symbian编程-基础篇-描述符简介
一、强化印象 在学习描述符之前,首先要理解Symbian中描述符的作用。在Symbian中,没有提供专门用来处理字符串的类,它把字符串和二进制缓冲区看成是同一类数据,有一套专门的类去管理,这一套类的类关系图层次结构如下图所示: 图一. 描述符类的层次关系 上图所示的类统称为“描述符”,Symbian用“描述符”来管理字符串,其中,TDesC、TDes、TBufCBa转载 2009-10-30 15:25:00 · 619 阅读 · 0 评论 -
TCallBack
简单使用1: // timer to assist with displaying wait dialog CPeriodic* iWaitTimer; // create the timer used for callbacks iWaitTimer = CPeriodic::NewL( CActive::EPriorityHigh ); if (原创 2009-10-29 16:33:00 · 759 阅读 · 0 评论 -
Symbian对话框之二
Symbain OS 对话框的基类实在Uikon中定义的CEikDialog类,在此基础上各个界面平台又封装了各种对话框类,例如S60平台的Avkon定义了CAknDialog类作为S60对话框的基类,而UIQ平台仍然使用CEikDialog类作为对话框基类,但是封装了CQikSaveFileInFolderDlg类等UIQ平台特有的对话框类。 Uikon中的CEikDialog实现了三转载 2009-11-05 15:31:00 · 697 阅读 · 1 评论 -
Symbian对话框
Symbian对话框Symbian OS的对话框首先需要在资源文件中定义(对话框所容纳的控件也需要在资源文件中定义),然后在程序中建立对话框对象并使用资源文件中的对话框id进行初始化,最后执行对话框并显示相关内容。所有的对话框都有一些基本的属性。所有的对话框都继承于CCoeControl(冲CAknDialog 可以追溯到 CCoeControl)这个类。对话框构架管理器负责管理对话框的所原创 2009-11-05 15:03:00 · 1114 阅读 · 0 评论 -
Symbian 中如何用svg文件生成mif 文件
1. 在epoc32/tools/下你可以找到一个工具: mifconv.exe2. 在命令行运行mifconv.exe就可以得到mif 文件。假设当前目录在 ../epoc32, 则命令为:epoc32/tools/mifconv myNewApp.mif /c32 C:/MyProject/gfx/qgn_menu.svgmyNewApp.mif 被生成在当前目录。3. 拷原创 2009-10-26 16:57:00 · 1472 阅读 · 1 评论