成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android 2.1學習筆記

移動開發 Android
Android 2.1: 2009 年 10 月 26 日,又一個主要版本升級以創紀錄的速度放出。這次,大版本升級到了Android 2.1 “Eclair.”。

Android 2.0升級到Android  2.1之后將會獲得以下的更新:3D的圖片庫、語音輸入、新聞和天氣插件、改進的鎖定模式以及pinch-to-zoom 。當然對于大家之前十分關注的動態壁紙在Droid的Android  2.1中也會加入。但是MOTO也會使得自己的Droid擁有一定的個性,例如他們就不會加入Nexus One中的3D程序界面,不過這樣已經很好了,我們現在就是希望能夠更早的得到Android  2.1的推送。

1. 環境搭建

  1. Ubuntu+eclipse+ADT 

2. Android 啟動很慢?

沒辦法,確實是很慢,等著吧,普遍說法是啟動***次后不關閉,以后的就是部署了要快不少的,經測試,確實是要快一些的。最不能讓我接受的是居然連點擊Home鍵都是很慢的呢。

3.R.layout.main cannot be resolved

剛寫了一行就出了這么個錯誤,讓我沒有一點脾氣的來查找原因。

解決方案:

(1)刪除第三行的“import android.R” 注:我不知道是什么時候加進來的。

(2)勾選Eclipse中的“Project->Build Automatically”

原因分析:

(1)刪除“import andorid R”之后工程就是從/res文件夾下自動生成哦資源我呢間里去解析了,否則它會從Android的資源類里去找。

使用Eclipse進行Java開發,我們首先要注意到它的編譯是智能的,進入Preferences 并啟用動態構建(workbench>Build automatically)。這樣的話,當我們每次保存文件時,Eclipse將會自動編譯該文嘉以及依賴于該文件的文件。因此,當我們想運行應用程序的時候,它基本已經保存好并且是***版本了。在處理大型代碼量時,著可以節約不少時間。

4.關于布局

買來的書是基于以前版本的(Android SDK 1.0r2),對控件的布局還是android:layout_x=”61px”,現在已經要android:layout_marginLeft=”61px” 這樣寫了,不然不起作用的。好奇的是還必須是px值,不然編譯器就報錯了,編譯器還能識別字符串里的內容!果然強大。

5. 要在TextView中顯示網址需要在TextView節點中加入android:autoLink = “all”

6. 常數(res\values) 這個文件夾下定義項目中要用到的所有常數,預先定義好,是編程的一個好習慣。例如:

(1)定義顏色常量(color.xml)

  1. <?xml version="1.0" encoding="utf-8" >    
  2.  <resources>    
  3.      <drawable name="darkgray">#808080FF</drawable>    
  4.      <drawable name="white">#FFFFFFFF</drawable>    
  5.  </resources>  

(2)定義字符串常量(strings.xml)

  1. <?xml version="1.0" encoding="utf-8" >    
  2.  <resources>    
  3.      <string  name="hello">Hello World Android</drawable>    
  4.      <string name="app_name">Test Android </drawable>    
  5.      <string  name="str_id">帳號</drawable>    
  6.      <string name="str_pwd">密碼</drawable>    
  7.  </resources> 

定義好了怎么用呢,有兩種引用方式:

(1)標記引用:android:text=”@string/str_id”

(2)代碼引用:

  1. Resources resources = getBaseContenxt().getResources();    
  2.  Drawable HippoDrawable = resources.getDrawable(R.drawable.white);    
  3.  //String aa = resources.getString(R.string.app_name);    
  4.  //String bb = getString(R.string.app_name);    
  5.  TextView tv= (TextView)findViewByID(R.id.text);    
  6.  tv.setBackground(HippoDrawable);    
  7.  // 當然可以通過使用graphics.Color 這個android默認的顏色來使用,但是只有12種常見的顏色    
  8.  /×    
  9.  Color.BLACK    
  10.  Color.BLUE    
  11.  Color.CYAN    
  12.  Color.DKGRAY    
  13.  Color.GRAY    
  14.  Color.GREEN    
  15.  Color.LIGRAY    
  16.  Color.MAGENTA    
  17.  Color.REN    
  18.  Color.TRANSPARENT    
  19.  Color.WHITE    
  20.  Color.YELLOW    
  21.  ×/  
  1. view sourceprint?1 7.獲取手機的分辨率   
  2. view sourceprint?1 這個就是Android與ios的不同,這個系統被不同的手機廠商使用,造出的機器也就大小各異了,而蘋果的系統只有他自己用,所以能做到統一。   
  3. view sourceprint?1 DisplayMetrice dm = new DisplayMetrice();    
  4. getWindowManager().getDefaultDisplay().getMetrice(dm);    
  5. string strOpt="手機分辨率為:"dm.widthPixels + " x " + dm.heightPixels;  

