基于移動機器人的嵌入式開發(fā) 課件匯 劉業(yè)輝 11-Android開發(fā)環(huán)境搭建-20-嵌入式車型機器人綜合實訓_第1頁
基于移動機器人的嵌入式開發(fā) 課件匯 劉業(yè)輝 11-Android開發(fā)環(huán)境搭建-20-嵌入式車型機器人綜合實訓_第2頁
基于移動機器人的嵌入式開發(fā) 課件匯 劉業(yè)輝 11-Android開發(fā)環(huán)境搭建-20-嵌入式車型機器人綜合實訓_第3頁
基于移動機器人的嵌入式開發(fā) 課件匯 劉業(yè)輝 11-Android開發(fā)環(huán)境搭建-20-嵌入式車型機器人綜合實訓_第4頁
基于移動機器人的嵌入式開發(fā) 課件匯 劉業(yè)輝 11-Android開發(fā)環(huán)境搭建-20-嵌入式車型機器人綜合實訓_第5頁
已閱讀5頁,還剩338頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

北京工業(yè)職業(yè)技術學院嵌入式系統(tǒng)應用主講:

XXX老師Android開發(fā)環(huán)境搭建學習目標掌握了解熟悉開發(fā)環(huán)境的搭建13了解Android開發(fā)環(huán)境的組成?環(huán)境對系統(tǒng)的要求等2主流的開發(fā)環(huán)境Eclipse開發(fā)Android項目的步驟主講內(nèi)容主講內(nèi)容Speechcontent11.2JavaJDK下載和安裝11.3Android開發(fā)環(huán)境配置11.4新建一個Android工程11.1系統(tǒng)要求Eclipse+ADT+SDK是目前Android主流的開發(fā)環(huán)境,開發(fā)Android系統(tǒng)對計算機軟硬件也是有一定要求的。一般情況下,配置為I5處理器、4GB內(nèi)存、裝有Windows7(32位或64位)操作系統(tǒng)的計算機足以滿足日常開發(fā)需求。系統(tǒng)要求主講內(nèi)容主講內(nèi)容Speechcontent11.1系統(tǒng)要求11.3Android開發(fā)環(huán)境配置11.4新建一個Android工程11.2JavaJDK下載和安裝1.下載JDK因為Eclipse的運行需要JavaJDK的支持,所以要先確定計算機中是否已經(jīng)安裝好JavaJDK,如果有可以跳過這一小節(jié),如果沒有,可以在Oracle官方網(wǎng)站上下載JDK。

打開瀏覽器,在地址欄中輸入/index.html,進入Oracle官方網(wǎng)站,如圖所示。

JavaJDK下載和安裝選擇Download選項卡,選擇JavaforDevelopers,如圖所示。在跳轉(zhuǎn)的頁面中找到如圖所示的位置,單擊JDK下方的Download按鈕。

JavaJDK下載和安裝在新頁面中,找到圖所示位置。同意協(xié)議并根據(jù)計算機硬件和系統(tǒng)選擇適當?shù)陌姹具M行下載。

JavaJDK下載和安裝2.安裝JDK下載完JDK以后,就可以安裝JDK了。以下是JDK的具體安裝方法。雙擊可執(zhí)行安裝文件。雙擊完成后,彈出如圖所示的界面。單擊“下一步”按鈕,跳轉(zhuǎn)到定制安裝界面,如圖所示。

JavaJDK下載和安裝單擊第(2)步中出現(xiàn)的“下一步”按鈕,跳轉(zhuǎn)到安裝進度界面,如圖所示。安裝完JDK以后,會彈出JRE(JavaRuntimeEnvironment,Java運行環(huán)境)的安裝配置界面,如圖所示。單擊“更改”按鈕,更改JRE的安裝路徑。一般情況下會將JRE和JDK安裝到同一個文件夾下。

JavaJDK下載和安裝單擊圖中的“下一步”按鈕,跳轉(zhuǎn)到安裝進度顯示界面,如圖所示。安裝完成后,跳轉(zhuǎn)到安裝完成界面,單擊“關閉”按鈕,完成全部安裝,如圖所示。

JavaJDK下載和安裝主講內(nèi)容主講內(nèi)容Speechcontent11.1系統(tǒng)要求11.2JavaJDK下載和安裝11.4新建一個Android工程11.3Android開發(fā)環(huán)境配置解壓Android.zip到D盤根目錄下(建議路徑是純英文路徑),如圖所示。

Android開發(fā)環(huán)境配置進入Android目錄下的eclipse目錄下,雙擊eclipse。在啟動過程中,在圖所示對話框中選擇工作空間,也就是存放工程的地方(使用純英文路徑)。

