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

創(chuàng)新互聯(lián)是專業(yè)的青岡網(wǎng)站建設公司,青岡接單;提供網(wǎng)站設計制作、成都做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行青岡網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
1. 環(huán)境搭建
- Ubuntu+eclipse+ADT
2. Android 啟動很慢?
沒辦法,確實是很慢,等著吧,普遍說法是啟動***次后不關閉,以后的就是部署了要快不少的,經(jīng)測試,確實是要快一些的。最不能讓我接受的是居然連點擊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開發(fā),我們首先要注意到它的編譯是智能的,進入Preferences 并啟用動態(tài)構建(workbench>Build automatically)。這樣的話,當我們每次保存文件時,Eclipse將會自動編譯該文嘉以及依賴于該文件的文件。因此,當我們想運行應用程序的時候,它基本已經(jīng)保存好并且是***版本了。在處理大型代碼量時,著可以節(jié)約不少時間。
4.關于布局
買來的書是基于以前版本的(Android SDK 1.0r2),對控件的布局還是android:layout_x=”61px”,現(xiàn)在已經(jīng)要android:layout_marginLeft=”61px” 這樣寫了,不然不起作用的。好奇的是還必須是px值,不然編譯器就報錯了,編譯器還能識別字符串里的內(nèi)容!果然強大。
5. 要在TextView中顯示網(wǎng)址需要在TextView節(jié)點中加入android:autoLink = “all”
6. 常數(shù)(res\values) 這個文件夾下定義項目中要用到的所有常數(shù),預先定義好,是編程的一個好習慣。例如:
(1)定義顏色常量(color.xml)
#808080FF #FFFFFFFF
(2)定義字符串常量(strings.xml)
Hello World Android Test Android 帳號 密碼
定義好了怎么用呢,有兩種引用方式:
(1)標記引用:android:text=”@string/str_id”
(2)代碼引用:
- Resources resources = getBaseContenxt().getResources();
- Drawable HippoDrawable = resources.getDrawable(R.drawable.white);
- //String aa = resources.getString(R.string.app_name);
- //String bb = getString(R.string.app_name);
- TextView tv= (TextView)findViewByID(R.id.text);
- tv.setBackground(HippoDrawable);
- // 當然可以通過使用graphics.Color 這個android默認的顏色來使用,但是只有12種常見的顏色
- /×
- Color.BLACK
- Color.BLUE
- Color.CYAN
- Color.DKGRAY
- Color.GRAY
- Color.GREEN
- Color.LIGRAY
- Color.MAGENTA
- Color.REN
- Color.TRANSPARENT
- Color.WHITE
- Color.YELLOW
- ×/
- view sourceprint?1 7.獲取手機的分辨率
- view sourceprint?1 這個就是Android與ios的不同,這個系統(tǒng)被不同的手機廠商使用,造出的機器也就大小各異了,而蘋果的系統(tǒng)只有他自己用,所以能做到統(tǒng)一。
- view sourceprint?1 DisplayMetrice dm = new DisplayMetrice();
- getWindowManager().getDefaultDisplay().getMetrice(dm);
- string strOpt="手機分辨率為:"dm.widthPixels + " x " + dm.heightPixels;
#p#
7.Style樣式的定義
老是要一個個指定文字的大小,顏色也不是辦法的啊,所以也就有類似CSS樣式來登場了。樣式表文件取名為:style.xml放在res/values/style.xml 位置
定義樣式示例:
- view sourceprint?01
view sourceprint?1 怎么用呢?下面為main.xml文件中的兩個TextView應用不同的樣式。
8.頁面切換
(1)在同一個activity 中利用setContentView來置換頁面(在res\layout\下定義main.xml 和mylayout.xml)
通過setContentView(R.layout.mylayout);setContentView(R.layout.main)來在兩個layout中切換。在此有個優(yōu)點:即所有的程序里的變量
都存在相同的狀態(tài),無論是類成員變量,類函數(shù)等,皆可以在一個Activiy的狀態(tài)中直接取得,并沒有參數(shù)傳遞的問題。
(2)調(diào)用另一個Activity
- /× new 一個 Intent 對象,并指定要啟動的Class×/
- Intent intent = new Intent();
- intent.setClass(TestAndroid.this,TestAndroid2.class);
- startActivity(intent);
- TestAndroid.this.finish();
view sourceprint?1 當系統(tǒng)中新添加Activity時,必須在AndroidManifest.xml里定義一個新的activity:
否則系統(tǒng)將會因為找不到Activity而發(fā)生編譯錯誤。
另外,當程序中出現(xiàn)兩個以上的Activity時,系統(tǒng)要決定主程序是哪一支(entry point)
其中有一行為
而不是其他的,這個是必須定義一個的,如果xml中沒有一個定義了,那么程序?qū)⒉粫拥摹?/p>
(3)不同的Activity之間的數(shù)據(jù)傳遞
- Intent intent = new Intent();
- intent.setClass(TestAndroid.this,TestAndroid2.class);
- //new 一個bundle對象,并將要傳遞的數(shù)據(jù)傳入
- Bundle bundle = new Bundle();
- bundle.putDouble("height",height);
- bundle.putString("Sex",sex);
- //將Bundle對象assign給Intent
- intent.putExtras(bundle);
- startActivity(intent);
- TestAndroid.this.finish();
那么在TestAndroid2如何取得來自TestAndroid的數(shù)據(jù)呢,是這樣子的 view sourceprint?1 //取得Intent中的Bundle對象
- Bundle bunde = this.getIntent().getExtras();
- String sex = bunde.getString("Sex");
- double height = bunde.getDouble("height");
這樣就取到數(shù)據(jù)了,除了上述簡單的傳遞類型之外,還有String[]和ArrayList
(4)返回數(shù)據(jù)到前一個Activity
在***個Activity這樣開始數(shù)據(jù)初始化
- view sourceprint?01 Intent intent = new Intent();
- intent.setClass(TestAndroid.this,TestAndroid2.class);
- //new 一個bundle對象,并將要傳遞的數(shù)據(jù)傳入
- Bundle bundle = new Bundle();
- bundle.putDouble("height",height);
- bundle.putString("Sex",sex);
- //將Bundle對象assign給Intent
- intent.putExtras(bundle);
- //調(diào)用Activity TestAndroid2
- startActivityForResult(intent,0);
在第二個Activity中取到數(shù)據(jù)后(按上一種方法取),使用完畢,這樣返回 view sourceprint?1 //返回result 回上一個activity
- TestAndroid2.this.setResult(RESULT_OK, intent);
- //結束這個activity
- TestAndroid2.this.finish();
回到***個Activity是這樣來取得返回的數(shù)據(jù)
- view sourceprint?01 //覆蓋 onActivityResult()
- Protcted void onActivityResult(int requestCode,int resultCode,Intent data)
- {
- switch(resultCode)
- {
- case: RESULT_OK:
- Bundle bunde = data.getExtras();
- String sex=bunde.getString("Sex");
- double height = bunde.getDouble("height");
- ...
- }
如果要在次頁面加上一個“回上頁”的按鈕,而非通過模擬器的回復鍵,且回上頁后又能保留之前輸入的相關信息,那么就必須使用startActivityForResult()來喚起一個Activity。利用這個方法,前一哦Activity1便會有一個等待次Activity2的返回,而返回的數(shù)據(jù)就可以達到我們想要的結果。
本文標題:Android2.1學習筆記
鏈接URL:http://fisionsoft.com.cn/article/cdceddg.html


咨詢
建站咨詢
