原创 關於深淺拷貝的一個小坑

關於深淺拷貝的一個小坑 前言 從 c++ 轉到 java,對於 java 的基礎一直不好。今天想刷幾個題鞏固一下基礎,於是開心的刷起了 leetcode … 果然,不一會兒就掉坑裏了… 心路歷程 題目到是不難,就求給定集合

原创 AIDL 實現 IPC(進程間通信)

AIDL AIDL 即安卓接口定義語言,其語法類似 java,用於定義一些特殊的接口。 由來 就以 service 爲例: android 常以 service 提供一些服務和數據,acticity 通過 bind

原创 自定義View —— FlowLayout

自定義View —— FlowLayout 摘要 最近研究了一下 View 和 ViewGroup 這個東東, 然後想着動手寫點什麼。 於是實現了一下 FlowLayout —— 自動換行的標籤佈局。先上效果圖:

原创 WebView 初探

WebView 初探 介紹 WebView 是一個用於加載網頁的控件,相當於嵌入式瀏覽器。有了它我們就能以 native 和 web 混合的形式開發。對於一些不重要的頁面,可以交給前端實現,我們只需在 webview 里加載它,

原创 開源組件PullToRefresh

開源組件PullToRefresh 介紹: PullToRefresh:顧名思義,是一個支持下拉刷新的組件。它是一個老外編寫的,功能強大,支持ListView,GridView等等,在github上比較火。 github地址:

原创 java 併發實踐 - Chapter 2(Thread Safety) 筆記

Thread Safety 要做到線程安全,核心是控制對狀態(state)的訪問。 (對象的)狀態:通常是指它那些共享的(shared)、可變的(not final)的成員變量。 我們知道,線程之間是共享內存的(成員變

原创 RxJava 初探(網絡請求)

RxJava 介紹 寫在前面 rxjava 也用了好多次了。時隔多年,才終於有勇氣挖一下它的源碼。 這次主要研究了發佈訂閱流程 subscribe() 以及核心變換 lift(),至於其他的像線程切換 Schedulers、豐

原创 Android屏幕適配全攻略(最權威的官方適配指導)

轉載請註明出處:http://blog.csdn.net/zhaokaiqiang1992 Android的屏幕適配一直以來都在折磨着我們這些開發者,本篇文章以Google的官方文檔爲基礎,全面而深入的講解了Android屏幕適配的原

原创 Android 簡易懸停抽屜控件 —— 仿知乎收藏夾

寫在前面 一直覺得知乎的交互體驗是很好的,這次山寨了一把。 這是一個底部抽屜,類似知乎收藏夾。它可以懸停在中間,隨着滑動自然過渡到全屏。 它是仿照support包裏的DrawLayout和NavigationView設計的。 效

原创 android 二級聯動列表,仿eleme點餐頁面

寫在前面 最近手感不錯,老想寫點輪子。正好週末外賣點得多,就仿一仿“餓了麼”好了。先上圖吧,這樣的訂單頁面是不是很眼熟: 右邊的listview分好組以後,在左邊的Tab頁建立索引。可以直接導航,是不是很方便。關鍵在於右邊滑動,左邊也

原创 淺嘗安卓事件分發機制

本文出自http://blog.csdn.net/zhaizu/article/details/50489398,轉載請註明出處。 本文簡單介紹安卓應用層的事件分發機制,並輔以案例進行分析。 視頻版教程:http://v.youku.c

原创 從 Retrofit 源碼中學習設計模式(上)

寫在前面 Retrofit 是我用過最友好的網絡請求框架。無論是優雅的註解Api,還是強大而靈活的拓展性,都是其流行的一大要素。現如今,它的火爆程度完全不亞於 Rxjava。對於它的成功,api 的友好性是一方面,更深層的原因在於其精妙

原创 把 ViewPager 擼成棧

最近有看到一些棧式列表的效果,突然發現ViewPager也能做到較爲簡易的效果,實在是迫不及待。 效果圖 這還是你熟悉的ViewPager麼? 源碼 https://github.com/fashare2015/StackPageTra

原创 No ViewHolder!!! 一個非官方的純java版 databinding(拒絕xml配置).

寫在前面 我們的目標是 No ViewHolder and No Adapter. 官方的databinding的確十分厲害,各種xml綁定,然後自動生成一波文件,各種吊的飛起,不過容易讓人抓不住重點。爲了加深理解,我寫了這個純jav

原创 解耦解的早,改需求沒煩惱

摘要 世上本沒有解耦,需求改的多了也便有了解耦。 —— 產品經理 本例將通過一個計時控件,聊聊如何解耦~ 本TimerView僅作爲demo,不保證其健壯性,請勿在實際項目中使用。 特點 UI容器與計時邏輯分離 UI容器與具體UI佈