時隔一段時間,自己負責的APP已經(jīng)有了落幕,從開始的不懂到現(xiàn)在的約略感悟,也算是積累了一些小經(jīng)驗,
剛開始寫了一些很淺顯的心得體會,現(xiàn)在回頭來看還是有點小價值的,在當時因為這些問題也是費了不少時間,
好了。廢話不多說!
qt使用jni與安卓手機系統(tǒng)的交互,對于很多不會java的人來說,很多人可能會寫jni交互,而不是直接用java來與手機交互嗎,所以使用jni交互的最大坑是容易導致程序崩潰,在我這邊的實例是,請求查看并選擇系統(tǒng)相冊和照相結合后,反復3次左右,程序就會莫名死掉,后來改用原生java代碼寫,不僅流暢很多,一點問題都沒有,所以與手機交互能寫java就直接用原生java。
返回按鍵的退出程序問題,很多人都是監(jiān)控qt的back返回按鍵,然后調用Qml的Qt.quit退出程序,根據(jù)我之前的測試,
Qt的back按鍵我沒監(jiān)控成功,而是改寫的java返回按鍵的監(jiān)控,當調用qml的Qt.quit退出程序的時候明顯出現(xiàn)閃退和程序內(nèi)存
釋放不徹底的打印,給用戶一種退出很奇怪的感覺,至于是為什么,我也沒去深究,而是改用了java的退出程序方式System.exit(0);
也就沒出現(xiàn)閃退的感覺。
至于上面說的基本都是跟手機交互的問題,所以也充分說明了,java能解決的,qt還不一定能完美解決,這里要說一下,我之前出現(xiàn)問題的開發(fā)版本是Qt5.6,后面改成了5.9,不清楚高版本有沒有優(yōu)化我現(xiàn)在記錄的問題,因為我一直使用java原生交互,所以更好的體驗出原生交互在哪個版本都不受影響。
除了手機交互,還有一點比較重要的就是手機權限,在開發(fā)相機功能時,需要打開添加android.permission.CAMERA,添加權限的地方再 AndroidManifest.xml ,這個文件生成在開發(fā)qt中是很重要的,默認是沒有的,需要自己手動創(chuàng)建,創(chuàng)建的方式等下再說,先說權限的添加地方就是在這這個xml文件中的General中的Permission一欄中,當然也可以在XML Source中手動添加代碼,添加方式如下: 。根據(jù)網(wǎng)上的傳言說安卓6.0后面要使用動態(tài)權限,當然動態(tài)權限我沒有去做,至于做的方法還是一樣,不過是用java代碼來寫,根據(jù)上面方法添加權限目前為止我是沒有遇見什么問題。下面開始說下如何創(chuàng)建 AndroidManifest.xml 文件,創(chuàng)建的方式很簡單只要點擊下圖的按鈕,一直默認下一步操作即可,
如圖所示:
好了,基本上只要掌握這些東西,并結合我之前的文章的要點,使用Qt開發(fā)安卓基本沒有問題,至于實現(xiàn)途中遇見的難點,可以查看我其他的詳細博客記錄。這里只記錄如何去做,避免哪些方式走彎路。