原创 android Java 面向對象編程之 interface

    interface 是Java實現多態的一種方式(其他的還有繼承,重寫等等),Java不允許多繼承(一個類繼承多個類),但是可以實現多個接口。     在項目開發中我們一般什麼情況下才會用到interface呢?設計模式中有種比較

原创 替換PopUpWindow(解決焦點獲取問題)實現頂部篩選菜單(頂部不變,底部陰暗)

很多人寫頂部篩選菜單或彈窗都會用到PopUpWindow,但是PopUpWindow也不是萬能的,現在商業App的一些界面功能實現使用PopUpWindow無法達到需要的效果(焦點問題,頂部明亮,底部陰暗問題)因此本人在此寫了一個demo

原创 android surport

google提供了Android Support Library package 系列的包來保證來高版本sdk開發的向下兼容性,即我們用4.x開發時,在1.6等版本上,可以使用高版本的有些特性(即低版本的手機或者模擬器能夠使用在高版本下

原创 最常用的Java設計之一 觀察者模式 在android中的實例 ListView Adapter機制

我們都知道ListView都必須有設置適配器的這個步驟,即setAdapter(ListAdapter adapter),而在這裏andriod framework使用到了Java觀察者模式。在你看下面的解析之前,讀者必須要先對觀察者

原创 用Java實現歸併排序

熟悉數據結構的同學都知道,歸併排序是非常重要也是非常實用的一種排序方式,算法很穩定 ,時間複雜度保持在nLogn(底是2)。 下面本人實用Java來實現這個算法, public class MergeSort {         //每一

原创 做一個下拉刷新必須需要掌握的android知識點

下拉刷新,隨便到csdn服務器,gitbub上去找,去下載,有一大堆.現在我總結了一下要真正做一個下拉刷新的效果需要熟悉的android知識點,後面會持續更新。 第一點:android的事件分發(DistpatchTouchEvent)

原创 android關於Handler更新UI的用法

Handler 在android開發的Activity組件中會經常經常用到,那Handler有什麼用呢?Handler在什麼樣的情況下會用到呢?  現在我來說一下比較常用的一種情況。 一般Activity 一開始會加載主線程,如果頁面上的

原创 Java設計模式之模板方法模式在android中的實例

我們在開發android應用時,模板方法模式在什麼情況下會使用呢? 如果僅僅是查看android的框架層代碼,會發現非常多的地方使用到了模板方法模式,例如public void layout(int l, int t, int r, in

原创 android 實現流式佈局FlowLayout

import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.view.View;

原创 android內存優化

android對內優化的方法有很多,下面簡單介紹幾種 內存優化其實只要我們對Java的內存機制有一定的瞭解就可以做到了 (1)對於可以複用的對象(引用),不要重複頻繁地創建。當我們使用new關鍵字爲對象分配內存時,如果在整個項目中都是使用

原创 LinearLayout中的屬性baselineAligned的使用

Android線性佈局中的屬性主要的就是控制浮動方向的orientation,其他的就是輔助浮動顯示的,其中有一個屬性控制基線,也就是baselineAligned,讓我有點迷惑,下邊通過例子講解下這個屬性的使用。 1.首先這個基線主

原创 非常實用的android動態註冊廣播併發送以及接收實例

廣播是android四大組件之一,很多情況下數據的傳遞是用過Intent發送,  跳到另外一個Activity就可以接收數據然後更新UI了,但是如果不是跳到另外一個Activity的情況下數據是怎麼傳遞的呢?就需要使用BroadcastR

原创 Java實現統計一篇文章中每個單詞出現的次數

使用Java正則表達式 和HashMap(哈希表)統計一篇文章中的每個單詞出現的次數(去除標點符號和空格) import java.io.BufferedReader; import java.io.File; import java.

原创 Java反射機制

JAVA反射機制是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法;這種動態獲取的以及動態調用對象的方法的功能稱爲java語言的反射機制

原创 Ubuntu常用命令大全

一、文件/文件夾管理 ls 列出當前目錄文件(不包括隱含文件) ls -a 列出當前目錄文件(包括隱含文件) ls -l 列出當前目錄下文件的詳細信息 cd .. 回當前目錄的上一級目錄 cd - 回上一次所在的目錄 cd ~