2018-2019-2 20189203 移動平臺應用開發實踐第六週學習總結

第2三、2四、2五、26章學習

第23章 Android簡介

  • Android是一種多用戶的Linux系統。它快速達到巔峯的緣由之一是,它使用Java做爲編程語言。全部Android類和接口的文檔均可以從其官網站點找到。
  • Android主要有什麼特點呢,有如下幾個方面來體現:
    四大組件
    豐富的系統控件
    SQLite數據庫等持久化技術
    地理位置定位
    強大的多媒體
    傳感器

  - 四大組件
什麼是四大組件?分別是活動(Activity)、服務(Service)、廣播接收器(BroadCast Receiver)和內容提供器(Content Provider)。其中活動(Activity)就是Android應用程序中看得東西,也是用戶打開一個應用程序的門面,而且與用戶交互的界面,比較高調。服務(Service),則比較低調了,一直在後臺默默的付出,即便用戶退出了,服務仍然是能夠繼續運行的。廣播接收器(BroadCast Receiver),則容許你的應用接收來自各處的廣播消息,好比電話、短信等,能夠根據廣播名稱不一樣,作相應的操做處理,固然了, 除了能夠接受別人發來的廣播消息,自身也能夠向外發出廣播消息,自產自銷。內容提供器(Content Provider),則爲應用程序之間共享數據提供了可能,好比你想要讀取系統電話本中的聯繫人,就須要經過內容提供器來實現。android

  • 豐富的系統控件
    Android系統爲開發者提供了豐富的系統控件,咱們能夠編寫漂亮的界面,也能夠經過擴展系統控件,自定義控件來知足自個人需求,常見控件有:TextView、Buttion、EditText、一些佈局控件等。
- 持久化技術
Android系統還自帶了SQLite數據庫,SQLite數據庫是一種輕量級、運算速度極快的嵌入式關係型數據庫。它不只支持標準的SQL語法,還能夠經過Android封裝好的API進行操做,讓存儲和讀取數據變得很是方便。

- 地理位置定位
移動設備和PC相比,地理位置定位是一大亮點,如今基本Android手機都內置了GPS,咱們能夠經過GPS,結合咱們的創意,打造一款基於LBS的產品,是否是很酷的事情啊,再說,目前火熱的LBS應用也不是空穴來風的,不過在天朝,由於可惡的GFW,只能用些本土化的地圖API,好比百度地圖、高德地圖。要是哪天能用上大谷歌的地圖,那纔是高大上啊。

- 強大的多媒體
Android系統提供了豐富的多媒體服務,好比音樂、視頻、錄音、拍照、鬧鈴等,這一切均可以在程序中經過代碼來進行控制,讓你的應用變得更加豐富多彩。

- 傳感器
Android手機中內置了多種傳感器,好比加速傳感器、方向傳感器,這是移動設備的一大特色,咱們能夠靈活地使用這些傳感器,能夠作出不少在PC上沒法實現的應用。

第24章 初識Android

學習Android開發工具的開發和使用。數據庫

第25章 活動

1.Activity類中定義了七個回調方法,覆蓋了生命週期的每個環節
onCreate()方法:活動第一次建立的時候調用
onStart()方法:活動由不可見變爲可見時調用
onResume()方法:活動準備好和用戶進行交互時調用
onPause()方法:準備去啓動或者恢復另外一個活動時調用
onStop()方法:活動時徹底不可見調用
onDestory()方法:活動銷燬以前調用
onRestart()方法:活動由中止狀態變爲運行狀態以前調用編程

2.生存週期
完整生存期
活動在 onCreate() 方法和 onDestroy() 方法之間所經歷的,就是完整生存期。通常狀況下,一個活動會在 onCreate() 方法中完成各類初始化操做,而在 onDestroy() 方法中完成釋放內存的操做。
可見生存期
活動在 onStart() 方法和 onStop() 方法之間所經歷的,就是可見生存期。在可見生存期內,活動對於用戶老是可見的,即使有可能沒法和用戶進行交互。咱們能夠經過這兩個方法,合理地管理那些對用戶可見的資源。好比在 onStart() 方法中對資源進行加載,而在 onStop() 方法中對資源進行釋放,從而保證處於中止狀態的活動不會佔用過多內存。
前臺生存期
活動在 onResume() 方法和 onPause() 方法之間所經歷的,就是前臺生存期。在前臺生存期內,活動老是處於運行狀態的,此時的活動是能夠和用戶進行相互的,咱們平時看到和接觸最多的也這個狀態下的活動。編程語言

第26章 UI組件

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的程序截圖:

  • 程序設計2:
  • 程序設計3:
  • 程序設計4:
  • 程序設計5:
相關文章
相關標籤/搜索