- 四大組件
什麼是四大組件?分別是活動(Activity)、服務(Service)、廣播接收器(BroadCast Receiver)和內容提供器(Content Provider)。其中活動(Activity)就是Android應用程序中看得東西,也是用戶打開一個應用程序的門面,而且與用戶交互的界面,比較高調。服務(Service),則比較低調了,一直在後臺默默的付出,即便用戶退出了,服務仍然是能夠繼續運行的。廣播接收器(BroadCast Receiver),則容許你的應用接收來自各處的廣播消息,好比電話、短信等,能夠根據廣播名稱不一樣,作相應的操做處理,固然了, 除了能夠接受別人發來的廣播消息,自身也能夠向外發出廣播消息,自產自銷。內容提供器(Content Provider),則爲應用程序之間共享數據提供了可能,好比你想要讀取系統電話本中的聯繫人,就須要經過內容提供器來實現。android
- 持久化技術 Android系統還自帶了SQLite數據庫,SQLite數據庫是一種輕量級、運算速度極快的嵌入式關係型數據庫。它不只支持標準的SQL語法,還能夠經過Android封裝好的API進行操做,讓存儲和讀取數據變得很是方便。 - 地理位置定位 移動設備和PC相比,地理位置定位是一大亮點,如今基本Android手機都內置了GPS,咱們能夠經過GPS,結合咱們的創意,打造一款基於LBS的產品,是否是很酷的事情啊,再說,目前火熱的LBS應用也不是空穴來風的,不過在天朝,由於可惡的GFW,只能用些本土化的地圖API,好比百度地圖、高德地圖。要是哪天能用上大谷歌的地圖,那纔是高大上啊。 - 強大的多媒體 Android系統提供了豐富的多媒體服務,好比音樂、視頻、錄音、拍照、鬧鈴等,這一切均可以在程序中經過代碼來進行控制,讓你的應用變得更加豐富多彩。 - 傳感器 Android手機中內置了多種傳感器,好比加速傳感器、方向傳感器,這是移動設備的一大特色,咱們能夠靈活地使用這些傳感器,能夠作出不少在PC上沒法實現的應用。
學習Android開發工具的開發和使用。數據庫
1.Activity類中定義了七個回調方法,覆蓋了生命週期的每個環節
onCreate()方法:活動第一次建立的時候調用
onStart()方法:活動由不可見變爲可見時調用
onResume()方法:活動準備好和用戶進行交互時調用
onPause()方法:準備去啓動或者恢復另外一個活動時調用
onStop()方法:活動時徹底不可見調用
onDestory()方法:活動銷燬以前調用
onRestart()方法:活動由中止狀態變爲運行狀態以前調用編程
2.生存週期
完整生存期
活動在 onCreate() 方法和 onDestroy() 方法之間所經歷的,就是完整生存期。通常狀況下,一個活動會在 onCreate() 方法中完成各類初始化操做,而在 onDestroy() 方法中完成釋放內存的操做。
可見生存期
活動在 onStart() 方法和 onStop() 方法之間所經歷的,就是可見生存期。在可見生存期內,活動對於用戶老是可見的,即使有可能沒法和用戶進行交互。咱們能夠經過這兩個方法,合理地管理那些對用戶可見的資源。好比在 onStart() 方法中對資源進行加載,而在 onStop() 方法中對資源進行釋放,從而保證處於中止狀態的活動不會佔用過多內存。
前臺生存期
活動在 onResume() 方法和 onPause() 方法之間所經歷的,就是前臺生存期。在前臺生存期內,活動老是處於運行狀態的,此時的活動是能夠和用戶進行相互的,咱們平時看到和接觸最多的也這個狀態下的活動。編程語言
Toast能夠顯示文本和圖片,用於顯示提示信息。ide
Toast.makeText(getApplicationContext(),"Welecome",Toast.LENGTH_SHORT).show();
這個靜態函數會返回一個包含一個文本視圖的Toast對象,他有三個參數
1.第一個參數當前上下文環境可使用getApplicationContext()//應用程序的上下文;或者this//當前對象上下文;
2.第二個參數須要顯示的文本內容;
3.第三個參數須要顯示的時間長短有兩個常量能夠選擇Toast.LENGTH_SHORT和Toast.LENGTH_LONG;函數
public void viewImg(View v){ Toast toast=new Toast(this);//使用Toast的構造函數建立一個新的Toast對象,參數爲當前上下文環境; ImageView imageView=new ImageView(this);//新建一個ImageView對象,用於顯示圖片; imageView.setImageResource(R.drawable.bz);//給imageView對象指定一個圖片; //注意在存放資源時圖片名稱所有小寫只能字母打頭; toast.setView(imageView);//setView函數用來設置視圖,這裏咱們將剛纔新建的imageView對象做爲參數; toast.setDuration(Toast.LENGTH_LONG);//該函數用於設置顯示的時間長短,一樣的有兩個常量能夠選擇; toast.show();//顯示視圖函數; }
自定義顯示位置須要使用setGravity(int gravity, int xOffset, int yOffset)函數;工具
該函數有三個參數:
1.第一個參數設置顯示位置使用Gravity類裏面的常量如Gravity.CENTER//居中顯示;
2.第二個參數x軸的偏移量;
3.第三個參數y軸的偏移量;佈局
public void viewImg(View v){ Toast toast=new Toast(this);//使用Toast的構造函數建立一個新的Toast對象,參數爲當前上下文環境; ImageView imageView=new ImageView(this);//新建一個ImageView對象,用於顯示圖片; imageView.setImageResource(R.drawable.bz);//給imageView對象指定一個圖片; //注意在存放資源時圖片名稱所有小寫只能字母打頭; toast.setView(imageView);//setView函數用來設置視圖,這裏咱們將剛纔新建的imageView對象做爲參數; toast.setDuration(Toast.LENGTH_LONG);//該函數用於設置顯示的時間長短,一樣的有兩個常量能夠選擇; toast.setGravity(Gravity.TOP,0,0);//設置顯示位置爲頂部; toast.show();//顯示視圖函數; }
有兩種方法能夠直接新建一個佈局放到Toast裏面也能夠獲取到Toast的佈局再添加一個圖片進去;
方法一新建一個佈局:學習
public void viewImgText(View v){ Toast toast=new Toast(this); TextView textView=new TextView(this);//新建一個文本對象; textView.setText("Welcome");//設置文本內容; ImageView imageView=new ImageView(this); imageView.setImageResource(R.drawable.bz); LinearLayout layout=new LinearLayout(this);//新建一個線性佈局; layout.setOrientation(LinearLayout.VERTICAL);//設置爲垂直; layout.setGravity(Gravity.CENTER);//設置該佈局中內容顯示的位置; layout.addView(imageView);//將圖片添加到線性佈局中; layout.addView(textView);//將文本添加到線性佈局中; toast.setView(layout);//設置要顯示的視圖爲線性佈局; toast.setGravity(Gravity.CENTER, 0, 0);//設置顯示位置 toast.setDuration(Toast.LENGTH_LONG);//設置顯示時間 toast.show();//顯示Toast對象; }
方法二獲取Toast的佈局:開發工具
public void viewImgText(View v){ Toast toast=Toast.makeText(getApplicationContext(), "Welecome", Toast.LENGTH_LONG); ImageView imageView=new ImageView(this); imageView.setImageResource(R.drawable.bz); LinearLayout layout=(LinearLayout)toast.getView();//獲取Toast的佈局; layout.setOrientation(LinearLayout.VERTICAL);//設置佈局爲垂直; layout.addView(imageView);//將圖片添加到佈局中 toast.setGravity(Gravity.CENTER, 0, 0);//設置顯示位置; toast.show();//顯示對象; }
因爲以前沒注意到老師設置的Deadline是週六晚上(一直覺得是週日晚上),因此在此補充實驗五的2-5的程序截圖: