Android--近来学习总结(2017/3/27)
近來學習總結
從剛開始接觸Android課到現在,確實學到了不少東西,當然也碰到過一些問題。就從最開始的布局文件開始說起吧。
說到布局文件首先要說的就是各種Layout了,以我現在的所知,Layout有五大類,下面將進行一些簡單的介紹,畢竟我們還沒有將這幾種Layout全部掌握。這陣子,使用的最多的就是LinearLayout的布局方式了,其它的暫時沒有使用過,所以我就只著重的說一下LinearLayout。
這種布局方式是最簡單的一種布局了,以行或者列的方式來添加控件,每一行或者每一列只能添加一個控件。在LinearLayout中有一個重要的屬性gravity,這個屬性用來指定組件內容的對齊方式,使用的方式也很多樣化。
布局之后就是各種各樣的控件了,正是因為這些控件,我們才能和手機有一個良好的交互的界面。這段時間里使用的最多的就是TextView、EditView、Button、RadioButton、CheckBox了。這些控件每一個都有其特定的用法,從而為用戶處理一些其需要處理的事情。
布局做好之后就是為程序所想要實現的功能進行編碼,這部分才是最重要的。前面一些定義組件,獲取組件什么的就不說了。
但是值得注意的是,在獲取控件對象之后就類型的強制轉換時要注意類型的對應,比如下面的代碼是正確的:
而這樣的代碼是錯誤的:
private EditText et_name; et_name = (TextView) findViewById(R.id.name);這是因為,聲明的類型和需要轉換的類型不一致,在布局文件中對應的組件可能和轉換的類型也不一致,這一點要格外的注意,否則就會出錯的。
下面就要按照各種功能的需求去寫功能實現所需要的代碼了,在這段時間里接觸的最多的就是重寫AppCompatActivit類下面的各種方法,因為我們所建立的Activity所屬的類是繼承自AppCompatActivit類,這個類提供了各種各樣處理事件的方法。每次都自動生成重寫下面的代碼:
在沒有觸發其它響應事件的時候,程序也會從這里開始運行。
在這段時間的學習里用的最多的就是對按鈕進行的事件監聽:
這個監聽事件就是當Button按鈕被點擊的時候才會觸發的,相應的,如果在里面寫一些事件處理的代碼,那么這個時候就會開始對事件進行處理,直至這個方法的結束。
然后學的也是各種各樣的監聽事件,當然這些事件都要進行重寫,才能達到我們自己想要的功能。
屏幕觸控事件:當屏幕被點擊的時候就會觸發這個方法
當然還有其它的很多的監聽事件,這里就不一一寫出了。
然后就學習了一些關于Menu的知識,說實話,這一部分我還學的有點模糊,就是只是按照代碼機械的去敲,感覺自己還是沒有真正的理解這部分的知識。
在做菜單的時候,有多種方法,可以在Activity里直接把菜單寫出來,也可以在Layout里寫一個菜單的布局文件,只是后者需要在Activity中進行菜單的加載。下面是選項菜單的部分代碼:
這樣的方式就是加載寫在XML布局文件的方式來加載出菜單,使應用程序能夠顯示出菜單。還有給菜單項注冊事件,下面的代碼里對菜單項被點擊時就行了一些簡單的事件響應,并進行了一些簡單的處理。
@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()){case R.id.item_info_maintain:Toast.makeText(this,item.getTitle().toString(),Toast.LENGTH_SHORT).show();break;case R.id.item_about:break;case R.id.item_exit:break;}return super.onOptionsItemSelected(item);}再就是上下文菜單,上下文菜單的加載方式有點特殊,那就是必須在onCreate方法中進行注冊,并且是給相應的對象進行注冊,否則的話就沒有任何效果,這是寫了一個最簡單的上下文菜單:
@Overridepublic void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) {super.onCreateContextMenu(menu, view, menuInfo);switch(view.getId()){case R.id.name:menu.add(0,100,0,"選擇");break;}}然后在onCreate方法中進行注冊:
this.registerForContextMenu(et_name);//將上下文菜單注冊到姓名的輸入框這里我是給一個EditText進行注冊的,但是并沒有進行事件的處理,所以寫的很簡單。
然后又學到了對話框Dialog,其實我個人并不喜歡稱這個為“對話框”,因為以前學過易語言,我還是喜歡沿襲當時的習慣,稱這個為“信息框”,只是易語言里的信息框沒這么多功能而已。,這里就不過多的提了。對話框呢,能夠處理的事件還是挺多的。我們只是簡單的接觸了一下AlertDialog,還沒有進行深入的應用學習,我也沒有進行深入的探索,這周找個時間需要弄一下。下面呢就是在選項菜單的基礎上寫了一個AlertDialog,由于這個AlertDialog功能比較簡單,而且其它附加的代碼又比較長,所以就不把全部的代碼貼出來了。
上面的這些代碼里,其實是寫了一個普通的帶文本的對話框和一個帶有三個按鈕的對話框,從上面的代碼中也能看出這兩個對話框并沒有實現什么厲害的功能,所以就不過多的解釋了。另外的事AlertDialog中可以按照上面的方法顯示文本和按鈕,也可以放一些CheckBox和Radio以及ListView,以用來處理不同的事件。
至于Notification,好像還沒有學習到吧,我課下自己也沒有去看,所以就不說了。
大致的說了一下這一個月來學習的東西,然后也做了幾個沒什么實用性的小程序,這其中也碰到過一些問題,不過都靠百度給解決了,所以那些無法完成的問題現在還沒遇到過,畢竟學的很少。這段時間的學習中,我也發現了一些自己在Java上的不足之處,比如說對一些基本概念的不清晰,還有一些基本知識的忘卻,都在提醒我去年學的Java知識已經忘掉很多了,所以接下來還是要多花點時間放在Java上,畢竟沒有良好的Java基礎,Android開發是做不好的。
轉載于:https://www.cnblogs.com/wang-Jeft/p/6623313.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Android--近来学习总结(2017/3/27)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mark css知识点
- 下一篇: BZOJ 4514 费用流