2014-09-06 80 views
0

我是Google Glass的編程新手。我非常喜歡卡片的可能性(https://glass-python-starter-demo.appspot.com/),我可以提交HTML很棒。使用HTML5開發Google Glass(初學者)

因爲我正在從事的項目(爲此我想使用Glass)是一個在線平臺,我希望能夠從網站上工作。正如我發現,我可以檢測到(從用戶代理),玻璃正在使用(http://www.googleglass.gs/quick-tip-google-glass-web-browser-user-agent/

所以,現在我的問題分兩部分。

1)我可以創建一個實際上是「沒有工具欄的瀏覽器」的Android應用程序,這樣我就可以直接指向網頁,但它的功能就像是一個應用程序,以便我可以在菜單中找到它(之後:「好玻璃「)?

2)我可以在上述應用程序中使用語音命令嗎?

PS: 我知道這是一個初學者問題,但是除了Glass Cards選項外,很難找到這個的起點。

回答

0

所以,如果我正確理解你,你想這樣做: 1)創建一個基本上只是一個瀏覽器的應用程序。 2)將鏈接打開到應用程序實際包含的網站上。 3)使用語音命令來控制這個應用程序。 所有繞過必須在java/xml中編碼,以便您可以使用您更熟悉的語言進行編碼,然後在線運行它,並在實際應用程序代碼中創建瀏覽器的一行代碼。

是的,你可以創建一個只是瀏覽器的應用程序。 是的,你可以讓它鏈接到你的網站,然後讓它留在那裏。

我認爲你將很難與網站互動。默認的瀏覽器控件是點擊點擊,按住兩個手指並移動您的頭部以在當前屏幕周圍移動「鼠標」,上下滑動以滾動。

如果你想控制應用程序,你必須實現自己的手勢檢測器,覆蓋每次你做的事情時採取的默認動作,然後爲每個動作發送一些東西到你的網站,讓它知道你只是做了些什麼。

您也可以使用語音識別進行控制。

無論哪種方式,如果您決定使用標準瀏覽器,則需要一個手勢檢測器來覆蓋瀏覽器的默認控件。下面是你需要什麼是:

在最頂端,你必須

private GestureDetector gestureDetector; 

然後在您的onCreate方法,你需要創建gestureDetector。我喜歡有一種方法來創建它更遠。這對我來說是更清潔的。

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     gestureDetector = createGestureDetector(this); 
    } 

,然後方法實際上是創建GestureDetector:

private GestureDetector createGestureDetector(Context context) { 
     GestureDetector gestureDetectorTemp = new GestureDetector(context, new GestureDetector.OnGestureListener() { 
      @Override 
      public boolean onDown(MotionEvent motionEvent) { 
       return false; 
      } 

      @Override 
      public void onShowPress(MotionEvent motionEvent) { 
       return false; 
      } 

      @Override 
      public boolean onSingleTapUp(MotionEvent motionEvent) { 
       //communicate to the website that you tapped, and have it handle the tap 
       Log.v("APP_TAG","Someone tapped me!"); 
       return false; 
      } 
      @Override 
      public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent2, float distanceX, float distanceY) { 
       return false; 
      } 
      @Override 
      public void onLongPress(MotionEvent motionEvent) { 
       return false; 
      } 

      @Override 
      public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent2, float v, float v2) { //fling = a single slide 
       return false; 
      } 
     }); 
     return gestureDetectorTemp; 
    } 

注意,每個被重寫方法中有一個「返回false」。你正在返回的布爾值表示事件是否被消耗。 換句話說,如果你看onSingleTapUp,我們有一個Log。v會打印出「有人敲我!」當你點擊屏幕。通過返回false,你可以讓任何其他基於tao的事情發生(在瀏覽器的情況下,發生「點擊」鼠標)。如果您返回true,則不會發生其他情況。該事件不會被報告給其他默認方法。因此,要取消瀏覽器的所有默認控件,您只需將所有返回語句更改爲「返回true」,表明該事件已被使用,並且不需要進一步的操作!

我希望能有所幫助。如果您的目標是完全繞過整個android編碼平臺,並在瀏覽器中開發,然後將該應用程序鏈接到瀏覽器,那麼我認爲您完全不能僅僅因爲Glass的本質就完成它。沒有許多不同按鈕和鍵盤等的觸摸屏。您至少需要進行一些玻璃開發才能使其工作。