Android開發(fā)環(huán)境配置選擇標題欄上的Window→Preferences命令,會彈出圖所示配置界面,選擇Android。

Android開發(fā)環(huán)境配置單擊Browse按鈕,選擇SDK目錄,如圖所示,單擊“確定”按鈕,系統(tǒng)環(huán)境搭建完畢。

Android開發(fā)環(huán)境配置主講內(nèi)容主講內(nèi)容Speechcontent11.1系統(tǒng)要求11.2JavaJDK下載和安裝11.3Android開發(fā)環(huán)境配置11.1新建一個Android工程作為Android開發(fā)的第一個程序,下面通過一個簡單的HelloAndroid程序。來了解Android開發(fā)的基本流程。11.4.1創(chuàng)建第一個Android項目(1)選擇標題欄上的File→New→AndroidApplicationproject命令,彈出圖所示界面。在該界面中需要輸入一些信息,其中主要包括如下幾點:ApplicationName(應用的名稱)。ProjectName(在Eclipse中該項目的名稱)。PackageName(存放Java類的包名稱,其實質(zhì)是存放的文件夾路徑,“.”號為文件分隔符,編寫的Java文件都會放在項目的src目錄下)。新建一個Android工程在圖中所示的界面中,還可以通過下拉列表選擇Android的最小響應版本、目標版本、編譯版本。這里建議選擇Android4.0及以上的版本。新建一個Android工程(2)一路單擊Next按鈕。最后單擊Finish按鈕,完成創(chuàng)建。創(chuàng)建完成后,結果如圖所示。新建一個Android工程11.4.2編寫第一個Android程序當運行完第一個Android項目以后,會發(fā)現(xiàn)程序默認輸出HelloWorld?,F(xiàn)在只需要做少量的更改,來實現(xiàn)我們的目標,輸出HelloAndroid。(1)找到res/layout/activity_main.xml文件,雙擊。選擇activity_main.xml選項卡,會發(fā)現(xiàn)文件中有一個<TextView>標簽。刪除<TextView>標簽以及里邊的屬性列表。(2)在原<TextView>標簽處,添加如下代碼:<TextViewandroid:id="@+id/show"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="HelloAndroid"/>(3)保存代碼。新建一個Android工程11.4.3運行第一個Android程序創(chuàng)建完項目,也修改了代碼,下面就應該連上手機或者平板電腦,看看程序的運行效果了。以下是進行真機調(diào)試的步驟。(1)在進行真機調(diào)試前,要做一些前期準備。首先,確保手機或平板電腦上的開發(fā)者選項中的“允許USB調(diào)試功能”已經(jīng)被選中。其次,計算機中已經(jīng)安裝了手機或者平板電腦的驅(qū)動程序。(2)當前期準備已經(jīng)做完以后,使手機和平板電腦相連。新建一個Android工程(3)選擇需要運行的項目并右擊,在彈出的快捷菜單中選擇Runas→AndroidApplication命令,如圖所示。當完成以上步驟以后,即可在手機或平板電腦上看到運行結果。恭喜你,你已經(jīng)成為Android開發(fā)者中的一員了。新建一個Android工程11.4.4導入一個項目當進行Android開發(fā)時,有時可能會看一些別的項目的代碼,這時不可能用記事本一行一行地去查看代碼,這樣做很不方便,而且效率很低,所以需要把其他項目導入工作空間中進行查看。以下是如何將一個項目導入工作空間中的具體步驟。(1)選擇標題欄上的File→Import命令,彈出圖所示對話框。新建一個Android工程新建一個Android工程(2)選擇Android下的ExistingAndroidCodeIntoWorkspace,如圖11.19所示,單擊Next按鈕。(3)如圖11.20所示,單擊Browse按鈕,選擇項目。這里提醒大家,一定要選擇Copyprojectsintoworkspace復選框。然后單擊Finish按鈕。這樣,項目就導入Eclipse中了。新建一個Android工程北京工業(yè)職業(yè)技術學院謝謝主講:

XXX老師Tel:WebCat:北京工業(yè)職業(yè)技術學院嵌入式系統(tǒng)應用主講:

XXX老師AndroidUI設計學習目標掌握了解熟悉能利用這些布局知識進行嵌入式車型機器人的UI設計13車型機器人UI設計的內(nèi)容車型機器人各種布局的類型2相對布局線性布局表格布局幀布局主講內(nèi)容主講內(nèi)容Speechcontent12.2創(chuàng)建布局12.3相對布局12.4線性布局12.5表格布局12.6幀布局12.1UI編輯器簡介ADT為Android的UI設計提供了一種UI編輯器,如圖所示。當打開layout下的.xml布局文件時,系統(tǒng)自動打開UI編輯器。

UI編輯器簡介1.Palette窗口

