1android應用編程學習

可以到這個博客看看: 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功能的!

  1. package com.ray.test;   
  2. import java.util.Timer;   
  3. import java.util.TimerTask;   
  4. import android.app.Activity;   
  5. import android.os.Bundle;   
  6. import android.os.Handler;   
  7. import android.os.Message;   
  8. public class TestTimer extends Activity {   
  9. Timer timer = new Timer();   
  10. Handler handler = new Handler(){   
  11. public void handleMessage(Message msg) {   
  12. switch (msg.what) {   
  13. case 1:   
  14. setTitle("hear me?");   
  15. break;   
  16. }   
  17. super.handleMessage(msg);   
  18. }   
  19. };   
  20. TimerTask task = new TimerTask(){   
  21. public void run() {   
  22. Message message = new Message();   
  23. message.what = 1;   
  24. handler.sendMessage(message);   
  25. }   
  26. };   
  27. public void onCreate(Bundle savedInstanceState) {   
  28. super.onCreate(savedInstanceState);   
  29. setContentView(R.layout.main);   
  30. timer.schedule(task, 10000);   
  31. }   

 

 
 

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章