日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
對Android應用開發(fā)實踐說明

下面文章介紹下什么是Android應用開發(fā),再介紹Android應用開發(fā)的之前,首先先讓大家了解下什么是Android應用開發(fā),Android在未公開之前常被傳聞為Google電話或GPhone。

成都創(chuàng)新互聯(lián)成立于2013年,先為建陽等服務建站,建陽等地企業(yè),進行企業(yè)商務咨詢服務。為建陽企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

為了實現(xiàn)我們的增強現(xiàn)實引擎,***還需要用到加速度傳感器數(shù)據。不過,Android應用開發(fā)已經為我們簡化了這些數(shù)據的收集工作。在上一篇介紹增強現(xiàn)實技術的文章中,我們的示例程序可以請求手機的方位,并調用位置管理器對象中的registerListener來檢索指南針數(shù)據。

我們也可以使用同樣的技術來請求加速度傳感器數(shù)據,我們用來請求加速度傳感器數(shù)據的代碼如下所示:

 
 
 
  1. sensorMan = (SensorManager) ctx.getSystemService(Context.SENSOR_SERVICE);  
  2. sensorMan.registerListener(listener,  
  3.    sensorMan.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),  
  4.    SensorManager.SENSOR_DELAY_FASTEST); 

我們調用了上下文對象(上述代碼中為ctx)的getSystemService方法。下面是用于方向監(jiān)聽器與加速度傳感器監(jiān)聽器的完整代碼。

 
 
 
  1. private SensorEventListener listener = new SensorEventListener(){  
  2.    public static volatile float direction = (float) 0;  
  3.    public static volatile float inclination;  
  4.    public static volatile float rollingZ = (float)0;  
  5.  
  6.    public static volatile float kFilteringFactor = (float)0.05;  
  7.    public static float aboveOrBelow = (float)0;  
  8.  
  9.    public void onAccuracyChanged(Sensor arg0, int arg1){}  
  10.  
  11.    public void onSensorChanged(SensorEvent evt)  
  12.    {  
  13.       float vals[] = evt.values;  
  14.         
  15.       if(evt.sensor.getType() == Sensor.TYPE_ORIENTATION)  
  16.       {  
  17.          float rawDirection = vals[0];  
  18.  
  19.          direction =(float) ((rawDirection * kFilteringFactor) +   
  20.             (direction * (1.0 - kFilteringFactor)));  
  21.  
  22.           inclination =   
  23.             (float) ((vals[2] * kFilteringFactor) +   
  24.             (inclination * (1.0 - kFilteringFactor)));  
  25.  
  26.                   
  27.           if(aboveOrBelow > 0)  
  28.              inclinationinclination = inclination * -1;  
  29.             
  30.          if(evt.sensor.getType() == Sensor.TYPE_ACCELEROMETER)  
  31.          {  
  32.             aboveOrBelow =  
  33.                (float) ((vals[2] * kFilteringFactor) +   
  34.                (aboveOrBelow * (1.0 - kFilteringFactor)));  
  35.          }  
  36.       }  
  37.    }  
  38. }; 

呵呵,這里的代碼稍微有點多,下面我們來了解一下。首先,要為監(jiān)聽器設置所有的值。這意味著,您可以隨時可以向監(jiān)聽器查詢指南針方位與手機傾角。這些值會隨著您請求的更新的類型的不同而有所變化。

然后,我們會收到傳感器信息,這時需要確定出兩種主要信息:
1. 手機指向
2. 屏幕相對于水平面的傾角

***種信息稱為方位角;第二種信息稱為傾角。為了確定這些值,***個計算任務就是過濾出攝像頭的指南針運動。這稱為翻轉過濾器(rolling filter)。變量direction用于指出手機頂部指向哪里,而非攝像頭本身指向哪里,所以我們需要進行一些校正。

第二個數(shù)學計算任務是利用翻轉過濾器對斜度進行處理,從而得到一個以度為單位的度量值,其中水平的度量值為90,向上或向下半傾的度量值為45,垂直向上或垂直向下的度量值為0。注意,當?shù)脭?shù)為45的時候,我們無法確定手機到底是向上傾斜,還是向下傾斜。 這時加速度傳感器就派上用場了。

它能夠確定出傾角的正負,正值表示從水平線向上,復制表示從水平線向下。簡言之,我們需要的東西都能從加速度傳感器那里得到。到目前為止,打造自己增強現(xiàn)實技術引擎所需的工具我們已經全部介紹過了,您還需要的就是少許數(shù)學知識、一些Android應用開發(fā)和大量的精力了。

如果您對打造增強現(xiàn)實應用程序的興趣遠勝于打造增強現(xiàn)實引擎本身的話,可以關注我當前正在為Android開發(fā)的一個開源的增強現(xiàn)實技術引擎。為了獲得更多的進展情況,可以在Twitter上跟隨twitter.com/androidarkit。雖然我喜歡盡可能把所有的數(shù)學和繪圖代碼放在一起,并將三種信息統(tǒng)一疊放到攝像頭上。

但是這些已經超出了本文的討論范圍。然而,本文加上上一篇文章,已經構成了對Android的指南針、攝像頭預覽、加速度傳感器與GPS子系統(tǒng)進行了全面的介紹?,F(xiàn)在,您已經具備了創(chuàng)建大型增強現(xiàn)實技術應用程序所需的全部構件。


分享標題:對Android應用開發(fā)實踐說明
本文來源:http://m.5511xx.com/article/cojigos.html