可以直接將Palette窗口提供的控件拖動到虛擬屏幕上。以下為Palette窗口提供的基本控件。FormWidgets:包括各種基本控件。TextFields:包括各種定制的TextField控件。Layouts:包括各種布局控件。Composite:包括各種視圖控件。Images&Media:包括各種圖片和媒體控件。Time&Data:包括各種時間和日期控件。Transitions:包括各種過渡控件。Advanced:包括各種高級控件。Other:提供了一些特有API版本包含的控件,如TextClock。Custom&LibraryViews:包含了用戶自定義控件,以及第三方提供的控件。

UI編輯器簡介2.Configuration面板Configuration面板可以設置不同的參數(shù),適應不同的需求。Configuration面板提供了以下功能:不同屏幕尺寸顯示效果。橫豎屏顯示效果。不同的主題顯示效果。不同的SDK版本顯示效果??s放控制。

UI編輯器簡介3.模擬屏幕模擬屏幕就是中間部分的可編輯區(qū)域,該區(qū)域展示了在當前硬件環(huán)境配置下的顯示效果??梢灾苯油蟿涌丶侥M屏幕上,查看顯示效果。在模擬屏幕中右擊屏幕中的控件,在彈出的快捷菜單中可以執(zhí)行查看控件的屬性、創(chuàng)建動畫及動畫預覽、展開內(nèi)嵌的布局等命令。

UI編輯器簡介4.Outline窗口Outline窗口包括兩個部分(如圖12.1右側(cè)區(qū)域所示):上方的窗口顯示了當前布局的層次結構,也可以直接從Palette窗口拖動控件到Outline窗口中;下方的窗口是當前選中控件的屬性設置窗口,在屬性設置窗口中,可以設置控件的參數(shù)、顯示樣式等信息。

UI編輯器簡介屬性窗口有如下特點:重要的屬性使用粗體顯示。當前控件編輯過的屬性值使用藍色顯示。顯示部分默認屬性。屬性可以嵌套。屬性可以按照字符循序排列,方便查找。高級屬性默認隱藏,可以單擊顯示隱藏屬性的按鈕來顯示。

UI編輯器簡介主講內(nèi)容主講內(nèi)容Speechcontent12.1UI編輯器簡介12.3相對布局12.4線性布局12.5表格布局12.6幀布局12.2創(chuàng)建布局要想進行界面開發(fā),首先要了解如何創(chuàng)建一個布局文件。創(chuàng)建布局文件的具體步驟如下:(1)在Android項目的res/layout結點上右擊,選擇New→AndroidXMLFile命令,打開NewAndroidXMLFile對話框,如圖所示。(2)在File文本框中輸入布局文件名,在RootElement列表中選擇布局的根結點,單擊Next按鈕,打開ChooseConfigurationFolder對話框,如圖所示。創(chuàng)建布局創(chuàng)建布局ChooseConfigurationFolder對話框用于設置對XML文件的特殊限制。例如,在左側(cè)選擇ScreenWidth,單擊按鈕,將其加入右側(cè)的ChosenQualifiers列表中,并在Width框中輸入值,則新的布局文件將被放置在特定的文件路徑中。(3)單擊Finish按鈕,完成創(chuàng)建。創(chuàng)建布局主講內(nèi)容主講內(nèi)容Speechcontent12.1UI編輯器簡介12.2創(chuàng)建布局12.4線性布局12.5表格布局12.6幀布局12.3相對布局相對布局(RelativeLayout)是將子控件以相對位置的方式擺放在布局中,一個子控件可以指定相對于它的兄弟控件的位置(例如在給定控件的上邊或者上邊界對齊)或相對于RelativeLayout的特定區(qū)域的位置(例如底部對齊或中間)。在Android中,XML布局文件中使用<RelativeLayout>標簽來標記相對布局。其基本格式如下:<RelativeLayoutxmlns:android="/apk/res/android"

屬性列表>其他控件</RelativeLayout>相對布局RelativeLayout的常用屬性如表所示。為了能夠更好地對布局中的控件進行控制,Android提供了一個內(nèi)部類RelativeLayout.LayoutParams,可以讓用戶更方便地對布局中的控件進行管理。RelativeLayout.LayoutParams的常用屬性如下表所示。相對布局相對布局相對布局的示例:<?xmlversion="1.0"encoding="utf-8"?><RelativeLayout xmlns:android="http: ///apk/res/android"xmlns:tools="http: ///tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.bkrc.core.activity.RelativeLayoutActivity">相對布局

<TextViewandroid:id="@+id/tv_show"android:layout_marginTop="20dp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/tv_show"/><TextViewandroid:id="@+id/tv_result"android:layout_marginTop="20dp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toRightOf="@+id/tv_show"

