Android(五) (抽象類、context、數據庫(簡))

一、一些概念的回顧與補充:

1. 抽象類:

抽象類往往用來表徵對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。

通常在編程語句中用 abstract 修飾的類是抽象類。在C++中,含有純虛擬函數的類稱爲抽象類,它不能生成對象;在java中,含有抽象方法的類稱爲抽象類,同樣不能生成對象。

抽象類是不完整的,它只能用作基類。在面向對象方法中,抽象類主要用來進行類型隱藏和充當全局變量的角色。

2. 在面向對象的編程中,把用類創建對象的過程稱爲實例化。通常是使用有參數或無參數的構造方法來創建對象。其基本格式如下: 

     類名 對象名=new 類名(......);

3. context(https://www.jianshu.com/p/94e0f9ab3f1d)

Android應用模型是基於組件的應用設計模式,組件的運行要有一個完整的Android工程環境,在這個環境下,Activity、Service等系統組件才能夠正常工作,而這些組件並不能採用普通的Java對象創建方式,new一下就能創建實例了,而是要有它們各自的上下文環境,也就是我們這裏討論的Context。可以這樣講,Context是維持Android程序中各組件能夠正常工作的一個核心功能類。

ContextWrapper:上下文封裝器,contextlmpl:上下文模型。

Context在程序中,我們可以理解爲當前對象在程序中所處的一個環境,一個與系統交互的過程。比如微信聊天,此時的“環境”是指聊天的界面以及相關的數據請求與傳輸,Context在加載資源、啓動Activity、獲取系統服務、創建View等操作都要參與。

比如一個Activity就是一個Context,一個Service也是一個Context。Android程序員把“場景”抽象爲Context類,他們認爲用戶和操作系統的每一次交互都是一個場景,比如打電話、發短信,這些都是一個有界面的場景,還有一些沒有界面的場景,比如後臺運行的服務(Service)。一個應用程序可以認爲是一個工作環境,用戶在這個環境中會切換到不同的場景,這就像一個前臺祕書,她可能需要接待客人,可能要打印文件,還可能要接聽客戶電話,而這些就稱之爲不同的場景,前臺祕書可以稱之爲一個應用程序。

源碼中的註釋是這麼來解釋Context的:Context提供了關於應用環境全局信息的接口。它是一個抽象類,它的執行被Android系統所提供。它允許獲取以應用爲特徵的資源和類型,是一個統領一些資源(應用程序環境變量等)的上下文。

就是說,它描述一個應用程序環境的信息(即上下文);是一個抽象類,Android提供了該抽象類的具體實現類;通過它我們可以獲取應用程序的資源和類(包括應用級別操作,如啓動Activity,發廣播,接受Intent等)。

4.view:控件

二、SharedPreferences存儲

不同於文件的存儲方式,SharedPreferences是使用鍵值對的方式來存儲數據的。也就是保存一條數據需要提供一個對應的鍵。

多用PreferenceManager類的getDefaultSharedPreferences()方法。

(CheckBox:複選框)

三、SQLite數據庫存儲

通過SQLiteOpenHelper幫助類能對數據庫進行創建和升級,它也是一個抽象類。所以需要一個自己的幫助類去繼承它,同時OnCreate()、onUpgrate()也必須在自己的幫助類裏面重寫。

兩個重要的實例方法:getReadableDatabase()、getWritableDatabase()用於創建或打開一個現有的數據庫。

CRUD:見書即可。

四、LItePal(推薦)

1.需要引入開源庫。

2.需要配置好LitePal

3.LitePal採取的是對象關係映射(ORM)的模式。

4.定義一個類(Java Bean)添加到映射模型列表中

5.CRUD:見書即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章