20172315 2017-2018-2 《程序設計與數據結構》第十一週學習總結

20172315 2017-2018-2 《程序設計與數據結構》第十一週學習總結

教材學習內容總結

第二十三章 Android簡介php

  • Android 操做系統是一種多用戶的Linux系統,它使用Java做爲編程語言。
  • Anroid4.4以前,其應用程序在Dalvik的虛擬機上運行,Android5.0及之後版本,其源代碼使用ART(Android RunTime)來執行。
  • APK表示應用程序包,它是一個基本的zip文件,可以使用unzip或Winzip來解壓縮。apk文件能夠在一臺物理設備或模擬器上運行,部署一個Android應用程序很容易。
  • 活動(Activity):包含用戶交互組件的一個窗口。
  • 服務(Service):在後臺長時間運行的操做。
  • 廣播接收者(Broadcast receiver):一個監聽器,負責對系統或應用程序聲明作出響應。
  • 內容提供者(Content provider):管理要和其餘應用程序分享的一組數據的一個組件。
  • 安卓版本:

    第二十四章 初始Android
  • Android Studio 是一個Android集成開發工具,基於IntelliJ IDEA. 相似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用於開發和調試。
  • Project窗口包括兩個主要的節點:app和Gradle Scripts。app節點包含了應用程序中全部的組件。Gradle Scripts節點包含Gradle構建腳本,以供構建Android項目。
  • app則又包含三個節點:manifests(包含另外一個AndroidManifest.xml文件,對應用程序進行描述),java(包含了全部的Java應用程序和測試類),res(包含了資源文件)。
  • Log類帶有以不一樣的日至級別進行日誌消息的方法。d(debug)、i(info)、v(verbose)、w(warning)、e(error)、wtf(what a terrible failuer)。
    第二十五章 活動
  • 活動是包含了用戶界面組件的一個窗口,用戶能夠和這些用戶界面組件交互,啓動一個活動,每每意味着要顯示一個窗口。一個典型的Android應用程序,都是從啓動一個活動開始的,也就是說啓動一個活動就意味着顯示一個窗口。
  • Activity中有onPause, onStart, onResume, onDestory, onRestart和onStop這六個方法。以下圖所示:
  • 修改圖標:在res/drawable中保存jepg文件或者png文件,png首選,其支持透明度。
  • 修改圖標:編輯清單文件manifests的android:icon屬性,以指向新的圖像,可使用以下格式修改引用圖像文件:@drawable/filename,其中,filename不帶擴展名的文件名稱。
  • 用戶從主屏幕選擇APP圖標時,祝活動經過系統自身而啓動,再擁有多個活動的應用程序中,頗有可能須要啓動另外一活動,這時即可以經過調用startActivity方法直接作到。
  • 經過傳遞給意圖一個活動類而構造的意圖,叫作顯式意圖。也能夠創做一個隱式意圖,在這種狀況下咱們沒有指定一個意圖類,相反,咱們給Intent類的構造方法傳遞一個動做,讓系統來決定啓動哪一活動,若是有多個活動能夠處理,系統會讓用戶來進行選擇。

    第二十六章 UI組件
  • Android SDK提供了叫做微件(widget)的衆多簡單的和複雜的組件。微件有不少例子,好比按鈕、文本字段、進度條等。此外,還需選擇一個佈局來放置UI組件。微件和佈局,都在android.view.View裏實現。
  • Toast是一個小的彈出對話框,用於顯示一條消息做爲給用戶的反饋。Toast並不會代替當前的活動,而且只是佔據了一條消息那麼大的空間。
  • 通知是出如今狀態欄裏的一條消息,和Toast不一樣,通知是持久的,而且將保持顯示,直到關閉它或者是關閉設備。

教材學習中的問題和解決過程

  • 問題1:書上提到的監聽器不太瞭解其具體做用
  • 問題1解決方案:監聽器是一個存在於View類下的接口,通常以On******Llistener命名,實現該接口須要複寫相應的on****(View v)方法(如onClick(View v))。
    監聽器的三種實現方法:
    方法一:在Activity中定義一個內部類繼承監聽器接口(這裏是OnClickListener)。常見的繼承方法以下:
