Microsoft Word - 004_Android線程模式介紹.doc

Size: px
Start display at page:

Download "Microsoft Word - 004_Android線程模式介紹.doc"

Transcription

1 Android 線程模式简介 基礎概念進程與線程在 Android 框架裡, 一個應用套件 (Application Package) 通常含有多個 Java 類 (Class), 這些類可以在同一個進程 (Process) 裡執行 ; 也可以在不同的進程裡執行 基於 Linux 的安全限制, 以及進程的基本特性 ( 例如, 不同進程的位址空間是獨立的 ), 如果兩個類 ( 或其對象 ) 在同一個進程裏執行時, 兩者溝通方便也快速 但是, 當它們分別在不同的進程裡執行時, 兩者溝通就屬於 IPC 跨進程溝通了, 不如前者方便, 也慢些 一個進程是一個獨立的執行空間, 不會被正在其他進程裡的程序所侵犯 這種保護方法是 Android 的重要安全機制 於是, 得先認識進程的內涵, 才能進一步了解跨進程 IPC(Inter-Process Communication) 機制 在 Android 的進程裡, 有一個虛擬機 (Virtual Machine, 簡稱 VM) 的對象, 可執行 Java 代碼, 也引導 JNI 本地程序的執行, 實現 Java 與 C/C++ 程序之間的溝通 ; 如下圖 : 圖 1 Android 進程裡的基本元素

2 每一個進程在誕生時, 都會誕生一個主線程 (Main Thread), 以及誕生一個 Looper 類的對象和一個 MQ(Message Queue) 資料結構 每當主線程作完事情, 就會去執行 Looper 類 此時, 不斷地觀察 MQ 的動態 如下圖 : 圖 2 Android 內部含有多個進程 主線程最主要的工作就是處理 UI 畫面的事件 (Event), 每當 UI 事件發生時,Android 框架會丟信息 (Message) 到 MQ 裡 主線程看到 MQ 有新的信息時, 就取出信息, 然後依據信息內容而去執行特定的函數 執行完畢, 就再繼續執行 Looper 類, 不斷地觀察 MQ 的動態 大家都知道, 當兩個類都在同一個進程裡執行時, 兩者之間的溝通, 只要採取一般的函數調用 (Function Call) 就行了, 既快速又方便 一旦兩個類分別在不同的進程裡執行時, 兩者之間的溝通, 就不能採取一般的函數調用途徑了 只好採取 IPC 溝通途徑, 如下圖 :

3 IPC 圖 3 Android 框架的 IPC 機制之例 Android 框架的 IPC 溝通仰賴單一的 IBinder 接口 此時 Client 端調用 IBinder 接口的 transact() 函數, 透過 IPC 機制而調用到遠方 (Remote) 的 ontransact() 函數 例如下圖裡的 myactivity1 myactivity2 和 myservice 分別在不同的進程裡執行, 透過 C++ 層的 IBinder 接口進行跨進程的 IPC 溝通 圖 4 Android IPC 機制的 IBinder 接口

4 在此圖的不同進程裡, 各有其主線程 (Thread), 這些線程可並行 (Concurrent) 執行, 形成多線程 (Multiple-Thread) 的執行環境 例如上圖 4-14, myactivity1 和 myactivity2 並行執行, 並透過 C++ 層的 JavaBBinder 類而共享 ( 可能並行 ) 了 Java 層的 myservice 類之服務 認識主線程在 Android 裏, 於預設情形下, 一個應用程式內的各元件 ( 如 Activity BroadcastReceiver 或 Service 等 ) 都會在同一個進程 (Process) 裏執行, 而且由該進程的主線程負責執行之 在 Android 裏, 如果有特別指示, 也可以讓特定元件在不同的進程裏執行 無論元件在那一個進程裏執行, 於預設情形下, 他們都是由該進程裏的主線程來負責執行之 例如下述的範例, 由一個 Activity 啟動一個 Service, 兩者都在同一個進程裏執行 那麼, 主線程除了要處理 Activity 元件的 UI 事件, 又要處理 Service 幕後服務工作, 通常會忙不過來 該如何化解這種困境呢? 此時, 多線程 (Multi-thread) 的並行 (Concurrent) 概念了, 其可以化解主線程太過於忙碌的情形 也就是說, 主線程可以誕生多個子線程來分擔其工作, 尤其是比較冗長費時的幕後服務工作, 例如播放動畫的背景音樂 或從網路下載映片等 於是, 主線程就能專心於處理 UI 畫面的事件了 關於 Remote Service 剛才的範例裏的 Activity Service 和 BroadcastReceiver 三者都是由該 APK 的預設進程裏執行 由於三者都是在同一進程裏執行, 所以它們之間的通訊是屬於進程內的短距通訊 同時, 也都由該預設進程裏的主線程負責執行之 那麼, 如果 Activity Service 和 BroadcastReceiver 三者並不是在同一個進程裏執行時, 它們之間的通訊就是跨進程通訊 (IPC, Inter-Process Communication) 了 當 Activity 與 Service( 或 BroadcastReceiver) 之間採用 IPC 通訊時, 意味著兩者分別在不同的進程裏執行, 此時基於一般原則 : 於預設情形下,Activity BroadcastReceiver 或 Service 都是由其所屬進程裏的主線程負責執行之 可知, 雙方是分別由不同 ( 進程 ) 的主線程來執行之 請先看個範例, 它由一個 Activity 啟動一個遠距的 Service, 兩者分別在不同的進程裏執行 如下述 XML 檔案內容 : <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="

5 package="com.misoo.kxaa"> <application <activity android:name=".ac01" <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <service android:name=".myservice" android:process=":remote"> <intent-filter> <action android:name="com.misoo.kxaa.remote_service" /> </intent-filter> </service> </application> </manifest> 從其中可看到,ac01 是在此應用程式的預設進程裏執行的, 而 myservice 是在名為 remote 的進程裏執行的 所以 ac01 是由該預設進程的主線程所執行的, 而 myservice 則是由 remote 進程的主線程所執行的 此應用程式共含有兩個進程 : 預設進程和 remote 進程 請繼續看下圖 : 其中,myActivity 與 myservice 各在不同進程裏執行, 兩者都是由各進程的 main thread 所執行 亦即, 兩者是由不同的線程所執行 此情形下, 兩個類別裏的函數也不宜太費時 ( 例如不宜超過 5 秒鐘 ); 但必要時可誕生子線程去執行較費時的函數 由於 new mybinder() 指令寫在 myservice::oncreate() 內, 所以是由 main thread 執行建構式 mybinder() 在 Binding-time 時,Binder System 會從進程的線程池 (Thread pool) 裏啟動一個線程來執行 mybinder::ontransact() 函數 以此類推, 下圖的 mybinder1::ontransact() 與 mybinder1::ontransact() 兩個函數, 是由不同的線程分別執行之

