2010年10月29日 星期五

在Win32下如何使用亂數

1.引用time.h

2.利用WM_CREATE訊息來改變亂數種子
3.利用WM_PAINT來畫1000個圓

在Win32下顯示位元圖的教學範例

Win32計時器的使用

簡易井字遊戲

我們小時候經常玩井字遊戲,它是一個3*3的陣列,因此我們先宣告一個board變收來記錄,另外這個遊戲是兩人對玩的小遊戲,所以利用who來記錄輪到誰玩。其定義如下圖:


定義3*3的陣列我們必須要先設定初值,如下圖。


接下來在WM_PAINT的訊息下,要重繪井字及依據board來顯示目前是O或X。然後當收到WM_LBUTTONDOWN時,依照坐標來決定是下在什麼位置上,並換手。

在Windows下按鈕事件簡易教學

Windows是使用訊息來操控應用程式,圖中紅色框線內程式,告訴我們當視窗收到WM_LBUTTONDOWN時,會把訊息含有按下滑鼠左鍵後的坐標值,再依坐標值繪園。

圖中小圓是收到WM_LBUTTONDOWN時繪出,而大圓則是收到WM_PAINT訊息時畫出。

2010年10月21日 星期四

Android好用螢幕擷取程式 --Android Screen Monitor

除了使用 DDMS來擷圖外,Android Screen Monitor 是一個很精簡的螢幕擷取程式,可以使用在模擬器或者是手機畫面的擷取。

2010年10月15日 星期五

Google Map的學習資源

Using Google Maps in Android
在原生 Android 應用程式中載入 Google Maps API 網站

Webkit的媚力,三行指令加上一行的網路許可權,完成上網應用程式。


撰寫Android應用程常碰到的問題(二)

當我們碰到下列問題時,表示模擬手機的空間不足以安裝新的應用程式。
[2010-10-15 11:25:02 - Compress] Starting activity com.example.compress.compress on device emulator-5554
[2010-10-15 11:25:05 - Compress] Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
[2010-10-15 11:25:05 - Compress] Please check logcat output for more details.
[2010-10-15 11:25:05 - Compress] Launch canceled!
[2010-10-15 11:25:05 - Compress] Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
[2010-10-15 11:25:05 - Compress] Please check logcat output for more details.





2010年10月11日 星期一

利用計時器來設計工作分配以達到及時工作上的要求

在10/4的「Keil C時間中斷控制」文章中,我們寫了一個非常簡單的程式,來達到計時中斷的功能。社員有沒有發現同樣是LED的控制,但它不用for迴圈來進行延遲工作,整個程式找到不延遲函式,可是我們可以清楚地看出來,這是利用硬體中斷來設計定時的機制,社員們可以比較在9/27日發表「單顆LED控制」,利用硬體時間中斷來進行工作,會使CPU變得更有效率。接下來我們把它改造成簡易型即時作業系統,把LED右移程式單獨移出變成Job1()函式,如下圖:

接下來利用switch來進行工作分配,並撰寫Job2工作-LED左移,程式如下圖:

社員們應該會發現Job2比Job1快兩倍。
以下的功能您能做得到嗎?
P1上的LED比P0的LED左移速率快一倍。
P2上的LED比P1的LED左移速率快一倍。
P3上的LED比P2的LED左移速率快一倍。

三行指令完成位元圖的顯示工作

在設計程式時,我們經常會想將一張位元圖顯示在畫面上,本篇文章告訴您輕輕鬆鬆地三行指令完成位元圖的顯示的顯示工作。

一、宣告變數
private Bitmap mBitmap;

二、抓圖
mBitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.icon);
三、秀圖
canvas.drawBitmap(mBitmap, 50, y, null);

如何把ApiDemos中取得程式,設計成自己的專案。

1.先執行找到您要的功能,並在ApiDemos中找到原始程式,本例子選擇Button1。

2.找到類別名稱,將它複製到剪貼簿。

3.選擇建立新專案,設定新值然後再按下Finish鍵。

4.回到ApiDemos檔案,比對新建立的程式,可以發現在setContentView()函式中,所使用的佈局常數不同。

5.找到res目錄下的layout中,找到相對的資源檔,然後切換到XML模式,並將它全選複製。

6.再回到我們的資源檔res/layout.main.xml上,貼上該資源檔,按下存檔鍵。

7.此時會產生錯誤是因為該字串不存在。

8.回到ApiDemos中的value/string.xml利用搜尋功能找到該字串。

9.將找到的字串,貼在我們所建新專案上vlaue/string.xml上,按下存檔即可執行。

社員可以重複上述的動作,訓練將ApiDemos中,把你想到的程式抽離出來。