#p#

7.Style樣式的定義

老是要一個個指定文字的大小,顏色也不是辦法的啊,所以也就有類似CSS樣式來登場了。樣式表文件取名為:style.xml放在res/values/style.xml 位置

定義樣式示例:

  1. view sourceprint?01 <?xml version="1.0" encoding="utf-8" >    
  2.  <resources>    
  3.      <style name=DavidStyleText11>    
  4.          <item name="android:textSize">18sp</item>    
  5.          <item name="and<SCRIPT type=text/javascript> 
  6. <!--mce:0--> 
  7. </SCRIPT><SCRIPT type=text/javascript> 
  8. <!--mce:1--> 
  9. </SCRIPT><SCRIPT type=text/javascript> 
  10. <!--mce:2--> 
  11. </SCRIPT><SCRIPT type=text/javascript> 
  12. <!--mce:3--> 
  13. </SCRIPT><SCRIPT type=text/javascript> 
  14. <!--mce:4--> 
  15. </SCRIPT>roid:textColor">#EC9237  
  16. </item>    
  17.      </style>    
  18.      <style name=DavidStyleText22>    
  19.          <item name="android:textSize">18sp</item>    
  20.          <item name="android:textColor">#EC9237</item>    
  21.         <item name="android:fromAlphar">0.0</item>    
  22.          <item name="android:toAlphar">0.0</item>    
  23.      </style>    
  24.  </resources>  

view sourceprint?1 怎么用呢?下面為main.xml文件中的兩個TextView應用不同的樣式。

  1. <?xml version="1.0" encoding="utf-8" >    
  2. <TextView style = "@style/DavidStyleTest11"/>    
  3. <TextView style = "@style/DavidStyleTest22"/> 

8.頁面切換

(1)在同一個Activity 中利用setContentView來置換頁面(在res\layout\下定義main.xml 和mylayout.xml)

通過setContentView(R.layout.mylayout);setContentView(R.layout.main)來在兩個layout中切換。在此有個優點:即所有的程序里的變量

都存在相同的狀態,無論是類成員變量,類函數等,皆可以在一個Activiy的狀態中直接取得,并沒有參數傳遞的問題。

(2)調用另一個Activity

  1. /× new 一個 Intent 對象,并指定要啟動的Class×/    
  2.  Intent intent = new Intent();    
  3.  intent.setClass(TestAndroid.this,TestAndroid2.class);    
  4.  startActivity(intent);    
  5.  TestAndroid.this.finish();  

view sourceprint?1 當系統中新添加Activity時,必須在AndroidManifest.xml里定義一個新的activity:

  1. <activity android:name=”TestAndroid2”> 
  2. </activity>  

否則系統將會因為找不到Activity而發生編譯錯誤。

另外,當程序中出現兩個以上的Activity時,系統要決定主程序是哪一支(entry point)

  1. <activity android:name=”.TestAndroid” android:lable="@string/app_name">   
  2.      <intent-filter>   
  3.      <action android:name="android.intent.action.MAIN"/>   
  4.      <category android:name="android.intent.catetory.LAUNCHER"/>   
  5.      </intent-filter>   
  6.  </activity>  

其中有一行為<category android:name="android.intent.catetory.LAUNCHER"/> ,這就代表程序啟動時候,會先啟動這個Activity,
 

而不是其他的,這個是必須定義一個的,如果xml中沒有一個定義了,那么程序將不會啟動的。

(3)不同的Activity之間的數據傳遞

  1. Intent intent = new Intent();   
  2. intent.setClass(TestAndroid.this,TestAndroid2.class);       
  3.  //new 一個bundle對象,并將要傳遞的數據傳入   
  4.  Bundle bundle = new Bundle();   
  5.  bundle.putDouble("height",height);   
  6.  bundle.putString("Sex",sex);   
  7.  //將Bundle對象assign給Intent   
  8.  intent.putExtras(bundle);   
  9.  startActivity(intent);   
  10.  TestAndroid.this.finish();  

那么在TestAndroid2如何取得來自TestAndroid的數據呢,是這樣子的 view sourceprint?1 //取得Intent中的Bundle對象 

  1. Bundle bunde = this.getIntent().getExtras();   
  2. String sex = bunde.getString("Sex");   
  3. double height = bunde.getDouble("height"); 