6 就 Android 的 Java 層應用程式開發者而言, 他們可能不會太重視上述的線程機制 然而, 對於軟硬整合元件開發者而言, 就非常重要了 結語 Binding-time 時,Binder System 會建立 myactivity 與 mybinder( 即 myservice 的 Interface) 之間的連結 (Connection) 在 IPC calling-time 時, 每次 IPC call,binder System 會從 Service 進程的 Thread pool 裏啟動一個 Thread 來對應 myactivity 的線程 在 Binding-time 時,Binder System 會建立 myactivity 與 mybinder( 即 myservice 的 Interface) 之間的連結 (Connection) 在 IPC calling-time 時,myActivity 的線程與 mybinder 的線程會同步 (Synchronize), 讓 myactivity 開發者覺得 IPC 遠端呼叫 跨進程的兩個線程, 就如同單一線程一般 如下圖 : 如果從 Binder 衍生了 mybinder1 mybinder2 和 mybinder3 等子類時, 如何替 myservice 選擇適當的 mybinder 介面類別呢? 如果連續呼叫 bindservice() 兩次, 會 bind 到同一個 mybinder 物件

7 如果想 Bind 到另一個 mybinder 介面類別之物件, 可先 unbind(), 就會呼叫到 onbind() 函數, 來決定 bind 到哪一個物件 其他還有更多變化的結構, 如下圖 : 主 子線程的通訊模式 Message Queue 的角色 在 Android 程式裏, 新誕生一個線程, 或稱執行緒 (Thread) 時, 並不會自動建立其 Message Loop Android 裏並沒有 Global 的 Message Queue 資料結構, 例如, 不同 APK 裏的物件不能透過 Massage Queue 來交換訊息 (Message) 一個線程可以誕生一個 Looper 之物件, 由它來管理此線程裏的 Message Queue 你可以誕生 Handler 之物件來與 Looper 溝通, 以便 push 新訊息到 Message Queue 裏 ; 或者接收 Looper( 從 Message Queue 取出 ) 所送來的訊息 線程 A 的 Handler 物件參考可以傳遞給別的線程, 讓別的線程 B 或 C 等能送訊息來給線程 A( 存於 A 的 Message Queue 裏 ) 線程 A 的 Message Queue 裏的訊息, 只有線程 A 所屬的物件可以處理之 使用 Looper.myLooper 可以取得目前線程的 Looper 物件參考值 使用 mhandler = new EevntHandler(Looper.myLooper()); 可誕生用來處理目前線程的 Handler 物件 ; 其中,EevntHandler 是 Handler 的子類別 使用 mhandler = new EevntHandler(Looper.getMainLooper()); 可誕生用來處

8 理 main 線程的 Handler 物件 ; 其中,EevntHandler 是 Handler 的子類別 範例之一 :Looper 物件之角色 Looper 類別用來管理特定線程內物件之間的訊息交換 (Message Exchange) 你的應用程式可以誕生許多個線程, 或稱執行緒 (Thread) 而一個線程可以誕生許多個物件, 這些物件之間常常需要互相交換訊息 如果有這種需要, 您可以替線程誕生一個 Looper 類別之物件, 來擔任訊息交換的管理工作 Looper 物件會建立一個 MessageQueue 資料結構來存放各物件傳來的訊息 ( 包括 UI 事件或 System 事件等 ) 如下圖: Activity Looper IntentReceiver MessageQueue Thread 每一個線程 (Thread, 或稱 執行緒 ) 裏可含有一個 Looper 物件以及一個 MessageQueue 資料結構 在你的應用程式裏, 可以定義 Handler 的子類別來接收 Looper 所送出的訊息 //----- Looper_01 範例 package com.misoo.kx04; import android.app.activity; import android.graphics.color; import android.os.bundle; import android.os.handler; import android.os.looper; import android.os.message; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.linearlayout; import android.widget.textview; public class ac01 extends Activity implements OnClickListener { private final int WC = LinearLayout.LayoutParams.WRAP_CONTENT; private final int FP = LinearLayout.LayoutParams.FILL_PARENT; public TextView tv; private EventHandler mhandler;