class MyListener implements View.OnClickListener{
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this,"you have clicked Button2",Toast.LENGTH_SHORT).show();
        }
    }

方法二:實現匿名內部類。這種方法適合只但願對監聽器進行一次性使用的狀況,在該代碼塊運行完畢以後,該監聽器也就不復存在了。java

bt1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this,"you have clicked Button1",Toast.LENGTH_SHORT).show();
            }
        });

方法三:利用佈局文件中的onClick屬性,並在實現文件中實現該方法。注意的是這裏的方法名應該和佈局文件中onClick屬性的方法名相同,該方法必須是public方法。node

// 方法三,注意須要public方法
    public void onButtonClick (View view){
        Toast.makeText(MainActivity.this,"you have clicked Button3",Toast.LENGTH_SHORT).show();
    }
}

上週考試錯題總結

  • 錯題1及緣由,理解狀況

An array can be classified as what type of object?android

A . dynamic
B . ordered
C . first-in first-out
D . heterogeneous
E . collection
正確答案: E
你的答案: A
一個數組存儲一組項目,並被複製爲一個集合類型
數組存儲多個項目,但它們都必須是相同類型的web

  • 錯題2及緣由,理解狀況

Which of the following is considered an Abstract Data Type?編程

A . array
B . reference variable
C . any of the primitive types (e.g., int, double, char)
D . vector
E . all of the above
正確答案: D
你的答案: E
抽象數據類型包含數據結構以及操做和訪問數據結構的方法。 在列出的那些中,只有矢量結合了這二者。數組

  • 錯題3及緣由,理解狀況

Abstract Data Types have which of the following object-oriented features?數據結構

A . information hiding
B . inheritance
C . polymorphism
D . message passing
E . all of the above
正確答案: A
你的答案: E
全部這些答案都是面向對象功能的類型。全部ADT都利用信息隱藏功能,以便數據結構不能直接從ADT外部操做,但不須要其餘面向對象的功能。app

  • 錯題4及緣由,理解狀況

One operation that we might want to implement on a Stack and a Queue is full, which determines if the data structure has room for another item to be added. This operation would be useful編程語言

A . only if the Queue or Stack is implemented using an array
B . only if the Queue or Stack is implemented using a linked list
C . only for a Queue
D . only for a Stack
E . none of the above, a full operation is not useful at all
正確答案: A
你的答案: B
因爲該數組是一個靜態大小的對象,所以若是它被填充,則應該阻止任何添加類型的操做

  • 錯題5及緣由,理解狀況

In a linked list in Java

A . the link is an object
B . the link is a node
C . the link is a reference
D . the link is an int
E . the link is a class
正確答案: C
你的答案: B
在連接列表中,連接是對下一個節點的引用。一個節點的數據部分多是一個int,以及任何其餘類型的數據。

  • 錯題6及緣由,理解狀況
    A linear data structure

A . always has more than one link per node
B . is sometimes represented as a tree or a graph
C . can have but a single link per node
D . almost always is kept in sorted order either ascending or descending
E . none of the above
正確答案: C
你的答案: E
線性數據結構是一種當您繪製圖片時顯示爲一系列鏈接節點的結構。

結對及互評

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20172318
    • 結對學習內容
      • 第23章 Android簡介
      • 第24章 初始Android
      • 第25章 活動
      • 第26章 UI組件

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 200/200 2/2 20/20
第二週 287/481 2/4 18/38
第三週 320/801 3/7 22/60
第四周 900/1600 2/9 30/90
第五週 807/2407 2/11 40/130
第六週 619/3023 2/13 40/170
第七週 621/3644 2/15 40/210
第八週 805/4364 2/17 40/250
第九周 1787/6211 2/19 40/290
第十週 792/ 7003 2/21 40/340
第十一週 0/ 7003 2/23 40/380

參考資料

相關文章
相關標籤/搜索