zoukankan      html  css  js  c++  java
  • Symbian开发点滴1(入门和简单的感受)

    看了几天Symbian开发,感觉真的复杂,还是微软程序员好干。

    先说说开发环境吧,需要安装active perl,Java,s60的sdk和ide

    网上文章比较多,搜索一下就找了

    这个ide的问题,现在比较推荐carbide c++2。0完全免费的,算是eclipse的,完整的ide。还有一个carbide.vs是一个插件,就可以是vs2003,2005来开发,但是好像nokia已经不发展了。还有一个比较新的就是QT creator,网上的文章说这个太厉害了。有质的变化,提供新的完整类库,原来要写100行代码实现的功能,现在10行就搞定了,呵呵,不过只是技术预览版,而且好像还是收费的版本。所以现在还是先使用carbide2.0吧

    Symbian使用c++作为开发语言,但是不是纯c++,里面为了适应手机这样的设备,做了很多更改,比如基本的数据类型,还有类的实例化过程,差别很大,慢慢看了。本来c++就不好。

    Symbian提供了3中框架开发模式:基于控件的,视图的,和对话框的。

    carbide2.0新建项目向导里面,没有说完全对应的框架,但是提供的那个gui application有点像控件框架的,只是使用view累,也不是container类,反正有点晕。还有一个项目模板是gui application with ui desinger这个可以拖拽控件,但是框架更看不懂了。

    我推荐还是使用gui application吧,里面有完整的代码可以响应菜单事件,方便添加新的事件

    c++都分头文件H和类文件cpp,头文件h只是声明方法和字段,不实现,cpp文件来实现。

    添加控件的时候,控件的代码都要添加在view类里面。

    InitComponentArrayL();
     
      iLabel = new(ELeave)CEikLabel();
      iLabel->SetContainerWindowL(*this);
      iLabel->SetTextL(_L("Simple Label"));
      iLabel->SetExtent(TPoint(10,10),TSize(150,30));
      Components().AppendLC(iLabel);
      CleanupStack::Pop(iLabel);

    一个小例子。添加label的。

    当然这样做是比较麻烦,在control类中添加两个函数,就不需要每次都写组件添加了

    声明这两个:

     TInt CountComponentControls() const;//返回控件的数量
     
     CCoeControl* ComponentControl(TInt aindex) const;//根据aindex的不同,返回空间的指针。

    比如这样:

    TInt CHelloLabelAppView::CountComponentControls() const
    {
     return 2;
    }

    CCoeControl* CHelloLabelAppView::ComponentControl(TInt aindex) const
    {
     switch(aindex)
      {
      case 0:
       return iLabel1;
      case 1:
       return iLabel2;
      default:
       return NULL;
      }
    }

    还有就是include的问题。一个类如果用过其他类,不如sdk的标准类,就要添加include <.h>文件

    如果用到类库还要添加lib文件,就是在group文件下的mmp文件,可以在carbide下有图形界面的添加,也可以直接去文本编辑器里面添加了。很好找到

    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    团队项目——技术规格说明书
    Scrum Meeting 11.1
    Scrum Meeting 10.31
    Scrum Meeting 10.30
    Scrum Meeting 10.29
    Scrum Meeting 10.28
    Scrum Meeting 10.27
    Scrum Meeting 10.26
    团队作业Week5
    Boost C++: 数据结构---tuple
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319397.html
Copyright © 2011-2022 走看看