原创 用一個簡單的登錄例子瞭解MVP思想

相信大家都或多或少的瞭解過MVP(全稱:Model View Presenter)架構,MVP是從MVC演變過來的。MVC模式中,Activity即充當VIew又充當了Controller,使得Activity內的代碼十分臃腫,難

原创 使用Intent跳轉活動

一、使用Intent啓動活動 Intent大致可以分爲兩種:顯式Intent和隱式Intent 1. 顯式Intent button.setOnclickListener(new View.OnClickListener(){

原创 【創建型設計模式】單例模式

一. 單例模式的實現 單例模式的目的就是保證一個類有且僅有一個實例,並提供一個訪問它的全局訪問點。單例類擁有一個私有的構造函數,從而確保用戶無法通過new實例化這個類。單例類中還包含一個靜態私有成員變量與靜態公有的工廠方法,這個工

原创 讀書筆記 · Java虛擬機內存模型

1、前言 對於Java程序員來說,在虛擬機自動內存管理機制的幫助下,不再需要爲每一個new操作去寫配對的delete/free代碼,不容易出現內存泄漏和內存溢出問題,由虛擬機管理內存這一切看起來都很美好。不過,也正是因爲Java程

原创 【行爲型設計模式】策略模式

一. 定義 在很多情況下,實現某個目標的途徑不止一條,例如外出旅遊時遊客可以選擇多種不同的出行方式,如騎自行車,坐汽車,坐火車,或者坐飛機。 在軟件開發中,實現某一功能有多種算法,比如實現一個排序功能,就有快速排序、歸併排序和堆排

原创 【排序算法】快速排序

快速排序和歸併排序一樣,都是應用了分治法的排序算法 一. 算法思想 劃分:選定一個記錄作爲軸值,以軸值爲基準將整個序列劃分爲兩個子序列r1r_1r1​…ri−1r_{i-1}ri−1​和ri+1r_{i+1}ri+1​…rnr_n

原创 【排序算法】歸併排序

歸併排序是應用分治法的一個完美例子,歸併排序按照記錄在序列中的位置對序列進行劃分 一. 算法思想 劃分:將待排序序列r1r_1r1​,r2r_2r2​,…,rnr_nrn​劃分爲兩個長度相等的兩個子序列r1r_1r1​,…,rn/

原创 【排序算法】冒泡排序

冒泡排序是運用蠻力法解決排序的一種算法,這種算法比較清晰易懂 基本思想 兩兩比較相鄰數據,如果反序則交換,直到沒有反序的數據爲止 實現思路 在這裏我們以升序排列爲例子 將整個待排序的記錄序列劃分成有序區和無序區,初始時有序區爲空

原创 Android四大組件 - 廣播機制使用解析

標準廣播 是一種完全異步執行的廣播,在廣播發出後,所有的廣播幾乎會在同一時刻收到這條廣播消息,它們之間沒有任何先後順序可言。它是無法被截斷的 有序廣播 是一種同步執行的廣播,在廣播發出後,同一時刻只有一個廣播接收器能收到這條廣播

原创 Android四大組件 - Service使用解析

Service是Android實現程序後臺任務的解決方案,非常適合處理一些不需要與用戶交互但又要長期運行的任務。但不要被它的“後臺”二字所欺騙,Service默認並不是運行在子線程中的,他同樣和Activity一樣運行在UI線程。

原创 Android四大組件 - Activity的生命週期和啓動模式

Activity是Android提供給開發者的四大組件之一,主要作用是展示視圖、與用戶進行交互。當用戶初次啓動Activity時、當用戶執行跳轉到另外一個Activity或切換到其他應用時,Android都會調用Activity的

原创 Android Studio導入Github項目的方法

最近在github上下載開源項目,導入Android Studio的時候遇到各種問題,導入之後無法正確編譯等問題。最終,通過修改項目裏面的幾個文件就可以成功編譯運行了。 1. 下載項目 在github上找到你想要下載的Androi

原创 用一個簡單的登錄例子瞭解MVP架構

相信大家都或多或少的瞭解過MVP(全稱:Model View Presenter)架構,MVP是從MVC演變過來的。MVC模式中,Activity即充當VIew又充當了Controller,使得Activity內的代碼十分臃腫,難