/>相對布局

<TextViewandroid:id="@+id/tv_result"android:layout_marginTop="20dp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toRightOf="@+id/tv_show"/><Buttonandroid:id="@+id/north"android:layout_width="100dp"android:layout_height="60dp"android:layout_centerHorizontal="true"android:layout_marginTop="100dp"android:text="@string/north"android:textSize="@dimen/font_size"/><!--此處之后代碼省略,可參考具體源代碼-->............</RelativeLayout>相對布局主講內(nèi)容主講內(nèi)容Speechcontent12.1UI編輯器簡介12.2創(chuàng)建布局12.3相對布局12.5表格布局12.6幀布局12.4線性布局線性布局(LinearLayout)是將子控件以水平或垂直排列的,并且在Android中線性布局是不會自動換行的,當子控件超出屏幕的邊界后,子控件將不會被顯示出來。在Android中,XML布局文件中使用<LinearLayout>標簽來標記線性布局。其基本格式如下:<LinearLayout xmlns:android="/apk/res/android"

屬性列表>其他控件</LinearLayout>線性布局線性布局LinearLayout的常用屬性如表12.3所示。線性布局的示例:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><!--水平排列--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:orientation="horizontal"><TextViewandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:background="#ffff0000"android:gravity="center_horizontal|center_vertical"android:text="橫"android:textSize="30sp"/><!--此處省略部分代碼-->線性布局

</LinearLayout><!--垂直排列--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_marginTop="10dp"android:layout_weight="1"android:orientation="vertical">線性布局

<TextViewandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:background="#ffff0000"android:gravity="center_horizontal|center_vertical"android:text="縱"android:textSize="30sp"/><!--此處省略部分代碼-->............</LinearLayout></LinearLayout>線性布局在上面代碼中,一個線性布局中嵌套了兩個線性布局。上部分的線性布局中子控件以水平方式排列,下部分的線性布局中子控件以垂直方式排列。運行本例提供的代碼,將顯示圖12.15所示運行結果線性布局主講內(nèi)容主講內(nèi)容Speechcontent12.1UI編輯器簡介12.2創(chuàng)建布局12.3相對布局12.4線性布局12.6幀布局12.5表格布局表格布局是將子控件一個一個地放入單元格中進行擺放的。表格布局是以行、列的形式來管理放入其中的子控件。如果在表格布局中直接向<TableLayout>中添加子控件,那么該組件將獨占一行。在Android中,XML布局文件中使用<TableLayout>標簽來標記表格布局。其基本格式如下:<TableLayout xmlns:android="/apk/res/android"

屬性列表><TableRow屬性列表>需要添加的子控件</TableRow></TableLayout>表格布局TableLayout的常用屬性如表12.4所示。表格布局的示例:<?xmlversion="1.0"encoding="utf-8"?><TableLayoutxmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:stretchColumns="1"><TableRow><TextViewandroid:layout_column="1"android:padding="3dp"android:text="打開"/>表格布局

<TextViewandroid:gravity="right"android:padding="3dp"android:text="Ctrl-O"/></TableRow><TableRow><TextViewandroid:layout_column="1"android:padding="3dp"android:text="保存"/>表格布局<TextViewandroid:gravity="right"android:padding="3dp"android:text="Ctrl-S"/></TableRow><!--此后代碼省略-->............</TableLayout>表格布局在上面代碼中,使用表格布局搭建了一個下拉菜單的界面。運行本例提供的代碼,將顯示圖12.6所示運行結果表格布局主講內(nèi)容主講內(nèi)容Speechcontent12.1UI編輯器簡介12.2創(chuàng)建布局12.3相對布局12.4線性布局12.5表格布局12.6幀布局幀布局(FrameLayout)是將子控件自動地按照層次堆放在左上角,后加進來的控件覆蓋前面的控件。在Android中,XML布局文件中使用<TableLayout>標簽來標記表格布局。其基本格式如下:<FrameLayout xmlns:android="/apk/res/android"

屬性列表></FrameLayout>幀布局FrameLayout的常用屬性如表12.5所示。幀布局的示例:<?xmlversion="1.0"encoding="utf-8"?><FrameLayoutxmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent">幀布局<TextViewandroid:id="@+id/tv1"android:layout_width="320dp"android:layout_height="320dp"android:layout_gravity="center_vertical|center_horizontal"android:background="#ffff0000"/>幀布局<TextViewandroid:id="@+id/tv2"android:layout_width="280dp"android:layout_height="280dp"android:layout_gravity="center_vertical|center_horizontal"android:background="#ff00ff00"/><!--此后代碼省略-->............</FrameLayout>幀布局在上面代碼中,使用幀布局實現(xiàn)了一個霓虹燈效果:幀布局北京工業(yè)職業(yè)技術學院謝謝主講:

