日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Android2.1學(xué)習(xí)筆記

Android 2.0升級(jí)到Android  2.1之后將會(huì)獲得以下的更新:3D的圖片庫(kù)、語(yǔ)音輸入、新聞和天氣插件、改進(jìn)的鎖定模式以及pinch-to-zoom 。當(dāng)然對(duì)于大家之前十分關(guān)注的動(dòng)態(tài)壁紙?jiān)贒roid的Android  2.1中也會(huì)加入。但是MOTO也會(huì)使得自己的Droid擁有一定的個(gè)性,例如他們就不會(huì)加入Nexus One中的3D程序界面,不過(guò)這樣已經(jīng)很好了,我們現(xiàn)在就是希望能夠更早的得到Android  2.1的推送。

創(chuàng)新互聯(lián)是專(zhuān)業(yè)的青岡網(wǎng)站建設(shè)公司,青岡接單;提供網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行青岡網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

1. 環(huán)境搭建

 
 
 
  1. Ubuntu+eclipse+ADT 

2. Android 啟動(dòng)很慢?

沒(méi)辦法,確實(shí)是很慢,等著吧,普遍說(shuō)法是啟動(dòng)***次后不關(guān)閉,以后的就是部署了要快不少的,經(jīng)測(cè)試,確實(shí)是要快一些的。最不能讓我接受的是居然連點(diǎn)擊Home鍵都是很慢的呢。

3.R.layout.main cannot be resolved

剛寫(xiě)了一行就出了這么個(gè)錯(cuò)誤,讓我沒(méi)有一點(diǎn)脾氣的來(lái)查找原因。

解決方案:

(1)刪除第三行的“import android.R” 注:我不知道是什么時(shí)候加進(jìn)來(lái)的。

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

原因分析:

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

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

4.關(guān)于布局

買(mǎi)來(lái)的書(shū)是基于以前版本的(Android SDK 1.0r2),對(duì)控件的布局還是android:layout_x=”61px”,現(xiàn)在已經(jīng)要android:layout_marginLeft=”61px” 這樣寫(xiě)了,不然不起作用的。好奇的是還必須是px值,不然編譯器就報(bào)錯(cuò)了,編譯器還能識(shí)別字符串里的內(nèi)容!果然強(qiáng)大。

5. 要在TextView中顯示網(wǎng)址需要在TextView節(jié)點(diǎn)中加入android:autoLink = “all”

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

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

 
 
 
  1.     
  2.      
  3.      #808080FF    
  4.      #FFFFFFFF    
  5.    

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

 
 
 
  1.     
  2.      
  3.      Hello World Android    
  4.      Test Android     
  5.      帳號(hào)    
  6.      密碼    
  7.   

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

(1)標(biāo)記引用: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.  // 當(dāng)然可以通過(guò)使用graphics.Color 這個(gè)android默認(rèn)的顏色來(lái)使用,但是只有12種常見(jiàn)的顏色    
  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.獲取手機(jī)的分辨率   
  2. view sourceprint?1 這個(gè)就是Android與ios的不同,這個(gè)系統(tǒng)被不同的手機(jī)廠商使用,造出的機(jī)器也就大小各異了,而蘋(píng)果的系統(tǒng)只有他自己用,所以能做到統(tǒng)一。   
  3. view sourceprint?1 DisplayMetrice dm = new DisplayMetrice();    
  4. getWindowManager().getDefaultDisplay().getMetrice(dm);    
  5. string strOpt="手機(jī)分辨率為:"dm.widthPixels + " x " + dm.heightPixels;  

#p#

7.Style樣式的定義

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

定義樣式示例:

 
 
 
  1. view sourceprint?01     
  2.      
  3.          
  4.          18sp    
  5.          #EC9237  
  6.     
  7.          
  8.          
  9.          18sp    
  10.          #EC9237    
  11.         0.0    
  12.          0.0    
  13.          
  14.    

view sourceprint?1 怎么用呢?下面為main.xml文件中的兩個(gè)TextView應(yīng)用不同的樣式。

 
 
 
  1.     
  2.     
  3.  

8.頁(yè)面切換

(1)在同一個(gè)activity 中利用setContentView來(lái)置換頁(yè)面(在res\layout\下定義main.xml 和mylayout.xml)

通過(guò)setContentView(R.layout.mylayout);setContentView(R.layout.main)來(lái)在兩個(gè)layout中切換。在此有個(gè)優(yōu)點(diǎn):即所有的程序里的變量

都存在相同的狀態(tài),無(wú)論是類(lèi)成員變量,類(lèi)函數(shù)等,皆可以在一個(gè)Activiy的狀態(tài)中直接取得,并沒(méi)有參數(shù)傳遞的問(wèn)題。

(2)調(diào)用另一個(gè)Activity

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

view sourceprint?1 當(dāng)系統(tǒng)中新添加Activity時(shí),必須在AndroidManifest.xml里定義一個(gè)新的activity:

 
 
 
  1.  
  2.   

否則系統(tǒng)將會(huì)因?yàn)檎也坏紸ctivity而發(fā)生編譯錯(cuò)誤。

另外,當(dāng)程序中出現(xiàn)兩個(gè)以上的Activity時(shí),系統(tǒng)要決定主程序是哪一支(entry point)

 
 
 
  1.    
  2.         
  3.         
  4.         
  5.         
  6.    

其中有一行為 ,這就代表程序啟動(dòng)時(shí)候,會(huì)先啟動(dòng)這個(gè)Activity,

而不是其他的,這個(gè)是必須定義一個(gè)的,如果xml中沒(méi)有一個(gè)定義了,那么程序?qū)⒉粫?huì)啟動(dòng)的。

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

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

那么在TestAndroid2如何取得來(lái)自TestAndroid的數(shù)據(jù)呢,是這樣子的 view sourceprint?1 //取得Intent中的Bundle對(duì)象 

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

這樣就取到數(shù)據(jù)了,除了上述簡(jiǎn)單的傳遞類(lèi)型之外,還有String[]和ArrayList等封裝的方式。不知道能不能對(duì)Bundle 做C#中的擴(kuò)展方法來(lái)傳遞自己的對(duì)象?需要研究一下。

(4)返回?cái)?shù)據(jù)到前一個(gè)Activity

在***個(gè)Activity這樣開(kāi)始數(shù)據(jù)初始化

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

在第二個(gè)Activity中取到數(shù)據(jù)后(按上一種方法?。褂猛戤?,這樣返回 view sourceprint?1 //返回result 回上一個(gè)activity 

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

回到***個(gè)Activity是這樣來(lái)取得返回的數(shù)據(jù)

 
 
 
  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.      }  

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


當(dāng)前標(biāo)題:Android2.1學(xué)習(xí)筆記
轉(zhuǎn)載源于:http://www.5511xx.com/article/cdceddg.html