這樣就取到數據了,除了上述簡單的傳遞類型之外,還有String[]和ArrayList<String>等封裝的方式。不知道能不能對Bundle 做C#中的擴展方法來傳遞自己的對象?需要研究一下。

(4)返回數據到前一個Activity

在***個Activity這樣開始數據初始化

  1. view sourceprint?01 Intent intent = new Intent();   
  2. intent.setClass(TestAndroid.this,TestAndroid2.class);   
  3. //new 一個bundle對象,并將要傳遞的數據傳入   
  4. Bundle bundle = new Bundle();   
  5. bundle.putDouble("height",height);   
  6. bundle.putString("Sex",sex);   
  7. //將Bundle對象assign給Intent   
  8. intent.putExtras(bundle);       
  9. //調用Activity TestAndroid2   
  10. startActivityForResult(intent,0);  

在第二個Activity中取到數據后(按上一種方法取),使用完畢,這樣返回 view sourceprint?1 //返回result 回上一個activity 

  1. TestAndroid2.this.setResult(RESULT_OK, intent);   
  2.  //結束這個activity   
  3.  TestAndroid2.this.finish(); 

回到***個Activity是這樣來取得返回的數據

  1. view sourceprint?01 //覆蓋 onActivityResult()   
  2.  Protcted void onActivityResult(int requestCode,int resultCode,Intent data)   
  3.  {   
  4.      switch(resultCode)   
  5.      {   
  6.       case: RESULT_OK:   
  7.      Bundle bunde = data.getExtras();   
  8.      String sex=bunde.getString("Sex");   
  9.      double height = bunde.getDouble("height");   
  10.     ...   
  11.      }  

如果要在次頁面加上一個“回上頁”的按鈕,而非通過模擬器的回復鍵,且回上頁后又能保留之前輸入的相關信息,那么就必須使用startActivityForResult()來喚起一個Activity。利用這個方法,前一哦Activity1便會有一個等待次Activity2的返回,而返回的數據就可以達到我們想要的結果。

【編輯推薦】

深度解析Android Activity初探

Android開發:Activity之間的傳值

Android應用之Activity傳參數與跳轉

Android Activity和Intent機制學習筆記

責任編輯:zhaolei 來源: 網絡轉載
相關推薦

2011-09-09 13:59:17

Android wid

2011-04-12 17:16:52

Activity跳轉開發實例Android學習筆記

2011-06-02 16:49:15

Android SDK 安裝

2011-09-07 10:34:48

Android Wid

2013-04-03 14:58:43

Android學習筆記實用代碼合集

2011-09-07 11:15:25

2010-01-14 09:08:24

Android 2.1

2010-03-04 16:42:59

2009-12-01 11:04:57

Android 2.1

2011-04-08 09:46:28

Layout.xmlAndroid

2011-05-30 14:00:35

Android Activity Intent

2011-03-30 17:32:28

androidmaniAndroid開發

2010-02-05 17:34:37

Android 2.1

2010-02-07 11:22:17

Android OS

2011-05-31 17:08:41

Android 網絡連接

2010-02-05 14:48:04

Android手機操作

2011-06-03 11:36:47

Android 移動設備

2010-01-13 17:41:40

Android 2.1

2009-07-14 16:08:41

WebWork學習

2011-03-17 16:43:49

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色呦呦网站 | 欧美另类视频在线 | 国产免费一区二区三区 | 免费国产一区二区 | 黄色网页在线观看 | 国产精品a级 | 国产精品久久久久久婷婷天堂 | 日本一区二区三区在线观看 | 日本一区二区三区视频在线 | 一区二区三区av夏目彩春 | 日韩在线不卡 | 国产精品久久久久久av公交车 | 久久精品视频一区二区三区 | 国内自拍真实伦在线观看 | 午夜影院| 在线中文av | 久久视频精品在线 | 欧洲精品久久久久毛片完整版 | 午夜小电影 | 久久国产福利 | 久久精品91久久久久久再现 | 亚洲成人免费在线观看 | 国产精品一区二区三级 | 激情国产在线 | 亚洲性视频 | 久久久久久久久久久久亚洲 | 日韩不卡在线 | 亚洲国产区 | 日韩在线看片 | 欧美一级网站 | 国产高清免费 | 国产精品精品视频一区二区三区 | 午夜一区二区三区视频 | 亚洲精品久久久一区二区三区 | 免费在线观看91 | 秋霞电影院午夜伦 | 在线欧美a| 日韩视频在线一区二区 | 亚洲精品黄色 | 亚洲夜射 | 国产精品综合色区在线观看 |