1、specify :指定
2、Nested:嵌套
3、啟動模擬器時出現錯誤信息“Please ensure that adb is correctly located at:XXXXX”的解決方法
現象:使用正確的源代碼,在啟動模擬器時出現如下錯誤信息
“Please ensure that adb is correctly located at 'D:\AndroidSDK4.0\android-sdk-windows\platform-tools\adb.exe' and can be executed.”
解決方法:將D:\AndroidSDK4.0\android-sdk-windows\platform-tools加入到系統環境變量PATH中。上了還這樣,怎麼辦呢?
運行android程序控制台輸出
[2012-07-18 16:18:26 - ] The connection to adb is down, and a severe error has occured.
[2012-07-18 16:18:26 - ] You must restart adb and Eclipse.
[2012-07-18 16:18:26 - ] Please ensure that adb is correctly located at 'D:\java\sdk\platform-tools\adb.exe' and can be executed.
解決問題:
百度google大家多說的是任務管理器 kill掉adb 或者重啟adb server,但我任務管理器就沒有adb ,猜測是某個程序占用了adb端口。於是按此思路查找。
adb kill-server
adb start-server
5037為adb默認端口 查看該端口情況如下(這個我以前就知道,可是卻沒想起來用,不過我記錄了下來狡猾):
netstat -aon|findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 6540
發現6540占用了 5037端口,繼續查看6540的task,發現是wandoujia .如下所示
tasklist|findstr "6540"
wandoujia_daemon.exe 6540 Console 1 4,276 K
接下來問題就好解決了,在任務管理器kill掉wandoujia_daemon.exe ,運行android程序,ok .
4、摘要:summary,abstract
5、xml布局文件是android系統中定義控件的常用方法,這樣做的目的與好處是顯而易見的,使程序代碼與圖形UI分離,方便代碼及圖形UI的各自維護。
xml布局文件必須包含在res/layout目錄中,且每一個xml布局文件的根節點可以是任意的視圖標簽。為xml文件布局中的標簽指定id時需要使使用如下形式:
android:id=“@+id/標簽名稱”
每一個標簽的id都會在R類中生成與之對應的變量,該標簽名稱便保存在R文件當中了。
如果是要使用xml布局文件,則需要在oncreate方法中使用setContentView來加載指定的xml布局文件。加載方法如下:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
6、如何控制某一控件在父控件中的相對位置呢?
在Android系統中提供了layout_margin,用來控制某一控件邊緣相對於父控件的邊距。
其中,android:layout_marginTop表示某一控件相對於父控件頂部的距離。android:layout_marginLeft表示某一控件相對於父控件左邊框的距離。android:layout_marginRight表示某一控件相對於父控件右邊框的距離。android:layout_marginButtom表示某一控件相對於父控件底部的距離。
7、如何控制某一控件中內容在該控件中的相對位置呢?
在Android系統中提供了padding,用來控制某一控件中內容相對於該控件邊緣的邊距。
其中,android:paddingTop表示某一控件中的內容相對於該控件邊緣頂部的距離。android:paddingLeft表示某一控件中的內容相對於該控件左邊緣的距離。android:paddingRight表示某一控件中的內容相對於該控件右邊緣的距離。android:paddingButtom表示某一控件中的內容相對於該控件邊緣底部的距離。
8、android:gravity和android:layout_gravity的區別
android:gravity用於設置View組件的對齊方式,而android:layout_gravity用於設置Container組件的對齊方式。
舉個例子,我們可以通過設置android:gravity="center"來讓EditText中的文字在EditText組件中居中顯示;同時我們設置EditText的android:layout_gravity="right"來讓EditText組件在LinearLayout中居中顯示。
9、Padding 與 margin 區別
padding填充的意思,指的是view中的content與view邊緣的距離,類似文本中的indent,而margin表示的是view的左邊緣與parent view的左邊緣的距離;margin一般用來描述控件間位置關系,而padding一般描述控件內容和控件的位置關系。
10、線性布局可以分為水平和垂直方向的布局,可以通過android:orientation來定義方向,android:orientation=“horizontal”表示水平方向,android:orientation=“vertical”表示垂直方向。android:layout_width表示控件的寬度,android_layout_height表示控件的高度,其屬性值有wrap_content、fill_parent、match_parent三種。其中,wrap_content表示填滿父控件的空白,fill_parent表示大小剛好足夠顯示當前控件裡的內容,match_parent與fill_parent作用是相同的。
android:layout_weight表示控件的權重,描述了控件所占的比例有多大。所有的視圖都有layout_weight值,其默認為零,表示需要顯示多大的視圖就占據多大的屏幕空間。若賦一個高於零的值,則將父視圖中的可用空間分割,分割大小具體取決於每一個視圖的layout_weight值以及該值在當前屏幕布局的整體layout_weight值和在其它視圖屏幕布局的layout_weight值中所占的比率而定。
11、框架布局中的子視圖總是被繪制到相對於屏幕的左上角上。所有添加到這個布局中的視圖都是以層疊的方式顯示。第一個添加到框架布局中的視圖顯示在最底層,最後一個被放在最頂層,上一層的視圖會覆蓋下一層的視圖,因此框架布局類似堆棧布局。
在框架布局中,常用的屬性有以下幾項:
android:top將視圖放到屏幕的頂端
android:Buttom將視圖放到屏幕的低端
android:Left將視圖放到屏幕的左端
android:Right將視圖放到屏幕的右端
android:Center_vertical將視圖按照垂直方向居中顯示
android:Center_horizontal將視圖按照水平方向居中顯示