XXX老師Tel:WebCat:北京工業(yè)職業(yè)技術學院嵌入式系統(tǒng)應用主講:

XXX老師Android常用控件學習目標掌握了解熟悉嵌入式車型機器人用到的功能控件編寫控件代碼13Android常用控件的類型控件的基本語法格式2常用控件的使用方法主講內(nèi)容主講內(nèi)容Speechcontent13.2編輯文本框13.3按鈕13.1文本框在Andriod中,文本框使用TextView表示,用于在屏幕上顯示文本。Android中的文本框組件可以顯示單行文本,也可以顯示多行文本,還可以顯示帶圖像的文本。在Android中,可以使用兩種方法向屏幕中添加文本框:一種是通過在XML布局文件中使用<TextView>標記添加;另一種是在Java文件中通過new關鍵字創(chuàng)建。文本框通過<TextView>標記在XML布局文件中添加文本框,其基本的語法格式如下:<TextView

屬性列表></TextView>文本框TextView支持的常用XML屬性如下所示。android:autoLink:用于指定是否將指定格式的文本轉(zhuǎn)換為可單擊的超鏈接形式,其屬性值有none、web、email、phone、map和all。android:drawableBottom:用于在文本框內(nèi)文本的底端繪制指定圖像,該圖像可以是放在res→drawable文件夾下的圖片,通過“@drawable/文件名(不包括文件的擴展名)”設置。文本框android:drawableLeft:用于在文本框內(nèi)文本的左側(cè)繪制指定圖像,該圖像可以是放在res→drawable文件夾下的圖片,通過“@drawable/文件名(不包括文件的擴展名)”設置。android:drawableRight:用于在文本框內(nèi)文本的右側(cè)繪制指定圖像。android:drawableTop:用于在文本框內(nèi)文本的頂端繪制指定圖像。android:gravity:用于設置文本框內(nèi)文本的對齊方式。android:hint:用于設置當文本框中文本內(nèi)容為空時,默認顯示的提示文本。文本框android:inputType:用于指定當前文本框顯示內(nèi)容的文本類型。android:singleLine:用于指定該文本框是否為單行模式。android:text:用于指定該文本中顯示的文本內(nèi)容。android:textColor:用于設置文本框內(nèi)文本的顏色。android:textSize:用于設置文本框內(nèi)文本的字體大小。android:width:用于指定文本的寬度,以像素為單位。android:height:用于指定文本的高度,以像素為單位。文本框?qū)嵗?:實現(xiàn)為文本框中的E-mail地址添加超鏈接、顯示帶圖像的文本、顯示不同顏色的單行文本和多行文本。(1)修改新建項目的res→layout文件夾下的布局文件。刪除默認內(nèi)容,添加一個線性布局管理器,并為默認添加的TextView組件設置高度,對其中的E-mail格式的文本設置超鏈接,具體代碼如下:文本框<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">文本框<TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:text="bkrcl015@163.com"android:autoLink="email"android:height="50px"/></LinearLayout>文本框(2)在默認添加的TextView組件后面添加一個TextView組件,設置該組件顯示帶圖像的文本,具體代碼如下:<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="帶圖像的TextView"android:drawableTop="@drawable/ic_launcher"/>文本框(3)顯示多行文本(默認的),顯示單行文本。<TextViewandroid:textColor="#0F0"android:textSize="20px"android:text="多行文本,在很久很久以前,有一位老人他帶給我們一個蘋果"android:layout_width="300px"android:layout_width="wrap_content"android:layout_height="wrap_content"/>文本框

<TextViewandroid:textColor="#F00"android:textSize="20px"android:text="單行文本:在很久很久以前,有一位老人他帶給我們一個蘋果"android:width="300px"android:singleLine="true"android:layout_width="wrap_content"android:layout_height="wrap_content"/>文本框在模擬器上運行以后,結果如圖13.1所示。文本框主講內(nèi)容主講內(nèi)容Speechcontent13.1文本框13.3按鈕13.2編輯文本框在Android中,編輯框使用EditText表示,用于在屏幕上顯示文本輸入框。Android中的編輯框組件可以輸入單行文本,也可以輸入多行文本,還可以輸入指定格式的文本(如密碼、電話號碼、E-mail地址等)。通過<EditText>標記在XML布局文件中添加編輯框,其基本的語法格式如下:<EditText

