終于解決了一個(gè)憂傷好久的問(wèn)題,嚴(yán)重拖了項(xiàng)目進(jìn)度,深感慚愧!一直被一系列的問(wèn)題所困擾,然后又只能自己一個(gè)人摸索,也是一段辛酸憂傷史,現(xiàn)在小結(jié)一下上個(gè)月在做二維碼的過(guò)程中所碰到的問(wèn)題以及解決辦法,現(xiàn)在慶幸終于解決好了,終于能將這個(gè)功能告一段落,一下小結(jié)也是分享一下Unity的某些“坑”,讓同行少走彎路,起碼在二維碼這方面應(yīng)該會(huì)有所啟迪,欣慰的是接下來(lái)幾天終于可以做自己應(yīng)該做的事情了!
成都創(chuàng)新互聯(lián)是一家專業(yè)提供柯城企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、H5頁(yè)面制作、小程序制作等業(yè)務(wù)。10年已為柯城眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。本來(lái)我測(cè)試Android掃碼的功能,已經(jīng)測(cè)是通過(guò)了,可以參考之前寫(xiě)的博文:http://blog.csdn.net/dingxiaowei2013/article/details/24677795,后來(lái)將這這個(gè)插件添加到現(xiàn)有的項(xiàng)目中,但導(dǎo)出項(xiàng)目apk后,打開(kāi)應(yīng)用怎么就是閃退,表示很憂傷,后來(lái)一步一步的精簡(jiǎn)對(duì)比測(cè)試,表示自己五一那天一直摸索到凌晨三點(diǎn)才發(fā)現(xiàn)這一問(wèn)題根源,有了這個(gè)基礎(chǔ)才有接下來(lái)思路的轉(zhuǎn)變。我的Android工程設(shè)置的屏幕旋轉(zhuǎn)方向是portrait,但由于項(xiàng)目原因,Unity的導(dǎo)出方向必須是landscapeleft,這兩者方向不一致會(huì)導(dǎo)致應(yīng)用異常奔潰閃退!當(dāng)然我的解決思路可能是比較笨的,我將Android工程做成的插件的屏幕方向也做成了橫屏的,為了和Unity的方向一致,我想應(yīng)該就不會(huì)出現(xiàn)那種問(wèn)題。我原本的思路是將Unity導(dǎo)出屏幕設(shè)置成auto,然后代碼控制屏幕的方向,但貌似還是不成功,沒(méi)轍只能還是換種思路!網(wǎng)上有不少Android的掃碼工程,最多的就是基于zxing,但是都是有很多冗余,不適合初學(xué)者,尤其是像我這種Android初學(xué)者,我倒是看到一個(gè)比較適合入門(mén)的精簡(jiǎn)的掃碼工程,可惜是縱屏的,上一篇文章就是介紹的這個(gè),但并不適合我的項(xiàng)目需求,所以我就想辦法將這個(gè)工程改成橫屏工程,本以為只要改改xml配置文件就OK的,結(jié)果并不是想象的那么簡(jiǎn)單,僅僅那么該會(huì)出現(xiàn)掃的過(guò)程中圖片壓縮以及移動(dòng)別扭等現(xiàn)象,還是需要修改里面的工程的!這里可以參考:http://dingxiaowei2013.blog.163.com/blog/static/21965310720144595534507/,這篇是將橫屏改縱屏的解決方案,然后將其逆序操作,但我還是出現(xiàn)了一些問(wèn)題,比如掃到一半的時(shí)候應(yīng)用異常崩潰,又表示很憂傷,為啥都不是一帆風(fēng)順呢!然后反復(fù)重做,終于成功了!精簡(jiǎn)版的工程源碼我會(huì)貼出來(lái)共享!為了實(shí)現(xiàn)這個(gè)功能,可謂是一次有一次的導(dǎo)出,一次有一次的測(cè)試,千言萬(wàn)語(yǔ)無(wú)法言表其中的憂傷,總而言之,堅(jiān)韌,是程序猿必須具備的品質(zhì)!
Unity和Android交互不僅僅是調(diào)用函數(shù),交互數(shù)據(jù),很大的一個(gè)還是需要交互視圖和場(chǎng)景,將其很好的進(jìn)行切換。當(dāng)然場(chǎng)景的跳轉(zhuǎn)或者是切換還是通過(guò)調(diào)用接口函數(shù)來(lái)實(shí)現(xiàn),但這里通過(guò)了一個(gè)很重要的Activity來(lái)實(shí)現(xiàn)了這一效果,就是UnityPlayerActivity,Android的接口視圖就是繼承了這個(gè)UnityPlayerActivity,這個(gè)是為Unity和Android搭建了一個(gè)橋梁,當(dāng)然這個(gè)類必須導(dǎo)入U(xiǎn)nity的接口包,在Unity的安裝目錄下,詳細(xì)可以參考上一篇文章,繼承了UnityPlayerActivity的視圖是作為Unity和Android的一個(gè)通用視圖,它是Android插件的一個(gè)入口,無(wú)論是在Unity切換到Android界面還是Android切換到Unity界面,必須都要通過(guò)這個(gè)Activity來(lái)操作,記得是必須,這里我也是吃過(guò)苦頭,我想在其他的Activity中來(lái)調(diào)用Unity的接口函數(shù)來(lái)實(shí)現(xiàn)Unity界面的跳轉(zhuǎn),但都嘗試失??!后來(lái)再重頭再來(lái),這些都是經(jīng)過(guò)了一遍又一遍的實(shí)驗(yàn)才得出的結(jié)論!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。