<4D F736F F D2028B0D3BADEB873B971A46CB3F DB8F3B E646F7773A8EC416E64726F6964AABAB57BA6A1B35DAD702D423441A4B6B2D0>

Similar documents
Microsoft PowerPoint - VB14.ppt


多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t

VB程序设计教程

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

陳韻如 陳榮霖:陣列控制項技術之研究與應用.doc

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

投影片 1

Microsoft PowerPoint - 第14章.ppt

PowerPoint Presentation

1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2 C3 3 STEP6 A1 STEP7 > > 1-11

untitled

The golden pins of the PCI card can be oxidized after months or years

Visual Basic D 3D

Chapter 16 集合

状 态, 规 划 车 辆 行 驶 路 径, 可 进 入 网 站 充 电 服 务 栏 目 (2) 查 询 位 置 联 系 方 式 营 业 时 间 等 信 息, 可 进 入 网 站 服 务 指 南 栏 目 建 议 您 出 行 前 通 过 易 充 电 互 动 网 站 提 前 了 解 所 经 高 速 快 充

投影片 1

untitled

本 课 程 作 为 非 计 算 机 专 业 本 科 通 识 课 程, 是 一 门 理 论 和 实 践 紧 密 结 合 的 实 用 课 程, 内 容 包 括 计 算 机 基 础 部 分 和 程 序 设 计 部 分 计 算 机 基 础 部 分 涵 盖 计 算 机 软 硬 件 组 成 数 制 表 示 操

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

IsPostBack 2

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

untitled


建立Android新專案

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

MVB-1001.DOC

2

麻 省 理 工 學 院 是 在 西 元 2013 年 12 月 3 日 推 出 MIT App Inventor 2 網 站, 提 供 免 費 的 雲 端 服 務, 使 用 者 可 以 透 過 瀏 覽 器 來 開 發 Android 裝 置 應 用 程 式, 該 網 站 的 網 址 為 : http

untitled

清华大学2013年毕业生就业质量报告

Excel VBA Excel Visual Basic for Application

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

新 闻 学 46 7 新 闻 传 播 学 院 广 告 学 28 4 广 播 电 视 学 23 3 新 闻 学 广 告 学 ). 级 学 生 申 请 准 入 需 修 完 或 正 在 修 2 门 专 业 准 入 课 程 并 取 得 相 应 学 分 ;2). 级 学 生 申 请 准 入 需

使用手冊

投影片 1

Microsoft Word - 結案報告.doc

書面


Microsoft PowerPoint - VB5

Microsoft Word - 小心翼翼的二十一點N.doc

市 教 育 工 会 : 女 教 师 素 质 提 升 工 程 市 卫 计 委 工 会 ( 原 医 管 中 心 工 会 ): 打 造 医 患 双 向 体 验 双 向 宣 传 工 程 市 国 资 委 国 联 集 团 工 会 : 全 员 阅 读 书 香 国 联 市 人 社 局 工 会 : 促

02 2 成立 Facebook 粉絲專頁 Facebook Facebook Facebook 1, Facebook Facebook 1 Facebook 2-21


Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136

穨ac3-3.PDF

cost downoem Original Equipment Manufacture value up ODM Original Design Manufacture value addedobm Original Brand Manufacture a OEM ODM OBM O

CC213

編輯大意 一 本書是一本專為普通高中 技術高中學生編寫的程式語言入門書籍, 全書以 Visual Basic 2015 Express 版的程式開發環境, 來介紹程式基礎實作, 適合首次學習程式語言及程式設計的學生使用 二 本書共分 Ⅰ Ⅱ 兩冊,Ⅰ 冊著重介紹程式設計概念與流程控制,Ⅱ 冊則著重介

untitled

重庆渝开发股份有限公司

Microsoft Word - 手冊.docx

一年二班 B051. 空間實作 103 教室 一年二班 A041. 究食尋味 音樂教室三 一年二班 C131.Global Views in Literature 從文學看世界 102 教室 一年二班 A011. 閱讀歷史人物 101 教室 一年二班

教学简报

D2 17/10 食 完 早 餐 去 中 山 陵 和 明 孝 陵, 灵 谷 寺 到 景 区 的 巴 士 : 游 1 游 2 游 路 ( 票 价 在 1-2 元 间 ) 三 个 地 点 中 间 凭 门 票 免 费 乘 坐 景 区 小 火 车 往 来 晚 上 有 力 气 的 话 去 夫 子

<img>

Microsoft Word - 專題製作研究報告書.doc

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

A SB-5000 SB-5000 i 0A-12 i Q&A 0A-9 i 0H-31 i 0H-1 0A-16 A-18 SB-5000 Model Name: N1502 A-1

南京市人才服务中心

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Microsoft Word - ACI chapter00-1ed.docx

計算機程式及實習 期末報告ppt製作 題目:南台黑心早餐店結帳系統

1

Microsoft Word - GUI design.doc

電機工程系認可證照清單 /7/1

Microsoft Word - ACG chapter00c-3ed.docx

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

公務員服務法第13條相關解釋彙整表

浙江师范大学2014年度毕业生就业质量报告

目 录 监 管 资 讯 2016 年 全 国 保 险 监 管 工 作 会 议 召 开...3 协 会 动 态 赤 峰 保 险 行 业 协 会 召 开 数 据 统 计 和 信 息 宣 传 总 结 表 彰 会 议...5 赤 峰 市 保 险 行 业 协 会 秘 书 处 召 开 2015 年 度 述 职

同 时, 采 取 提 供 新 闻 线 索 和 素 材 安 排 专 访 等 方 式 主 动 为 新 闻 媒 体 服 务, 为 采 访 报 道 活 动 创 造 便 利 条 件 建 设 网 络 信 息 发 布 平 台 2013 年 9 月 开 通 中 央 纪 委 监 察 部 网 站,2015 年 1 月

大陸教育部等6個部門公佈「現代職業教育體系建設規劃 ( 年)」規劃到2015年初步形成現代職業教育體系框架,到2020年基本建成「中國」特色現代職業教育體系

時間軸上的竹蓮記憶 學務主任 黃雅彙 我不是竹蓮國小的畢業校友 但對於身為新竹人的我來 說 仔細回想起來 似乎和竹蓮有著一種特別的緣分 對竹蓮國小最初的印象是在小學的時候 猶記得年幼的 我經過一段時日的啦啦隊舞蹈訓練後 老師便帶著我們從學 校步行到竹蓮國小來參加比賽 一踏入竹蓮校門 映入眼簾 的是黑

B1

Microsoft Word - 临政办发6.doc

资 讯 速 递 台 基 于 大 数 据 的 学 校 督 导 评 估 系 统 建 设 上 海 市 闵 行 区 人 民 政 府 教 育 督 导 室 ( 摘 要 ) 闵 行 教 育 在 深 化 教 育 改 革 探 索 管 办 评 分 离 的 背 景 下, 把 教 育 督 导 评 估 系 统 建 设 作 为

B1

09 F9 128 peer to peer, P2P file transfer protocol bittorrent 10 P2P P2P GNU/ Linux P2P CC 單機版的智慧財產權 vs. 人權戰爭 1980 DVD content

Microsoft Word 電腦軟體設計.doc

第一章.FIT)

大 綱 最 有 利 標 目 的 及 類 型 最 有 利 標 之 辦 理 方 式 準 用 最 有 利 標 取 最 有 利 標 精 神 最 有 利 標 之 類 型 及 其 相 關 規 定 適 用 最 有 利 標 準 用 最 有 利 標 及 取 最 有 利 標 精 神 作 業 程 序 及 實 務 分 析

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc

四川省普通高等学校

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

Microsoft Word - ok翁志文、張佳音...doc

系所名稱 證照代碼 證照名稱 國內 / 級數 / 分國外數 證照類別 發照單位 Adobe Certified Associate in Web Communication Adobe Certified Associate in Web Communication using A

Android Service

Dynamic Layout in Android

TC35短信发送程序设计

縣 94 學年度 上 學期 區 國民中學 Q 年級 R 領域教學計畫表 設計者:

Microsoft PowerPoint - OPVB1基本VB.ppt

幻灯片 1

舟山市人民政府办公室文件

42Contents

Microsoft Word - CX1000-HMI_程序开发_PLC通讯

穨文件1

二零一五年施政報告 - 施政綱領 - 第六章 教育、人口及人力資源

Transcription:

跨越 Windows 到 Android 的程式設計 Basic4Android 介紹國立臺南高商林文雄 一 前言程式設計課程是目前高職商業學校資料處理科最主要的專業課程之一, 也是許多學校規劃特色課程的重要方向, 而 Visual Basic( 以下簡稱 VB) 語言則是主要的程式設計語言, 是學生在高職階段頗具挑戰的課程 本校在規劃特色課程中, 為因應現今 3C 科技產品的流行趨勢與提升學生的學習興趣, 也將智慧型行動裝置 App 程式設計列為延伸課程的考量範圍 一般而言 App 程式的撰寫, 主要是以 Java 程式語言為主, 然而在高職階段的學生除了少數極有興趣曾經接觸 C C++ 或 Java 外, 因為課程的關係, 現階段的多數學生仍只有認識 VB 2010 程式語言 因此如何銜接課程內容, 使之具有延續性, 也讓學生不致於花費太多時間即可上線設計 App 程式, 是本校資料處理科課程討論中一直關切的問題 在百般思考與探索下,Basic4Android 或 Basic4iOS 語言正是符合我等期待的程式語言, 可以讓學生從 Windows 無縫接軌到 Android 或 ios 的程式設計應用 因多數學生的智慧型行動裝置主要為 Android 系統, 故本文主要以 Basic4Android( 以下簡稱 B4A) 語言為主, 透過程式設計流程與程式碼之介紹, 期能提供有興趣的教師與各校課程規劃的參考 二 Basic4Android 的優勢 學習程式語言與程式設計是比較花費時間的, 因此若能在有限的時間內, 讓學生快速的上手, 對學習者則較具有即時性的吸引力與學習興趣 且 B4A 對高職學生而言極具親和力, 因此歸納出 B4A 具有以下六點的優勢 : ( 一 ) 環境建置容易, 只要在電腦教室建置無線 Wifi 環境, 並以學生自備的手機或平板為執行平台即可, 所需硬體的負荷有限並不高 或者也可以安裝 Android 介面手機模擬軟體, 執行開發程式亦可, 但利用學生手機或平板為執行平台應會更具吸引力 ( 二 )B4A 與 VB 視窗應用程式發展的操作模式相當類似, 主要步驟有二 : 表單設計與程式碼撰寫, 對於學習過 VB 程式語言的高職學生而言, 使用上不會有什麼太大的困擾 ( 三 )B4A 與 VB 的資料型態 程式碼與控制項物件也頗為相似, 常用控制項物件比較詳如表一所示 此外資料型態 運算式 繪圖 多媒體播放 檔案 資料庫 網路 物件陣列或資源庫等使用方法, 兩者也大同小異 ( 四 ) 國內參考書籍雖然不多, 但尚可提供學習者之參考, 如碁峰 上奇資訊皆有出版 ( 五 ) 線上社群資源豐富, 且為免費註冊使用 ( 六 )B4A 與 VB 無縫接軌, 不必重新學習全新的程式語法, 對學生而言負擔較輕, 也比較會有學習的意願, 因為此一階段在於應用程式 App 的創意設計, 並不在於程式語言的學習 1

表一 :VB2010 與 V4B 常用控制項物件比較 說明 Visual Basic 2010 Basic4Android 表單 Form Designer 標籤 Label Label 文字方塊 TextBox EditText RichTextBox 命令按鈕 Button Button 對話訊息方塊 Msgbox Msgbox MsgBox2 單選鈕 RadioButton RadioButton 複選鈕 CheckBox CheckBox 下拉式清單 ComboBox Spinner 清單選項 ListBox ListView 容器 Panel Panel 瀏覽器 WebBrowser WebView 影像 PictureBox ImageView 進度軸 ProgressBar ProgressBar 計時器 Timer Timer 三 Basic4Android 程式設計步驟 B4A 的程式設計步驟與 VB 2010 視窗應用設計步驟是相同的, 首先都必須先設計視覺化 的視窗界面, 其次才是撰寫程式碼 不同的 B4A 主程式中必須載入表單的指令, 而 VB 2010 通常直接以表單 Form1 為預設界面, 不需要特別的處理, 比較表如表二 為了具體比較兩者 的差異性, 本文將設計一座號抽籤程式來加以說明, 所使用的控制項物件皆不重新命名, 以 預設的控制項物件編號呈現 表二 :VB 與 B4A 的設計步驟比較 VB Basic4Android Step1 表單設計 Form Designer Step2 程式碼撰寫 程式碼撰寫 四 表單與程式碼設計 ( 一 ) 視窗界面 -- 表單設計 1. 在 B4A 的視窗功能表中選取 Designer, 如圖一所示, 隨後即出現 Designer 的設計畫面 2