屬性列表></EditText>編輯文本框由于EditText類是TextView類的子類,所以TextView類的屬性同樣適用于EditText組件。需要特別注意的是,在EditText組件中,android:inputType屬性可以幫助輸入框顯示合適的類型。例如,要添加一個密碼框,可以將android:inputType屬性設置為textPassword。編輯文本框在屏幕中添加編輯框后,還需要獲取編輯框中輸入的內(nèi)容,這可以通過編輯框組件提供的getText()方法實現(xiàn)。使用該方法時,先要獲取到編輯框組件,然后再調(diào)用getText()方法。例如,要獲取布局文件中添加的id屬性為login的編輯框的內(nèi)容,可以通過以下代碼實現(xiàn)。EditTextlogin=(EditText)findViewById(R.id.login);StringloginText=login.getText().toString();編輯文本框例2:實現(xiàn)會員注冊界面。(1)修改新建項目的res→layout文件夾下的布局文件。刪除默認內(nèi)容,添加表格布局管理器。在該布局管理器中添加4個TableRow表格行,并為該表格布局管理器設置背景。具體代碼如下:<TableLayoutxmlns:android="/apk/res/android"android:id="@+id/layout"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#FF000000">編輯文本框<!--第一個表格行--><TableRowandroid:id="@+id/tableRow1"android:layout_width="wrap_content"android:layout_height="wrap_content">

</TableRow>編輯文本框

<!--第二個表格行--><TableRowandroid:id="@+id/tableRow2"android:layout_width="wrap_content"android:layout_height="wrap_content">

</TableRow>編輯文本框

<!--第三個表格行--><TableRowandroid:id="@+id/tableRow3"android:layout_width="wrap_content"android:layout_height="wrap_content">

</TableRow>編輯文本框<!--第四個表格行--><TableRowandroid:id="@+id/tableRow4"android:layout_width="wrap_content"android:layout_height="wrap_content">

</TableRow></TableLayout>編輯文本框(2)在表格第一行,添加一個用于顯示提示信息的文本框和一個輸入會員昵稱的單行編輯框,并為該單行編輯框設置提示文本。具體代碼如下:<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="會員昵稱"android:height="50px"/>編輯文本框<EditTextandroid:id="@+id/nickname"android:hint="請輸入會員昵稱"android:layout_width="300px"android:layout_height="wrap_content"android:inputType="textPersonName"android:singleLine="true"/>編輯文本框

(3)在表格的第二行,添加用于顯示提示信息的文本框和一個輸入密碼的密碼框。具體代碼如下:

<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="輸入密碼"android:height="50px"/>

<EditTextandroid:id="@+id/pwd"android:layout_width="300px"android:inputType="textPassword"android:layout_height="wrap_content"/>編輯文本框

(4)在表格的第三行,添加一個確認密碼框。具體代碼如下:

<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="確認密碼"android:height="50px"/><EditTextandroid:id="@+id/queren"android:layout_width="300px"android:layout_height="wrap_content"android:inputType="textPassword"/>編輯文本框

(5)在表格的第四行,添加用于顯示提示信息的文本框和一個輸入E-mail地址的編輯框。具體代碼如下:

<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="E-mail"android:height="50px"/><EditTextandroid:id="@+id/email"android:layout_width="300px"android:layout_height="wrap_content"android:inputType="textEmailAddress"/>編輯文本框

(6)添加一個水平線性布局管理器,并在該布局管理器中添加兩個按鈕。具體代碼如下:

<LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal">

<Buttonandroid:text="注冊"android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/button1"/>編輯文本框<Buttonandroid:text="重置"android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/button2"/></LinearLayout>編輯文本框<Buttonandroid:text="重置"android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/button2"/></LinearLayout>(7)在主活動onCreate()方法中,為“注冊”按鈕添加單擊事件監(jiān)聽器,用于在用戶單擊“注冊”按鈕后查看日志,查看輸入的內(nèi)容。具體代碼如下:編輯文本框publicclassMainActivityextendsActivity{ @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Buttonbutton1=(Button)findViewById(R.id.button1); button1.setOnClickListener(newOnClickListener(){

編輯文本框@Override publicvoidonClick(Viewv){ //獲取會員昵稱編輯框組件

EditTextnicknameET=(EditText)findViewById(R.id.nickname); //獲取輸入的會員昵稱

Stringnickname=nicknameET.getText().toString(); //獲取密碼編輯框組件

EditTextpwdET=(EditText)findViewById(R.id.pwd); //獲取輸入的密碼

編輯文本框Stringpwd=pwdET.getText().toString(); //獲取E-mail編輯框組件

EditTextemailET=(EditText)findViewById(R.id.email); //獲取輸入E-mail的地址

Stringemail=emailET.getText().toString(); } }); }}

編輯文本框在模擬器上運行以后,結果顯示如圖13.2所示。

