Atomics Operation - 提供完整不受干擾的運算
整數 atomic_t
定義在asm/atomic.h中
宣告方式
西西 發表在 痞客邦 留言(0) 人氣(1,928)
現在的Keyboard通常會附多媒體鍵,不過預設值打開可能就是討人厭音質又差的Windows Media Player
如果我們希望這些鍵可以按下去是開啟我們想要的軟體,此時通常要裝Driver,問題是有時候會找不到driver,那也沒關係,直接改機碼就可以囉,以下是說明
先執行 regedt32
機碼存在於 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\ 之下
西西 發表在 痞客邦 留言(2) 人氣(2,575)
由於Android app 安裝到手機上的位置是開發人員無法得知的(或許有辦法,不過目前我不知道),所以取得專案的檔案就必須透過其內部的機制達成
我們通常是透過 android.content.Context 取得(Context要另外寫一篇文章了),別擔心,我們常寫的Activity就是繼承Context,所以要取得Context是非常容易的事。
大致上要取得檔案都會跟Context 中的getResources()有關。getResources()會回傳Resources物件,利用這個物件可以得到很多我們需要access的資源。
1. 取得圖檔 :
BitmapFactory.Options option = new BitmapFactory.Options();
Bitmap a1 = BitmapFactory.decodeResource(getResources(), R.drawable.a1, option);
a1就是取得的Bitmap檔,關於Bitmap的操作會在另一篇文章中說明。
2.取得XML檔:
XmlResourceParser parser = this.getResources().getXml(R.xml.aaa);
可以利用parser取得這個xml的資料,parser又是另一個故事了。
西西 發表在 痞客邦 留言(0) 人氣(3,668)
如果我們想要在另一個Thread中操控 UI ,在Swing中我們可以直接使用(可能會有些問題,不過還是可以直接用),不過,在Android就不行了。
如果我們直接使用的話,會丟出一個 android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views 錯誤
我們必須透過Message的傳遞來達到目的。
也蠻簡單的,
在要被操作的UI物件中(如View)宣告一個 android.os.Handler 物件,
然後覆寫public void handleMessage(Message msg),在該方法中便可以對UI進行操作。
而在Thread中則負責送出android.os.Message 物件到該 Handler。
這樣說好像不夠清楚,看一下code就懂了
// 做一個可以利用Thread修改的View
public class MyView extends View implements Runnable
{
西西 發表在 痞客邦 留言(1) 人氣(30,142)