圖一 :Designer 功能表 2. 選取 Designer 功能表單的 Add View, 即可出現與 VB 2010 相近的 Button CheckBox Label 等控制項名稱, 如圖二 本文程式主要以 Button Label Spinner 三個控制項物件為主, 其中 Spinner 與 VB 2010 的 ComboBox 較為接近 圖二 :Designer 中的 Add View 選單 3. 在功能表下方的 Designer Scripts 標籤, 可以用來設定表單控制項物件的預設值, 以因應智慧型行動裝置的尺寸不同, 動態調整物件大小, 其設計內容如圖三所示, 圖四則為虛擬螢幕視窗 待完成表單設計並儲存檔名為 ChoiceNo 後, 即可回到程式碼編輯區進行程式碼撰寫 圖三 :Designer 中的 Designer Scripts 標籤 3

圖四 : 虛擬螢幕視窗 ( 二 ) 程式碼編輯區說明 B4A 的程式碼編輯區, 預設有五個程序 (Process), 如圖五所示, 並分別說明如下 : 1. Process_Globals Sub Process_Globals 'Process_Globals 此處定義此一 App 下的全域變數, 任何的 ' 程式模組皆可以使用 2. Global Sub Globals 'Globals 定義此 Activity 運作模組下的變數, 僅此一模組內 ' 可以進行存取的變數. 3. Activity_Create App 一開始執行時, 會呼叫這個程序, 此程序中的 FirstTime 參數是 Boolean ( 布林值 ), 若 FirstTime = True 代表第一次執行活動 (Activity) 通常在此程序中來進行一些資料初始化或版面配置的動作, 如載入步驟一儲存表單 ChoiceNo: Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the ' visual designer. For example: 4

Activity.LoadLayout("ChoiceNo") 4.Activity_Pause 手機或平版上有很多的程式同時在運作著, 當 App 本來在前景使用, 但突然進入背景狀態時 ( 比如說 : 接電話, 或按了 Home 鍵 ), 便會觸發此程序 UserClosed 參數是 Boolean ( 布林值 ), 傳回值可以用來判斷是否為使用者進行了某些操作才讓此 App 進入背景 Sub Activity_Pause (UserClosed As Boolean) 5.Activity_Resume Activity_Resume 和 Activity_Pause 剛好是相反情況, 當 App 本來在背景模式, 但切換至前景狀態時, 便會觸發此程序, 此程序也是會在 Activity_Create 之後會接著執行的程序 Sub Activity_Resume 圖五 : 程式碼編輯區 5

( 三 ) 座號抽籤程式碼說明 Sub Process_Globals Dim Timer1 As Timer ' 宣告控制項物件 Timer1, Timer2 Dim Timer2 As Timer 'VB 2010 中則不用宣告, 在表單中拉入使用即可 Dim p As Phone ' 宣告 p 為手機 Phone 程式庫物件 Sub Globals Dim Label1, Label2, Label3, Label4 As Label ' 同上說明, 使用的控制項 Dim Spinner1, Spinner2 As Spinner ' 都必須宣告,Spinner 與 Dim Button1 As Button 'VB 2010 的 ComboBox 較為接近 Dim X3, X4, TempX3, TempX4, Ntime As Int 'Int 為整數, VB 為 Integer Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("ChoiceNo") ' 載入 ChoiceNo 表單 p.setscreenorientation(1) ' 旋轉螢幕為直向 For i=1 To 50 ' 動態增加 Spinner 選單 1-50 Spinner1.Add(i) ' 在 VB 2010 中則為 ComboBox.Items.Add(i) Spinner2.Add(i) ' 用法相近 Next Spinner1.SelectedIndex=0 'Spinner1 預設值為第一個選項 Index=0 Spinner2.SelectedIndex=39 ' 與 VB 2010 中 ComboBox 用法相同 If FirstTime=True Then Timer1.Initialize("Timer1",20) ' 預設 Timer1, Timer 的 Interval 為 Timer2.Initialize("Timer2",20) '20 us 與 VB 2010 定義相同 Spinner1.Color=Colors.White ' 宣告 Spinner1, Spinner2 屬性 Spinner1.TextColor=Colors.Black Spinner1.DropdownBackgroundColor=Colors.White Spinner1.DropdownTextColor=Colors.Black Spinner2.Color=Colors.White Spinner2.TextColor=Colors.Black 6