編輯文本框主講內(nèi)容主講內(nèi)容Speechcontent13.1編輯文本框13.2文本框13.3按鈕在Android中,普通按鈕其基本的語法格式如下:<Buttonandroid:text=”顯示文本”android:id=”@+id/button1”android:layout_width=”wrap_content”android:layout_height=”wrap_content”></Button>按鈕在屏幕上添加按鈕后,還需要為按鈕添加單擊事件監(jiān)聽器,才能讓按鈕發(fā)揮其特有的用途。Android中提供了兩種為按鈕添加單擊事件監(jiān)聽器的方法。一種是在Java代碼中完成,例如,在Activity的onCreate()方法中完成。具體代碼如下:按鈕importandroid.view.View.OnClickListener;Importandroid.widget.Button;//通過ID獲取布局文件中添加的按鈕Buttonlogin=(Button)findViewById(R.id.login);//為按鈕添加單擊事件監(jiān)聽器login.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//編寫要執(zhí)行的動作代碼

}});按鈕

另一種是在Activity中編寫一個包含View類型參數(shù)的方法,并且將要觸發(fā)的動作代碼放在該方法中,然后在布局文件中通過android:onClick屬性指定對應的方法名實現(xiàn)。例如,在Activity中編寫一個名為myClick()的方法,關鍵代碼如下:publicvoidmyClick(Viewview){//編寫要執(zhí)行的動作代碼}按鈕在Android中,圖片按鈕與普通按鈕的使用方法是基本相同的,只不過圖片按鈕使用<ImageButton>標記定義,并且可以為其指定android:src屬性,用于設置要顯示的圖片。在布局文件中添加圖像按鈕的基本語法格式如下:<ImageButtonandroid:id=”@+id/imageButton1”android:src=”@drawable/圖片文件名稱”android:background=”#000”android:layout_width=”wrap_content”android:layout_height=”wrap_content”></ImageButton>按鈕例3:實現(xiàn)添加普通按鈕和圖片按鈕,并為其設置單擊事件監(jiān)聽器。(1)修改新建項目下的布局文件,刪除布局文件中的默認內(nèi)容,添加水平線性布局管理器,在該布局管理器中添加一個普通按鈕(id屬性為login)和一個圖片按鈕,并為圖片按鈕設置android:src屬性、android:background屬性和android:onClick屬性。具體代碼如下:按鈕<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/login"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="登錄"/>按鈕

<ImageButtonandroid:id="@+id/login1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#000"android:onClick="myClick"android:src="@drawable/ic_launcher"/></LinearLayout>按鈕

(2)在主活動MainActivity的onCreate()方法中,應用以下代碼為普通按鈕添加單擊事件監(jiān)聽器。點擊按鈕,會彈出消息提示。具體代碼如下:按鈕//通過ID獲取布局文件中添加的按鈕

Buttonlogin=(Button)findViewById(R.id.login); //為按鈕添加單擊事件監(jiān)聽器

login.setOnClickListener(newOnClickListener(){

@Override publicvoidonClick(Viewv){ Toasttoast=Toast.makeText(MainActivity.this,"您單擊了普通按鈕",Toast.LENGTH_SHORT);//顯示提示信息

toast.show(); } });按鈕

(3)在MainActivity類中編寫一個方法myClick(),用于指定要觸發(fā)的動作代碼。具體代碼如下:publicvoidmyClick(Viewview){ Toasttoast=Toast.makeText(MainActivity.this,"您點擊了圖片按鈕",Toast.LENGTH_SHORT); //顯示提示信息

toast.show();}按鈕在模擬器上運行以后,結果顯示如圖13.3所示。按鈕北京工業(yè)職業(yè)技術學院謝謝主講:

XXX老師Tel:WebCat:北京工業(yè)職業(yè)技術學院嵌入式系統(tǒng)應用主講:

XXX老師顏色識別學習目標掌握了解熟悉嵌入式車型機器人顏色識別設計13顏色識別基本知識顏色存儲方式2Android實現(xiàn)顏色識別設計的方法Android顏色識別接口主講內(nèi)容主講內(nèi)容Speechcontent14.2顏色識別設計案例14.1Android顏色概述14.1.1Android顏色值存儲方式在Android中,對一張位圖的顏色值的存儲方式是通過Bitmap.Config這一常量進行配置的。Bitmap.Config有以下幾個常量:publicstaticfinalBitmap.ConfigALPHA_8;publicstaticfinalBitmap.ConfigARGB_4444;publicstaticfinalBitmap.ConfigARGB_8888;publicstaticfinalBitmap.ConfigRGB_565。

Android顏色概述其中,ARGB通常指的是一種色彩模式,里面A代表Alpha,R代表Red,G代表Green,B代表Blue。RGB即為三原色。每個原色都存儲著所表示顏色的信息值。ALPHA_8就Alpha由8位組成。ARGB_4444就是由4個4位組成,即16位。ARGB_8888就是由4個8位組成,即32位。RGB_565就是R為5位,G為6位,B為5位,共16位。由此可見,不同的存儲方式即代表了不同的位圖。

Android顏色概述ALPHA_8代表8為Alpha位圖;ARGB_4444代表16位ARGB位圖;ARGB_8888代表32位ARGB位圖;RGB_565代表8位RGB位圖。在Android中,位圖位數(shù)越高代表其可以存儲的顏色信息越多,還原的圖像也就越逼真。在Android中,默認的顏色存儲方法為ARGB_8888。

Android顏色概述14.1.2Android顏色識別接口在Android中,對一張位圖Bitmap提供了getPixel(intx,inty)方法,返回指定位置的像素顏色值。其中,x、y為待返回像素的x與y坐標值。通過此方法可以得到指定坐標的RGB顏色值。其中x與y的范圍值需要注意,不要越界。

Android顏色概述主講內(nèi)容主講內(nèi)容Speechcontent14.1Android顏色概述14.2顏色識別設計案例14.2.1AndroidUI設計

有了上面的基礎,就可以開發(fā)一個簡單的顏色識別案例。下圖所示為Android智能移動終端的顏色識別應用程序UI界面。關于UI界面的具體代碼如下所示,在此不對UI布局代碼做詳細講解:顏色識別設計案例<RelativeLayoutxmlns:android="/apk/res/android"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:text="@string/picture"/>顏色識別設計案例<ImageViewandroid:id="@+id/imageView"android:layout_width="240dp"android:layout_height="180dp"android:layout_centerHorizontal="true"android:layout_centerVertical="true"

/>顏色識別設計案例<TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20dp"android:layout_below="@+id/imageView"android:layout_centerHorizontal="true"android:text="@string/colors"/></RelativeLayout>顏色識別設計案例14.2.2Android功能實現(xiàn)完成了上述的布局效果界面后,讓我們看看在Activity中如何實現(xiàn)布局功能代碼的實現(xiàn)。以下為Android智能移動端顏色識別功能實現(xiàn)的完成代碼,具體如下所示:顏色識別設計案例packagecom.bkrcl.coloridentification;importjava.io.ByteArrayOutputStream;importandroid.app.Activity;importandroid.graphics.Bitmap;importandroid.graphics.Bitmap.Config;importandroid.graphics.BitmapFactory;importandroid.os.Bundle;importandroid.os.Message;importandroid.util.Log;importandroid.view.Menu;顏色識別設計案例importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.ImageView;importandroid.widget.TextView;publicclassMainActivityextendsActivity{ privateImageViewimageView; privateButtonbutton; privateTextViewtextView; privateinti=0; privateint[]bitmaps={R.drawable.red,R.drawable.green,R.drawable.blue};顏色識別設計案例@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView=(ImageView)findViewById(R.id.imageView);textView=(TextView)findViewById(R.id.textView);button=(Button)findViewById(R.id.button);button.setOnClickListener(newOnClickListener(){顏色識別設計案例

@Override publicvoidonClick(Viewarg0){ Bitmapbitmap=BitmapFactory.decodeResource(getResources(),bitmaps[i]); i++; if(i==bitmaps.length){ i=0;

}顏色識別設計案例imageView.setImageBitmap(bitmap); intwidth=bitmap.getWidth(); intheight=bitmap.getHeight(); intredNum=0,blueNum=0,greenNum=0; for(inti=0;i<width;i++){ for(intj=0;j<height;j++){ intpixel=bitmap.getPixel(i,j); intr=(pixel>>16)&0xff; intg=(pixel>>8)&0xff; intb=pixel&0xff; if(r>g&r>b){ redNum++;

}顏色識別設計案例elseif(g>r&g>b){ greenNum++; } elseif(b>r&b>g){ blueNum++; } } } if(redNum>greenNum&redNum>blueNum){ textView.setText("紅色");

}顏色識別設計案例elseif(greenNum>redNum&greenNum>blueNum){ textView.setText("綠色"); } elseif(blueNum>redNum&blueNum>greenNum){ textView.setText("藍色"); } } });}}顏色識別設計案例其中核心思想是得到Bitmap圖片上所有坐標的RGB像素值,重新解析得到RGB值中的紅、綠和藍色值,比較三基色中哪種顏色權重較大,即為哪種顏色。顏色識別設計案例北京工業(yè)職業(yè)技術學院謝謝主講:

XXX老師Tel:WebCat:北京工業(yè)職業(yè)技術學院嵌入式系統(tǒng)應用主講:

XXX老師NFC識別學習目標掌握了解

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論