IOS编程:让Qt使用程序跑在Android上仓酷云
视图是仪表盘模型是发动机控制器是控制芯片CoreData---管理数据OBJC刚学的时候觉得CD很高深其实他是最容易用的库之一Qt最年夜的上风就是跨平台,一次性开辟的Qt使用程序,能够跑Windows、跑linux、跑MAC……现在挪动平台android操纵体系云云火爆,Qt固然不克不及放过对android的撑持,对了,另有iphone/ipad。并且,c++开辟者们,想做android开辟也不是成绩了!可是今朝国际研讨qtforandroid的人真是太少了,明天我利用的是外洋开辟者社辨别享的资本:Necessitas开辟情况
Ubuntu10.04(sorry,qtforandroid暂不撑持windows下开辟)
sun-java6(sorry,qtforandroid1.5会报错的,只能1.6)
necessitas资本下载地点:点击跳转到资本下载地点
apache-ant-1.8.0以上版本:这里供应1.8.2版本资本下载
操纵步骤
安装好necessitasqtcreator后,创立工程时,会发明多了一个Android选项,天然选择创立Android工程。然后会欣喜的发明,工程目次下多了android文件夹。这也是为何qt使用程序能够乐成的跑在android上的精华地点,下篇文章再详细剖析怎样完成的Android的撑持……
<br>
在Tools-->Options里设置一下android情况变量:
注重:别健忘add上名为qtonandroid的AVD(摹拟器)
<br>
然后就能够入手下手开辟Qt使用程序,为了演示,我只是任意写了一点。然后间接点击运转(CTRL+R)。
倘使呈现这个毛病:
Startingremoteprocess...
Cantfindeu.licentia.necessitas.industrius.example.Yiyaaixuexiprocess
办理计划是:
在run选项设置AndroidtargetSDK为android-8
倘使呈现毛病信息为:
Startingremoteprocess...
I/QtJAVA(469):surfaceChanged:480,762
D/dalvikvm(469):Tryingtoloadlib/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtCore.so0x44ede7e8
D/dalvikvm(469):Addedsharedlib/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtCore.so0x44ede7e8
D/dalvikvm(469):NoJNI_OnLoadfoundin/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtCore.so0x44ede7e8,skippinginit
D/dalvikvm(469):Tryingtoloadlib/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtGui.so0x44ede7e8
D/dalvikvm(469):Addedsharedlib/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtGui.so0x44ede7e8
D/dalvikvm(469):NoJNI_OnLoadfoundin/data/data/eu.licentia.necessitas.ministro/files/qt/lib/libQtGui.so0x44ede7e8,skippinginit
D/dalvikvm(469):Tryingtoloadlib/data/data/eu.licentia.necessitas.ministro/files/qt/plugins/platforms/android/libandroid-8.so0x44ede7e8
D/dalvikvm(469):Addedsharedlib/data/data/eu.licentia.necessitas.ministro/files/qt/plugins/platforms/android/libandroid-8.so0x44ede7e8
I/Qt(469):qtstart
D/dalvikvm(469):Tryingtoloadlib/data/data/eu.licentia.necessitas.industrius.example.Yiyaaixuexi/lib/libYiyaaixuexi.so0x44ede7e8
D/dalvikvm(469):Addedsharedlib/data/data/eu.licentia.necessitas.industrius.example.Yiyaaixuexi/lib/libYiyaaixuexi.so0x44ede7e8
I/Qt(469):qtstart
W/ApplicationContext(469):Unabletocreatefilesdirectory
D/AndroidRuntime(469):ShuttingdownVM
W/dalvikvm(469):threadid=1:threadexitingwithuncaughtexception(group=0x4001d800)
E/AndroidRuntime(469):FATALEXCEPTION:main
E/AndroidRuntime(469):java.lang.NullPointerException
E/AndroidRuntime(469):ateu.licentia.necessitas.industrius.QtActivity.startApplication(QtActivity.java:126)
E/AndroidRuntime(469):ateu.licentia.necessitas.industrius.QtActivity.access$000(QtActivity.java:62)
E/AndroidRuntime(469):ateu.licentia.necessitas.industrius.QtActivity$1$1.run(QtActivity.java:149)
E/AndroidRuntime(469):atandroid.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(469):atandroid.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(469):atandroid.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(469):atandroid.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(469):atjava.lang.reflect.Method.invokeNative(NativeMethod)
E/AndroidRuntime(469):atjava.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(469):atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(469):atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(469):atdalvik.system.NativeStart.main(NativeMethod)
I/Process(469):Sendingsignal.PID:469SIG:9
办理计划:
这类毛病并非情况设置的缘故原由,而是Qt使用程序自己的计划不切合现有平台工具对android的撑持。
好比:label上有中笔墨符等……改用英笔墨符就能够pass的。
假如你研讨出了对中笔墨符撑持的计划,接待交换下~~
顺遂的话,编译经由过程后会主动弹出android摹拟器,可是初度运转程序会碰到这个成绩:
<br>
别忧虑,你能够本人往googlemarket下载MinistroConfigurationTool-1.0.apk和Ministro-2.0.apk,
也能够间接下载我上传到csdn的资本:apk-1apk-2
adbinstall促进安装这两个apk后,再次运转程序,会提醒:
<br>
<br>
安装完成后,再猖狂的启动log以后,就会在摹拟器上看到让我们欣喜的qt使用程序了~~哦不,如今是android使用程序了!
特地提一句:qt使用程序实在被打包成了Yiyaaixuexi-debug.apk,在工程目次下的android/bin/下。
下图是最终效果:
<br>
以后的学习中,一定要多问自己几个为什么,多向有经验的人请教,不要碍于面子。我看重苹果未来的发展,所以我一定要坚持下去,也许别人很容易就学会了的工具,我要学很久,但没关系,因为我始终相信勤能补拙这句话! 重要的是,放眼全球也的确找不到第二个如苹果iOS平台这样健壮、完整、先进而且为开发者带来真实收益的开发平台来。 在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解 iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。 有办法利用自己手头的电脑立刻开始这个美妙旅程的。 有办法利用自己手头的电脑立刻开始这个美妙旅程的。 iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。 看完这个你就可以有多种选择来踏入做应用的阶段 然而,在vmware软件环境下,安装Mac OS X操作系统也是一件非常复杂的事情,而且还有可能花费了大量时间,最后却跑不起来。笔者也是经过了大量的实践, 到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了 培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。 其次学习方法和学习心态很重要,在学习当中应该保持一颗良好的心态。应该借鉴别人好的学习方法,大家互相帮助,取长补短。 在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。 因为我们老师也是自学的,给我们讲课说的最多的就是百度,谷歌,查文档。 从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以, 学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。 看《iPhone 4与iPad开发基础教程》,跟着一步步来 到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了 中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者, 因为我们老师也是自学的,给我们讲课说的最多的就是百度,谷歌,查文档。
页:
[1]
2