Google App Inventor 設計區安排的介面如下:

操作面板上,點選藍芽連線的按鈕,選擇與之匹配的NXT,即完成連線。
程式區,結構如下:

解釋:軟體啟動後,將預備顯示的區塊設定顯示(visible true)、不想出現的先隱藏(visible false)
ListPicker.BeforePicking等待使用者回應按鈕,使用者按下後,則進入挑選清單。
清單裡頭包含已被手機偵測到的藍芽裝置都會出現在畫面中。

解釋:
當ListPicker.BeforePicking按下按鈕後,被選到的清單藍芽裝置便會與手機連線。
如果連線成功,則出現Connecting...字樣
如果連線失敗,則出現can not be connected!

解釋:
當藍芽離線後,畫面出現Wait之字樣(回到初始狀態)。

解釋:
本例僅作ForwardBtn的操作。
當使用者按下ForwardBtn按鈕,程式指定ControlMessage之變數值為F,且透過
NxtDirectCommands1.MessageWrite的方法,指定mailbox為1、message為ControlMessage,
將變數的文字傳出給NXT。(NXT為接收端,程式須設計接收訊息)
附帶一提,一個很簡單卻又很重要的一個設定,少了這個操作,你的手機還是無法與nxt連結,那就是點選NxtDirectCommands1,右邊的Properties,須指定為BluetoothClient1

最後,Connect to Device,選擇你的手機,就可以開始操作了。
-----------------
至於NXT端的程式,程式碼如下:
#include "NXCDefs.h"
#define Touch IN_1
void BTCommCheck(int conn)
{
if (BluetoothStatus(conn)!=NO_ERR) //如果nxt未與主機連線
{
TextOut(5,LCD_LINE2,"Error");
Wait(1000);
Stop(true);
}
}
//-----------------------------------------
task main()
{
string ControlMessage;
int power=20,power_left,power_right;
BTCommCheck(0);
SetSensorTouch(Touch);
ClearScreen();
while(SENSOR_1==0)
{
ReceiveRemoteString(MAILBOX1,true,ControlMessage);
TextOut(0,LCD_LINE1,ControlMessage);
}
}