9 private Button btn, btn2, btn3; public void oncreate(bundle icicle) { super.oncreate(icicle); LinearLayout layout = new LinearLayout(this); layout.setorientation(linearlayout.vertical); btn = new Button(this); btn.setid(101); btn.setbackgroundresource(r.drawable.heart); btn.settext("test looper"); btn.setonclicklistener(this); LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(100,50); param.topmargin = 10; layout.addview(btn, param); btn2 = new Button(this); btn2.setid(102); btn2.setbackgroundresource(r.drawable.ok_blue); btn2.settext("exit"); btn2.setonclicklistener(this); layout.addview(btn2, param); tv = new TextView(this); tv.settextcolor(color.white); tv.settext(""); LinearLayout.LayoutParams param2 = new LinearLayout.LayoutParams(FP, WC); param2.topmargin = 10; layout.addview(tv, param2); setcontentview(layout); public void onclick(view v) { switch(v.getid()){ case 101: Looper looper; looper = Looper.myLooper(); mhandler = new EventHandler(looper); mhandler.removemessages(0); // 清除整個 MessageQueue 裏的事件, 確保不會通知到別人 String obj = "This my message!"; Message m = mhandler.obtainmessage(1, 1, 1, obj); // 組裝成一個 Message 物件 mhandler.sendmessage(m); // 將 Message 物件送入 MessageQueue 裏 break; case 102: finish(); break;

10 // class EventHandler extends Handler { public EventHandler(Looper looper) { public void handlemessage(message msg) { tv.settext((string)msg.obj); 說明此程式啟動時, 目前線程 ( 即主線程, main thread) 已誕生了一個 Looper 物件, 並且有了一個 MessageQueue 資料結構 指令 :looper = Looper.myLooper(); 就呼叫 Looper 類別的靜態 mylooper() 函數, 以取得目前線程裏的 Looper 對象之參考值 指令 :mhandler = new EventHandler(looper); 誕生一個 EventHandler 之物件來與 Looper 溝通 Activity 等物件可以藉由 EventHandler 物件來將訊息傳給 Looper, 然後放入 MessageQueue 裏 ;EventHandler 物件也扮演 Listener 的角色, 可接收 Looper 物件所送來的訊息 如下圖 : Activity EHandler Looper IntentReceiver EHandler MessageQueue Thread 指令 :Message m = mhandler.obtainmessage(1, 1, 1, obj); 先誕生一個 Message 物件, 並將資料存入次物件裏

11 指令 :mhandler.sendmessage(m); 就透過 mhandler 物件而將訊息 m 傳給 Looper, 然後放入 MessageQueue 裏 此時,Looper 物件看到 MessageQueue 裏有訊息 m, 就將它廣播出去,mHandler 物件接到此訊息時, 會呼叫其 handlemessage() 函數來處理之, 於是輸出 "This my message!" 於畫面上, 如下 : 範例之二 : 由別的線程送訊息到主線程的 Message Queue //----- Looper_02 範例 package com.misoo.kx04; import android.app.activity; import android.graphics.color; import android.os.bundle; import android.os.handler; import android.os.looper; import android.os.message; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.linearlayout; import android.widget.textview; public class ac01 extends Activity implements OnClickListener { private final int WC = LinearLayout.LayoutParams.WRAP_CONTENT; private final int FP = LinearLayout.LayoutParams.FILL_PARENT; public TextView tv; private mythread t; private Button btn, btn2, btn3; public void oncreate(bundle icicle) { super.oncreate(icicle); LinearLayout layout = new LinearLayout(this); layout.setorientation(linearlayout.vertical); btn = new Button(this);

12 btn.setid(101); btn.setbackgroundresource(r.drawable.heart); btn.settext("test looper"); btn.setonclicklistener(this); LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(100,50); param.topmargin = 10; layout.addview(btn, param); btn2 = new Button(this); btn2.setid(102); btn2.setbackgroundresource(r.drawable.ok_blue); btn2.settext("exit"); btn2.setonclicklistener(this); layout.addview(btn2, param); tv = new TextView(this); tv.settextcolor(color.white); tv.settext(""); LinearLayout.LayoutParams param2 = new LinearLayout.LayoutParams(FP, WC); param2.topmargin = 10; layout.addview(tv, param2); setcontentview(layout); public void onclick(view v) { switch(v.getid()){ case 101: t = new mythread(); t.start(); break; case 102: finish(); break; // class EHandler extends Handler { public EHandler(Looper looper) { public void handlemessage(message msg) { tv.settext((string)msg.obj); // class mythread extends Thread{ private EHandler mhandler; public void run() {

13 Looper mylooper, mainlooper; mylooper = Looper.myLooper(); mainlooper = Looper.getMainLooper(); String obj; if(mylooper == null){ mhandler = new EHandler(mainLooper); obj = "current thread has no looper!"; else { mhandler = new EHandler(myLooper); obj = "This is from current thread."; mhandler.removemessages(0); Message m = mhandler.obtainmessage(1, 1, 1, obj); mhandler.sendmessage(m); Android 會自動替主線程建立 Message Queue 在這個子線程裏並沒有建立 Message Queue 所以,myLooper 值為 null, 而 mainlooper 則指向主線程裏的 Looper 物件 於是, 執行到指令 : mhandler = new EHandler(mainLooper); 此 mhandler 屬於主線程 指令 :mhandler.sendmessage(m); 就將 m 訊息存入到主線程的 Message Queue 裏 mainlooper 看到 Message Queue 裏有訊息, 就會處理之, 於是由主線程執行到 mhandler 的 handlemessage() 函數來處理訊息 由主線程送訊息給子線程上述範例裏, 是由子線程丟訊息給主線程 本節將介紹如何從主線程丟訊息給子線程 其方法是 : 當子線程執行 run() 函數時, 就誕生一個子線程的 Handler 物件 之後, 當主線程執行 ac01::onclick() 函數時, 就藉由此 Handler 物件參考而 push 訊息給子線程 例如下述範例 : //----- Looper_04 範例 package com.misoo.kx04; import android.app.activity; import android.content.context; import android.graphics.color; import android.os.bundle; import android.os.handler; import android.os.looper;

14 import android.os.message; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.linearlayout; import android.widget.textview; public class ac01 extends Activity implements OnClickListener { private final int WC = LinearLayout.LayoutParams.WRAP_CONTENT; private final int FP = LinearLayout.LayoutParams.FILL_PARENT; public TextView tv; private mythread t; private Button btn, btn2; private Handler h; private Context ctx; public void oncreate(bundle icicle) { super.oncreate(icicle); ctx = this; LinearLayout layout = new LinearLayout(this); layout.setorientation(linearlayout.vertical); btn = new Button(this); btn.setid(101); btn.setbackgroundresource(r.drawable.heart); btn.settext("test looper"); btn.setonclicklistener(this); LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(100,50); param.topmargin = 10; layout.addview(btn, param); btn2 = new Button(this); btn2.setid(102); btn2.setbackgroundresource(r.drawable.ok_blue); btn2.settext("exit"); btn2.setonclicklistener(this); layout.addview(btn2, param); tv = new TextView(this); tv.settextcolor(color.white); tv.settext(""); LinearLayout.LayoutParams param2 = new LinearLayout.LayoutParams(FP, WC); param2.topmargin = 10; layout.addview(tv, param2); setcontentview(layout); // t = new mythread(); t.start();

15 public void onclick(view v) { switch(v.getid()){ case 101: String obj = "mainthread"; Message m = h.obtainmessage(1, 1, 1, obj); h.sendmessage(m); break; case 102: h.getlooper().quit(); finish(); break; // public class EventHandler extends Handler { public EventHandler(Looper looper) { public void handlemessage(message msg) { ((Activity)ctx).setTitle((String)msg.obj); // class mythread extends Thread{ public void run() { Looper.prepare(); h = new Handler(){ public void handlemessage(message msg) { EventHandler ha = new EventHandler(Looper.getMainLooper()); String obj = (String)msg.obj + ", mythread"; Message m = ha.obtainmessage(1, 1, 1, obj); ha.sendmessage(m); ; Looper.loop(); 當子線程執行 run() 函數時, 誕生一個主線程的 EventHandler 物件, 並且藉之而 push 訊息給主線程了 就進行了兩個線程之間的互相交換訊息, 也是兩個函數或物件間之交換訊息 此程式輸出畫面為 :

16 ~~ END ~~

建模与图形思考

建模与图形思考 C03_c 基 於 軟 硬 整 合 觀 點 JNI: 从 C 调 用 Java 函 数 ( c) By 高 煥 堂 3 How-to: 基 於 軟 硬 整 合 觀 點 从 C 调 用 Java 函 数 如 果 控 制 点 摆 在 本 地 C 层, 就 会 常 常 1. 从 本 地 C 函 数 去 调 用 Java 函 数 ; 2. 从 本 地 C 函 数 去 存 取 Java 层 对 象 的 属 性

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

Microsoft Word - GoF-ch06-8-AbsFactory-ok.doc

Microsoft Word - GoF-ch06-8-AbsFactory-ok.doc 第 6 章 Abstract Factory 樣式 137 138 Google Android 設計招式之美 Android 設計招式之美教材下載 第 6 章 Abstract Factory 樣式 139 第 6 章 Abstarct Factory 模式 6.1 Abstract Factory 模式美何在? 6.1.1 大格局的分合自如 6.1.2 不知而亦能用 之实践 6.2 介绍 Abstract

More information

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

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

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

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

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

Dynamic Layout in Android

Dynamic Layout in Android Dynamic Layout in Android 建國科技大學資管系 饒瑞佶 2013/5 V1 Layout 多半都透過 res/layout/xml 格式設定來達成 Android 是 OOP, 所以可以動態產生 Layout 重點是 Layout 的階層關係 (Hierarchy) 需要處理對應事件 最後一樣用 setcontentview 加入 Layout 一 加入現有 Layout 中

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

Microsoft Word - 002_Java層框架介紹.doc

Microsoft Word - 002_Java層框架介紹.doc Java 層框架介紹 4 個嫡系基類 : Activity Service BroadcastReceiver ContentProvider Android 母框架裡提供了 4 個一等公民 ( 或稱為嫡系 ) 的基類, 包括 : Activity: 處理 UI 互動的事情 Service: 幕後服務 ( 如硬體及 Driver 的服務 ) BroadcastReceiver: 接收訊息及事件處理

More information

書面

書面 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 5.4 互動功能畫面 程式碼請參考附件-程式三 在進入互動頁面時 會執行setAllText()依寵物狀態數值來 設定狀態文字與頭像 並且依心情決定是否要不要播放音效 觸摸的區域 由於是自己寫的 view 所以並未透過xml來設置 而是透過Layut.addview()來動態新增

More information

Android Service

Android Service Android Service- 播放音樂 建國科技大學資管系 饒瑞佶 2013/7 V1 Android Service Service 是跟 Activity 並行 一個音樂播放程式若沒使用 Service, 即使按 home 鍵畫面離開之後, 音樂還是照播 如果再執行一次程式, 新撥放的音樂會跟先前撥放的一起撥, 最後程式就會出錯 執行中的程式完全看不到! 但是, 寫成 Service 就不同了

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

ShareText

ShareText 作者 : 林致宇 日期 :2012/1/23 問題 : 如何分享分享文字資訊給其它的應用程式? 解答 : 有時候我們可能會希望 我們的應用程式的資訊 能夠讓使用者分享出去, 讓使用者能夠將此資訊傳送簡訊給其好友或寄電子郵件的方式寄給其好友, 這份文件將示範如何寫出這樣的應用程式 本文件將產出兩個 App, 第一個 App 是 分享資料的來源, 名為 CopyPaste_Source, 功能非常簡單,

More information

Android Android Android SDK iv

Android Android Android SDK iv Android Market Google Android SDK Apple Google Microsoft b2c b 2010 Internet Android how why iii Android 240... Android Android SDK iv Android Market Google Android SDK Visual C++ Java N-tier J2EE Unix/Linux

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

教育部補助資訊軟體人才培育先導計畫 100 年度課程發展專案計畫 實驗課程名稱 : IPC(Inter-Process Communication) 開發教師 : 張晉源老師 開發學生 : 林政揚 學校系所 : 樹德科技大學資訊工程學系

教育部補助資訊軟體人才培育先導計畫 100 年度課程發展專案計畫 實驗課程名稱 : IPC(Inter-Process Communication) 開發教師 : 張晉源老師 開發學生 : 林政揚 學校系所 : 樹德科技大學資訊工程學系 教育部補助資訊軟體人才培育先導計畫 100 年度課程發展專案計畫 實驗課程名稱 : IPC(Inter-Process Communication) 開發教師 : 張晉源老師 開發學生 : 林政揚 (s11639104@stu.edu.tw) 學校系所 : 樹德科技大學資訊工程學系 實驗目的 本實驗的目的在於讓同學們可以了解 Android 系統核心內部的行程通訊的原理, 透過呼叫系統提供的其中一樣服務

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

untitled

untitled Work Managers 什 Work Managers? WebLogic Server 9.x 行 (thread) 理 thread pool 數量 立 execute queues 來 量 理 thread count, thread priority 參數 理 thread pool 數量? WebLogic Server 9.x 理 行 (thread) (self-tuning) 句

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

Microsoft Word - G3_BK_Ch13-8.doc

Microsoft Word - G3_BK_Ch13-8.doc 第 13 章对象的多重接口 273 274 Android 的对象技术 (OOP) Android 的對象技術教材下載 第 13 章对象的多重接口 275 13 第章 对象的多重接口 13.1 复习接口之观念 13.2 复习 Java 的接口观念 13.3 Android 的多重接口之例 13.4 多重接口与转换 13.5 Android 的多重接口转换之例 13.6 应用于 C/C++ 276 Android

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 多型 Polymorphism 講師 : 洪安 1 多型 編譯時期多型 ( 靜態多型 ) function overloading 如何正確呼叫同名的函數? 利用參數個數與型態 operator overloading 其實同 function overloading 執行時期多型 ( 或動態多型 ) 如何正確呼叫不同物件的相同名稱的成員函數 利用繼承與多型 2 子類別與父類別物件間的指定 (assignment)

More information

题目

题目 开发 Android 应用 目的 : 帮助大家了解 Android 平台开发 作者 : 王威威 技术爱好 : linux,qt, 嵌入式开发 MSN : wangweiweicdma@hotmail.com Email : wang.weiwei1@ztenc.com.cn wangjiecdma@126.com 下载开发资源 1 下载最新的 Android SDK http://code.google.com/android/download.html

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

Database_001

Database_001 作者 : 林致宇日期 :2011/10/26 主要參考來源 : http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applicat ions/ 問題 : 如在存取一個已經建立好的資料庫? 解答 : 有一些應用程式會需要讀取已經建立好的資料庫, 例如一個試題測驗應用程式, 裡面的試題可能已經於電腦上, 使用任何的

More information

(Microsoft Word - G01_\261\265\244f??\244\247\254\374_\245N?\263y\247\316\252\272\250\244\246\342_ok.doc)

(Microsoft Word - G01_\261\265\244f??\244\247\254\374_\245N?\263y\247\316\252\272\250\244\246\342_ok.doc) G01_ 接口设计之美 _ 代码造形的角色 1. 代码造形的历史 : 从函数 类到 EIT 2. 什么是代码造形? 3. 代码造形的用处 4. 大家熟悉的 2 种代码造形 : 函数和类 5. 介绍新的 EIT 代码造形 5.1 接口是主角 :EIT 呈现接口之美 5.2 EIT 造形的重复组合 5.3 为什么需要要有两个配角呢? 1 1. 代码造形的历史 : 从函数 类到 EIT 1970 年代的代表性语言就是

More information

Microsoft Word - G3_BK_Ch06-8.doc

Microsoft Word - G3_BK_Ch06-8.doc 第 6 章抽象類別 125 第二篇 抽象与接口之应用 围棋国宝吴清源说 : 整体 和谐与创新 是棋艺的真谛 接口 就像红绿灯及斑马线, 创造了交通的和谐与秩序 126 Android 的對象技術 (OOP) 第 6 章抽象類別 127 Android 的對象技術教材下載 128 Android 的對象技術 (OOP) 第 6 章 抽象类别 (Abstract Class) 6.1 抽象类别与继承体系

More information

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之 臺 北 市 大 安 高 級 工 業 職 業 學 校 資 訊 科 一 百 零 一 學 年 度 專 題 製 作 報 告 ------ 以 Android 製 作 ------ ----- 連 線 塔 防 遊 戲 ------ Tower defense game using Internet technology 班 級 : 資 訊 三 甲 組 別 : A9 組 組 員 : 葉 冠 麟 (9906129)

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

0511-Android程式之GPS應用_專題週記4

0511-Android程式之GPS應用_專題週記4 逢甲大學通訊工程學系專題研究 Android 程式之 GPS 應用 專題週記 0511 學生姓名 陳彥儒 D0035131 廖元譽 D0077791 指導老師 楊豐瑞老師繳交日期 2014.05.11 1 匯入 GoogleMap 1.1 取得授權步驟 目前進度 取得 Google 授權鑰匙 實作程式尚未成功 1.1.1 建立個人的 keystore 1.1.2 由個人的 keystore 查詢 SHA1

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information

ContextMenu

ContextMenu 作者 : 林致宇 日期 :2012/1/20 問題 : 如何建立 ContextMenu? 解答 : 什麼是 ContextMenu 呢? 下面兩張圖是 ContextMenu 的範例, 紅色框線中的選單即所謂的 ContextMenu, 可以視為 選單列表, 例如在左圖的 ContextMenu 中有兩個選項 : Action 1 與 Action 2, 按下 Action 1 可執行某些動作,

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

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

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

More information

Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21

Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21 Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21 Outlines for Today Future Planning Review System Architecture Dev. Tools & Making the First App Project Structure & File Details Application

More information

Microsoft Word - G3_BK_Ch12-8.doc

Microsoft Word - G3_BK_Ch12-8.doc 第 12 章线程 (Thread) 对象 251 第三篇 进阶技术应用 Android 应用架构含有各式各样的接口, 例如 IBinder ContentProvider 等等 只要将我们的组件配上这些接口, 就能与其它组件融为一体了 252 Android 的对象技术 (OOP) 第 12 章线程 (Thread) 对象 253 E-mail: misoo.tw@gmail.com 254 Android

More information

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 :

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 : EditText 实现城市搜索 1801210778 邹宇航 摘要 : 使用 EditText 实现搜索城市的功能, 以此为依据更新 ListView 1. 效果图 : 2. 主要步骤 (1) 在 select-city.xml 布局文件中中添加 EditText 控件用作搜索框, 然后添加 ListView 控件用来显示城市名字内容 代码如下 : 预览图 : (2) 在 SelectCity.java

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

Microsoft Word - GoF-ch04-8-Factory-ok.doc

Microsoft Word - GoF-ch04-8-Factory-ok.doc 第 4 章 Factory Method 样式 93 94 Google Android 设计招式之美 第 4 章 Factory Method 样式 95 第 4 章 Factory Method 模式 4.1 Factory Method 模式美何在? 4.2 介绍 Factory Method 模式 4.2.1 谁来創建应用类别之对象? 4.2.2 GoF 的 Factory Method 模式图

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

雲端 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

雲端 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 CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

untitled

untitled How to using M-Power Report API M-Power Report API 力 了 M-Power Report -- Java (Library) M-Power Report API 行 Java M-Power Report M-Power Report API ( 30 ) PDF/HTML/CSV/XLS JPEG/PNG/SVG 料 料 OutputStream

More information

呼 喊 選 集 2 3 天 國 大 英 雄 基 督 徒 因 此 在 基 督 快 將 再 臨 的 前 夕, 思 想 施 洗 約 翰 的 道 路, 對 我 們 來 說, 是 具 有 時 代 意 義 的 施 洗 約 翰 其 人 工 作 需 要 人, 需 要 合 用 的 人 在 神 的 國 度 中, 祂 所

呼 喊 選 集 2 3 天 國 大 英 雄 基 督 徒 因 此 在 基 督 快 將 再 臨 的 前 夕, 思 想 施 洗 約 翰 的 道 路, 對 我 們 來 說, 是 具 有 時 代 意 義 的 施 洗 約 翰 其 人 工 作 需 要 人, 需 要 合 用 的 人 在 神 的 國 度 中, 祂 所 基 督 先 鋒 施 洗 約 翰 天 國 大 英 雄 吳 恩 溥 施 洗 約 翰 沒 有 行 過 一 件 神 蹟, 但 他 本 身 就 是 一 個 大 神 蹟 基 督 降 臨 前 夕, 需 要 千 千 萬 萬 具 有 施 洗 約 翰 心 志 能 力 的 人, 走 在 祂 前 面 主 耶 穌 曾 公 開 稱 讚 施 洗 約 翰 : 凡 婦 人 所 生 的, 沒 有 一 個 興 起 來 大 過 施 洗 約

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 EAI EAI Middleware EAI 3.1 EAI EAI Client/Server Internet,www,Jav a 3.1 EAI Message Brokers -Data Transformation Business Rule XML XML 37 3.1 XML XML XML EAI XML 1. XML XML Java Script VB Script Active

More information

Microsoft Word - GoF-ch02-8-hook-ok.doc

Microsoft Word - GoF-ch02-8-hook-ok.doc 第 2 章 Android 框架與應用類別的接合 : 卡榫 (Hook) 函數 39 40 Google Android 設計招式之美 認識高煥堂老師 請看 4 分鐘演講視頻 第 2 章 Android 框架與應用類別的接合 : 卡榫 (Hook) 函數 41 第 2 章 Android 框架与应用 类别的接合 : 卡榫 (Hook) 函数 2.1 前言 2.2 何谓卡榫 (Hook) 函数 2.3

More information

Microsoft Word - A201103-528_1299547322.doc

Microsoft Word - A201103-528_1299547322.doc 5 10 15 20 25 30 基 于 Android 平 台 的 人 机 交 互 的 研 究 与 实 现 郁 亚 男 ( 北 京 邮 电 大 学 软 件 学 院, 北 京 100876) 摘 要 : 随 着 计 算 的 发 展, 计 算 变 得 越 来 越 自 由, 在 资 源 使 用 方 面 也 越 来 越 灵 活 移 动 终 端 由 于 无 线 通 信 网 络 传 输 速 率 的 提 高,

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

建模与图形思考

建模与图形思考 F06_c 观摩 :ContentProvider 基於軟硬整合觀點 架构與 DB 引擎移植方法 ( c) By 高煥堂 4 通用性基类 ContentProvider 基於軟硬整合觀點 的使用范例 刚才的范例里, 我们直接使用 DataPersist 类的接口来与 SQLite 沟通 本节将替 DataPersist 配上 ContentProvider 基类, 让 Client 能透过 ContentProvider

More information

untitled

untitled PowerBuilder Tips 利 PB11 Web Service 年度 2 PB Tips PB9 EAServer 5 web service PB9 EAServer 5 了 便 web service 來說 PB9 web service 力 9 PB11 release PB11 web service 力更 令.NET web service PB NVO 論 不 PB 來說 說

More information

Android Fragment

Android Fragment Android Fragment 建國科技大學資管系饒瑞佶 2017/10 V1 Android 3.0 後才支援 Fragment 解決部分 App 適應螢幕大小的問題 它類似於 Activity, 可以像 Activity 可以擁有自己的版面設計, 也和 Activity 一樣有自己的生命週期 ( 具備 oncreate() oncreateview() 與 onpause() 方法 ) LifeCycle

More information

01_Service

01_Service 移动平台应用软件开发 Service 主讲 : 张齐勋 zhangqx@ss.pku.edu.cn 移动平台应用软件开发 课程建设小组 北京大学 二零一七年 什么是 Service 与 Activity 一样, 同属 Android 基本组件 后台运行, 不与用户交互, 没有可视化界面 最常见的 Service 如 : 在后台播放歌曲 后台执行文件的下载 同样需在 AndroidManifest.xml

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

教学〔2016〕120号

教学〔2016〕120号 河 南 省 教 育 厅 教 学 2016 120 号 河 南 省 教 育 厅 关 于 对 口 招 收 中 等 职 业 学 校 毕 业 生 进 入 普 通 高 等 学 校 学 习 的 通 知 各 省 辖 市 省 直 管 县 ( 市 ) 教 育 局, 省 各 级 招 生 机 构, 各 普 通 高 等 学 校 省 属 中 等 职 业 学 校 : 为 贯 彻 党 的 十 八 大 和 十 八 届 三 中 四

More information

untitled

untitled Inside ASP.NET 2.0- ASP.NET 1.1 2. 理念 讀 了 了 度 讀 了 理 類 來 來說 流 了 來 來 來 來 理 來 不 讀 不 不 力 來參 流 讀 了 異 行 來了 錄 行 不 了 來 了 來 行 論說 了 更 不 例 來了 力 行 樂 不 說 兩 例 利 來 了 來 樂 了 了 令 讀 來 不 不 來 了 不 旅行 令 錄 錄 來 了 例 來 利 來 ManagerProvide

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

Microsoft Word - 第1章 Android基本概念.docx

Microsoft Word - 第1章 Android基本概念.docx Android 系 统 下 Java 编 程 详 解 作 者 : 华 清 远 见 第 1 章 Android 基 本 概 念 本 章 简 介 本 章 主 要 介 绍 Android 基 本 概 念 方 面 的 内 容, 包 括 Android 平 台 特 性 Android 系 统 架 构 Android 开 发 框 架 和 Android 开 发 环 境 搭 建 1.1 Android 简 介 Android

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 70-536Chinese(C++) Title : TS:MS.NET Framework 2.0-Application Develop Foundation Version : DEMO 1 / 10 1. Exception A. Data B. Message C.

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

版权声明

版权声明 大 话 企 业 级 Android 开 发 第 九 部 分 本 教 程 说 明 及 版 权 声 明 大 话 企 业 级 Android 开 发 是 国 士 工 作 室 为 了 方 便 中 国 Android 开 发 者, 推 动 Android 企 业 级 应 用 开 发, 特 投 入 大 量 心 血 撰 写 的 书 籍, 并 在 网 络 上 免 费 发 布, 希 望 为 移 动 互 联 网 和 智

More information

Android 开发教程

Android 开发教程 封面 1 GUI 可视化设计器 DroidDraw DroidDraw 是一个基于 Java Swing 的 Android 界面设计器, 可以通过它来生成复杂的 Android Layout XML 文 件,Android 的 Layout 和 Swing Layout 中有很好的对应, 设计器的代码编写起来比较容易 2 AnDroidDraw AnDroidDraw 是一个与 DroidDraw

More information

Microsoft Word - Prog1-981.docx

Microsoft Word - Prog1-981.docx 5. 變數參照 (Memory Reference) 5.1 指標 (Pointer) (1). 指標 (Pointer) 的基本觀念 特性 內含為一 Memory Address 會因不同的機器而有不同的結果 &" 也是代表變數的位址 例如 : int var1 = 2; cout

More information

Microsoft PowerPoint - plan08.ppt

Microsoft PowerPoint - plan08.ppt 程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 2012.2~2012.6 8. 面 向 对 象 为 什 么 需 要 面 向 对 象? OO 语 言 的 发 展 面 向 对 象 的 基 本 概 念 封 装 和 继 承 初 始 化 和 终 结 处 理 动 态 方 法 约 束 多 重 继 承 总 结 2012

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

Microsoft Word - 第5章.doc

Microsoft Word - 第5章.doc 第 5 章 5.1 异常处理 异常 (Exception) 指程序运行过程中出现的非正常现象, 例如用户输入错误 需要处理的文件不存在 在网络上传输数据但网络没有连接等 由于异常情况总是可能发生, 良好健壮的应用程序除了具备用户所要求的基本功能外, 还应该具备预见并处理可能发生的各种异常的功能 所以, 开发应用程序时要充分考虑到各种可能发生的异常情况, 使程序具有较强的容错能力 通常把这种对异常情况进行处理的技术称为异常处理

More information

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2 PowerBuilder 9 PowerBuilder Native Interface(PBNI) PowerBuilder 9 PowerBuilder C++ Java PowerBuilder 9 PBNI PowerBuilder Java C++ PowerBuilder NVO / PowerBuilder C/C++ PowerBuilder 9.0 PowerBuilder Native

More information

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc 1.1 组合 Hibernate 与 Spring 1. 在 Eclipse 中, 新建一个 Web project 2. 给该项目增加 Hibernate 开发能力, 增加 Hibernate 相关类库到当前项目的 Build Path, 同时也提供了 hibernate.cfg.xml 这个配置文件 3. 给该项目增加 Spring 开发能力, 增加 spring 相关类库到当前项目的 Build

More information

Microsoft PowerPoint - App與微控器整合.pptx

Microsoft PowerPoint - App與微控器整合.pptx 1 2 Outline APP 與微控器整合 2017 中山大學電機實驗營 App 開發環境 -Android Studio 介紹 App 開發 實驗營 App 流程 3 4 Android Studio 介紹 Android Studio 是一個為 Android 平台開發程式的整合式開發環境, 可供開發者免費使用, 並在 Windows OS X Linux 平台上均可執行 專案結構 一個專案下有

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

Android 编程基础 Android 开发教程 & 笔记 1

Android 编程基础 Android 开发教程 & 笔记 1 Android 开发教程 & 笔记 1 多式样 ProgressBar 撰写 : 地狱怒兽 联系 :zyf19870302@126.com 普通圆形 ProgressBar 该类型进度条也就是一个表示运转的过程, 例如发送短信, 连接网络等等, 表示一个过程正 在执行中 一般只要在 XML 布局中定义就可以了

More information

<4D F736F F D FB1B5A4663F3FA4A7ACFC5FB371A5CEA9CAB1B5A466AABA3FA6583FA5CE5F6F6B2E646F63>

<4D F736F F D FB1B5A4663F3FA4A7ACFC5FB371A5CEA9CAB1B5A466AABA3FA6583FA5CE5F6F6B2E646F63> G08_ 接口设计之美 _ 通用性接口的组合应用 内容 : 1. 复习 : 通用性接口的基本结构 2. 此结构是由 2 个 EIT 造形所组成 3. 谁来 实现 通用性接口呢? 4. 应用范例 : 手机与 Android TV 的多机整合 4.1 应用情境 4.2 介绍 3 个通用性接口 :Servlet Context 和 IBinder 5. 范例架构设计 : 联合应用 3 个通用性接口 5.1

More information

Adobe® Flash® 的 Adobe® ActionScript® 3.0 程式設計

Adobe® Flash® 的 Adobe® ActionScript® 3.0 程式設計 337 18 Adobe Flash CS4 Professional MovieClip ActionScript Flash ActionScript Flash Flash Flash MovieClip MovieClip ActionScript ( ) MovieClip Flash Sprite ActionScript MovieClip ActionScript 3.0 Shape

More information

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B 25 9 2008 9 M ICROEL ECTRON ICS & COMPU TER Vol. 25 No. 9 September 2008 J ava 1,2, 1,2, 1,2 (1, 330022 ; 2, 330022) :,. Apla - Java,,.. : PAR ;Apla - Java ; ;CMP ; : TP311 : A : 1000-7180 (2008) 09-0018

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

Microsoft PowerPoint - 14Threads.ppt

Microsoft PowerPoint - 14Threads.ppt Threads Outline Introduction to Threads How to create Thread extend Thread implement Runnable interface Synchronization What is thread? 定義 : 程式的執行軌跡 Single Thread Multi-Thread 依序執行 int x, y; int z; x =

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

建立Android新專案

建立Android新專案 Android 智 慧 型 手 機 程 式 設 計 Android WebService 建 國 科 技 大 學 資 管 系 饒 瑞 佶 2012/4 V1 2012/8 V2 2013/5 V3 2014/10 v4 提 醒 這 節 的 內 容 針 對 的 是 MS 的 Web Service 或 是 使 用 SOAP(Simple Object Access Protocol) 標 準 建 立

More information

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF> 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 考 试 2009 年 上 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答

More information

马 克 思 主 义 学 院 经 济 与 工 商 管 理 学 院 公 共 管 理 学 院 法 学 院 社 会 学 院 外 国 语 学 院 中 国 现 当 代 史 世 界 中 古 史 世 界 近 现 代 史 文 化 遗 产 马 克 思 主 义 哲 学 国 际 政 治 科 学 社 会 主 义 马 克 思

马 克 思 主 义 学 院 经 济 与 工 商 管 理 学 院 公 共 管 理 学 院 法 学 院 社 会 学 院 外 国 语 学 院 中 国 现 当 代 史 世 界 中 古 史 世 界 近 现 代 史 文 化 遗 产 马 克 思 主 义 哲 学 国 际 政 治 科 学 社 会 主 义 马 克 思 附 件 2: 华 中 师 范 大 学 2015 年 教 学 及 科 研 需 求 表 单 位 教 育 学 院 心 理 学 院 文 学 院 语 言 所 历 史 文 化 学 院 特 殊 教 育 特 殊 教 育 学 心 理 学 医 学 等 相 关 专 业 教 育 经 济 获 得 海 外 学 位 者 优 发 展 与 教 育 心 理 本 科 心 理 学 专 业 ; 有 海 外 学 习 经 历 者 优 课 程 教

More information

Microsoft PowerPoint - plan06.ppt

Microsoft PowerPoint - plan06.ppt 程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 2012.2~2012.6 6. 基 本 控 制 抽 象 子 程 序 抽 象 子 程 序 活 动 和 局 部 环 境 静 态 实 现 模 型 一 般 实 现 模 型 调 用 序 列 和 在 线 展 开 参 数 机 制 泛 型 子 程 序 异 常 处 理 其

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

RecyclerView and CardVew

RecyclerView and CardVew RecyclerView and CardView 建國科技大學資管系饒瑞佶 2017/10 V1 CardView CardView A CardView is a ViewGroup. Like any other ViewGroup, it can be added to youractivity or Fragment using a layout XML file. To create an

More information

南京市人才服务中心

南京市人才服务中心 南 京 市 人 才 服 务 中 心 关 于 协 助 举 办 第 三 届 跨 区 域 秋 季 高 校 毕 业 生 巡 回 招 聘 南 京 站 东 南 大 学 校 园 专 场 招 聘 会 的 函 东 南 大 学 : 2015 年 10 月 25 日 ( 周 日 ) 南 京 市 人 才 服 务 中 心 组 织 中 国 北 方 车 辆 研 究 所 广 西 软 件 管 理 中 心 集 美 大 学 厦 门 工

More information

计 算 机 系 统 应 用 http://www.c-s-a.org.cn 2016 年 第 25 卷 第 4 期 线 程 的 复 用 [2,3]. 通 常 情 况 下, 服 务 器 端 程 序 在 启 动 时 创 建 若 干 数 量 的 线 程 对 象 并 缓 存 起 来, 此 时 它 们 处 于

计 算 机 系 统 应 用 http://www.c-s-a.org.cn 2016 年 第 25 卷 第 4 期 线 程 的 复 用 [2,3]. 通 常 情 况 下, 服 务 器 端 程 序 在 启 动 时 创 建 若 干 数 量 的 线 程 对 象 并 缓 存 起 来, 此 时 它 们 处 于 1 线 程 池 技 术 在 考 试 系 统 中 的 应 用 葛 萌 1, 于 博 2, 欧 阳 宏 基 ( 咸 阳 师 范 学 院 信 息 工 程 学 院, 咸 阳 712000) ( 河 南 建 筑 职 业 技 术 学 院 信 息 工 程 系, 郑 州 450064) 1 摘 要 : 当 较 大 规 模 客 户 端 并 发 请 求 服 务 器 端 应 用 程 序 时, 传 统 的 为 每 个 请

More information

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii 前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii C# 7 More Effective C# C# C# C# C# C# Common Language Runtime CLR just-in-time

More information

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

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民 1 08414159 惠 鴻 眼 鏡 行 桃 園 市 中 壢 區 福 德 里 中 華 路 一 段 186 號 1 樓 30,000 獨 資 宋 耀 鴻 105/04/27 府 經 登 字 第 1059003866 號 2 17891110 承 元 冷 氣 空 調 工 程 行 桃 園 市 桃 園 區 中 德 里 國 際 路 1 段 98 巷 50 號 2 樓 之 4 200,000 獨 資 詹 安 平

More information

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

電機工程系認可證照清單                  2011/7/1 南 台 科 技 大 學 電 機 工 程 系 專 業 證 照 課 程 實 施 要 點 96 年 10 月 05 日 系 務 會 議 通 過 100 年 06 月 30 日 系 務 會 議 修 正 通 過 101 年 06 月 21 日 系 務 會 議 修 正 通 過 一 本 系 為 提 升 學 生 的 專 業 技 能, 特 訂 定 本 辦 法 二 實 施 對 象 : 本 系 日 間 部 96 學 年

More information

Microsoft Word - 02.目錄.doc

Microsoft Word - 02.目錄.doc 目錄 -1- 目錄 序 準備篇 一 使用說明... 0-2 二 標示說明... 0-6 三 注意事項... 0-7 第一類 Android 基礎知識 -UI 設計及語法應用 101. 整存整付計算機... 1-2 102. 電費計算機... 1-8 103. 點餐系統... 1-18 104. 計算 BMI 值... 1-23 105. MENU 功能選單... 1-36 106. 畫廊展示...

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

RunPC2_.doc

RunPC2_.doc PowerBuilder 8 (5) PowerBuilder Client/Server Jaguar Server Jaguar Server Connection Cache Thin Client Internet Connection Pooling EAServer Connection Cache Connection Cache Connection Cache Connection

More information

TV 2005 92 1. 2. 3. 4. 5. 3 1 6 1 10 10 30 94 11 23 12 2 736 97 4 2.3 3 28.7 1-2 18.4 2-3 17.2 3 28.7 12.7 5 2.3 10 2 17 5 3 1-2 22.6 2 2-3 3-4 4-5 17.6 15.4 10.1 5 18 2.8 17 3 4 54.8 26.9 26.1 17.6 13.3

More information