Spinner2.DropdownBackgroundColor=Colors.White Spinner2.DropdownTextColor=Colors.Black Sub Activity_Resume Sub Activity_Pause (UserClosed As Boolean) Sub Button1_Click ' 開始選號按鈕 TempX3 = Rnd(Spinner1.SelectedItem,Spinner2.SelectedItem+1) ' 產生座號亂數 TempX4=TempX3 Mod 10 ' 取出十位數數字 TempX3=Round(TempX3 / 10+0.5)-1 ' 取出個位數數字 X3 = 0 X4 = 0 Ntime=80 ' 拉霸效果旋轉次數 Label3.Color =Colors.White Label4.Color =Colors.White Timer1.Enabled=True ' 啟動 Timer1 兩位數字的拉霸旋轉效果 Sub Timer1_tick ' 兩位數字的拉霸旋轉效果 Label3.Text = X3 Label4.Text = X3 X3 = X3 + 1 If X3 = 10 Then X3 = 0 ' 由 0-9 循環旋轉 Ntime = Ntime- 1 If Ntime = 0 Then '80 次則停止十位數拉霸旋轉效果 Timer1.Enabled = False ' 停止 Timer1 Ntime = 20 ' 個位數的拉霸效果旋轉效果 20 次 Timer2.Enabled = True ' 啟動 Timer2, 個位數字的拉霸旋轉效果 Label3.Text = TempX3 ' 顯示十位數之數字及背景顏色為洋紅色 Label3.Color =Colors.RGB(255,0,255) 7

Sub Timer2_tick ' 個位數字的拉霸旋轉效果 Label4.Text = X4 X4 = X4 + 1 If X4 = 10 Then X4 = 0 ' 由 0-9 循環旋轉 Ntime = Ntime- 1 If Ntime = 0 Then '20 次則停止個位數字拉霸旋轉效果 Timer2.Enabled = False ' 停止 Timer2 Label4.Text = TempX4 ' 顯示個位數之數字及背景顏色為洋紅色 Label4.Color =Colors.RGB(255,0,255) ' ' 從資源庫中取得音樂檔並播放 ' Dim MP As MediaPlayer ' 宣告媒體播放程式庫 MP.Initialize2("MP") MP.Load(File.DirAssets, "NICEDING.wav") MP.Play Sub Activity_KeyPress (KeyCode As Int) As Boolean ' 手機按鈕確認 Dim Answ As Int If KeyCode=KeyCodes.KEYCODE_BACK Then Answ=Msgbox2(" 確定離開?"," 選座號!"," 是 ", "", " 否 ", Null) If Answ=DialogResponse.POSITIVE Then Activity.Finish() ' 結束模組運作 ExitApplication ' 離開應用程式 Return False 8

( 四 ) 執行畫面 圖六 : 執行畫面示意五 App 分享以下為筆者所自製的三個 App, 可利用手機或平板的瀏覽器至下列網址下載, 需設定手機或平板的安全性中可以允許安裝來源不明的應用程式, 若有安裝藍光濾波器軟體則請暫停其運作, 直至 App 安裝完成後再恢復運作即可 ( 一 ) http://nature.tncvs.tn.edu.tw/apps/tictactoe.apk 井字遊戲 ( 二 ) http:// nature.tncvs.tn.edu.tw/apps/puzzle.apk 拼圖 ( 三 ) http:// nature.tncvs.tn.edu.tw/choiceme.apk 座號抽籤 9