網易雲課堂第一週課程心得體會及課上筆記
不斷進步,不斷前進!
第一課老師介紹了android studio的安裝和環境配置,再環境搭建好之後給出了一個DEMO,介紹了工程中的:
1.Activity:一個頁面
2. Layout:頁面的佈局
3.Res:頁面內的資源
然後是介紹了TextView:一個控制元件;Button:繼承了TextView的一個控制元件,並說明了如何控制一個控制元件,說明了這些控制元件的一些屬性。
課上同時還介紹了佈局的5中方式,並對Linerlayout和Relativelayout進行對比講解了二者的不同。
第二課Activity你必須知道的那些事:
通過編寫一個DEMO,介紹了版本號及版本名稱;如何修改應用名稱,應用圖示及宣告首頁,如何實現首頁到另一頁的跳轉。並在後面介紹瞭如何使用Intent並結合startActivityForResult,完成不同頁面的傳值與資料交流。
在課程中學習到Activity的生命週期:
onCreate();
onStart();
onResume();
onPause();
onDestory();
onRestart();
第三課多姿多彩的控制元件:
課程中介紹了控制元件View的通用屬性:高寬,顏色,邊距,是否可見,內容居中,點選事件等;
TextView顯示文字CheckedTextView;
EditText編輯框的屬性:hint,password,lines singlines,maxlines.......
使用.9畫出一個不隨手機螢幕解析度大小改變的Button。
課程中還介紹了比較常用的控制元件的屬性:
1.ImageButton/ImageView
setImageResource 設定顯示圖片
setAlpha 設定Alpha
invalidate 強制更新
setScaleType( ScaleType st) 設定圖片顯示方式,st是一列舉
setAdjustViewBounds 設定是否調整控制元件適應圖片大小
setBackgroundResource 設定背景
2.SeekBar的方法及監聽器:
方法
setMax 設定最大值
getProgress()獲取當前值
setProgress 設定值
setIndeterminate
監聽器
setOnSeekBarChangeListener其下有三個方法
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) //數值變更,arg1新值,是否Touch
public void onStartTrackingTouch(SeekBar seekBar)//開始拖動
public void onStopTrackingTouch(SeekBar seekBar) //結束拖動
3.RatingBar:評分條
numStars:顯示的星星數量。
rating:設定預設的分數,浮點數。
stepSize:設定步長,浮點數。
isIndicator:true時,不可更改分數。
4.ProgessBar的幾個屬性:
setIndeterminate 設定進度條是否自動運轉 setProgressStyle 設定顯示風格.ProgressDialog.STYLE_HORIZONTAL/ProgressDialog.STYLE_SPINNER setProgress 設定進度 setMax 設定最大值 getProgress()獲取當前進度5.WebView:載入網頁
呼叫WebView的loadUrl()方法,設定WevView要顯示的網頁:
網際網路用:webView.loadUrl("http://www.google.com"); 本地檔案用:webView.loadUrl("file:///android_asset/XX.html"); 本地檔案存放在:assets 檔案中
6.ListView:顯示列表
a,顯示資料setAdapter(ListAdapter adapter)
adapter可為new SimpleCursorAdapter/SimpleAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
layout 用來顯示資料的模板.顯示一列可用android.R.layout.simple_list_item_1 兩列可用android.R.layout.simple_list_item_2 ,多列則需要自己實現xml檢視佈局檔案
c,資料(可用ArrayList構造資料)
to 用來顯示對應列的空件id
b,動態增刪資料
adapter.notifyDataSetChanged()
d,設定背景色
setBackGroudRource
7.GridView:內容可滾動檢視
顯示資料
setAdapter(ListAdapter adapter)設定資料介面卡.
資料介面卡可以繼承自BaseAdapter,該類 public View getView(int position, View convertView,ViewGroup parent) 返回當前選擇的檢視(ImageView)
選項選中監聽setOnItemSelectedListener
getSelectedView()返回當前選中的檢視
8.ScrollView:繪圖容器
課程中對於上述的控制元件的組合使用也給出了示範。
心得體會:
通過一週的學習我對Activity的生命週期有了進一步的瞭解:
一個Activity有3個關鍵的生命週期迴圈: 1. 一個activity 完整的生命週期 自第一次呼叫 onCreate(Bundle)開始,直至呼叫onDestroy()為止。activity在onCreate()中設定所有"全域性"狀態以完成初始化,而在onDestroy()中釋放所有系統資源。比如說,如果activity有一個執行緒在後臺執行以從網路上下載資料,它會以 onCreate()建立那個執行緒,而以 onDestroy()銷燬那個執行緒。 2. 一個activity的 可視生命週期 自 onStart() 呼叫開始直到相應的 onStop()呼叫。在此期間,使用者可以在螢幕上看到此activity,儘管它也許並不是位於前臺或者正在與使用者做互動。在這兩個方法中,你可以管控用來向用戶顯示這個activity的資源。比如說,你可以在onStart() 中註冊一個BroadcastReceiver 來監控會影響到你UI的改變,而在onStop() 中來取消註冊,這時使用者是無法看到你的程式顯示的內容的。onStart() 和 onStop() 方法可以隨著應用程式是否為使用者可見而被多次呼叫。 3. 一個activity的 前臺生命週期 自 onResume() 呼叫起,至相應的 onPause()呼叫為止。在此期間,activity位於前臺最上面並與使用者進行互動。activity會經常在暫停和恢復之間進行狀態轉換──比如說當裝置轉入休眠狀態或有新的activity啟動時,將呼叫onPause() 方法。當activity獲得結果或者接收到新的intent的時候會呼叫onResume() 方法。因此,在這兩個方法中的程式碼應當是輕量級的。Activities是由Activity stack管理的。當一個新的Activity被啟動,它就會處於stack的top位置,成為當前執行的Activity。而前一個Activity依然保留在stack裡面,當需要呼叫這個Activity時就會回到stack的top位置成為當前執行的Activity。
同時對各個常用的控制元件的使用我又有了新的認識,要不斷的閱讀原始碼,根據自己的需要熟悉這些常用的控制元件的屬性,這樣才能在後面的使用中得心應手