可以到這個博客看看: http://blog.csdn.net/hellogv
1 資源文件的使用
1.1 資源文件的管理
資源目錄的層級結構如下表所示,表中顯示了Android SDK支持的資源類型以及它們在工程中的存儲方式。
資源類型 所需的目錄 文件名 適用的關鍵XML元素
字符串 /res/values/ strings.xml(推薦) <string>
字符串數組 /res/values/ arrays.xml(推薦) <string-array>
顏色值 /res/values/ colors.xml(推薦) <color>
尺寸 /res/values/ dimens.xml(推薦) <dimen>
簡單Drawable圖形 /res/values/ drawables.xml(推薦) <drawable>
位圖圖像 /res/drawable/ 例:.png,.jpg,red_oval.xml等等 支持的圖形文件或XML文件定義的
Drawable圖形
動畫序列(補間) /res/anim/ 例:fancy_anim.xml等等 <set>、<alpha>、<scale>、<rotate>等
菜單文件 /res/menu/ 例:my_menu.xml <menu>
XML文件 /res/xml/ 例:some.xml 由開發人員定義
原始文件 /res/raw/ 例:xx.mp3,yy.txt等等
佈局文件 /res/layout/ 例:main.xml等
樣式和主題 /res/values/ 例:themes.xml <style>
1.2資源文件的創建
創建完工程後,在Eclipse中定位至/res/values/strings.xml文件,雙擊可以編輯它。我們可以使用Resources標籤下的Add按鈕添加幾個資源。
。也可以切換到源文件編輯模式。定義的如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, ActivityIntent!</string> <string name="app_name">ActivityIntent</string> <string name="prompt">The Activity and The Intent test!</string> <string name="myButton">測試</string> <string name="other">另一個Activity</string> <string name="dialBtn">電話按鈕</string> </resources>
保存Strings.xml文件。Eclipse插件講將自動在你的工程中生成R.java文件,並含有適當的資源ID,以供編譯之後使用程序訪問這些資源。如果你定位到/gen/目錄下的R.java文件,你可以看到:
public static final class string {
public static final int app_name=0x7f040001;
public static final int dialBtn=0x7f040005;
public static final int hello=0x7f040000;
public static final int myButton=0x7f040003;
public static final int other=0x7f040004;
public static final int prompt=0x7f040002;
}
1.3 資源的讀取
當我們創建好資源並保存後,我們變可以在程序用通過資源的ID來使用資源了。
比如說,我們獲取資源ID爲hello的內容:
String str = getResources().getString(R.string.hello);
2 自動導入需要的類(eclipse):ctrl+shift+o
3 android Timer的使用
一種用法:
package com.ray.test; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; public class JavaTimer extends Activity { Timer timer = new Timer(); TimerTask task = new TimerTask(){ public void run() { setTitle("hear me?"); } }; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); timer.schedule(task, 10000); } }
但爲了Android的線程安全,實際上的用法應該通過配合Handler來實現Android Timer功能的!
- package com.ray.test;
- import java.util.Timer;
- import java.util.TimerTask;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- public class TestTimer extends Activity {
- Timer timer = new Timer();
- Handler handler = new Handler(){
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case 1:
- setTitle("hear me?");
- break;
- }
- super.handleMessage(msg);
- }
- };
- TimerTask task = new TimerTask(){
- public void run() {
- Message message = new Message();
- message.what = 1;
- handler.sendMessage(message);
- }
- };
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- timer.schedule(task, 10000);
- }
- }