原创 千呼萬喚始出來的CoordinatorLayout

CoordinatorLayout,千呼萬喚始出來。 親可記得我之前轉載的INTRODUCTION TO COORDINATOR LAYOUT ON ANDROID,今天將它翻譯一遍,以饗讀者。 在這一年的I/O開發者大會上,Googl

原创 摩拜單車微信小程序開發技術總結

前言 摩拜單車小程序已於微信小程序上線第一天正式發佈,刷爆微博媒體朋友圈。本文主要講講技術方向的總結,在段時間的開發週期內內如何一步步從學習到進階。 思維轉變 微信小程序沒有HTML的常用標籤,而是類似React的微信自定義組件,

原创 項目實戰:借鑑Android API源碼(Splitter-split和TextView-setText),不懼NullPointerException(文末彩蛋)

NullPointerException空指針異常可以說是我們開發中最常遇到的Bug,因此我們處處判空,膽戰心驚。 處處判空確實可以解決空指針異常的Crash。 但處處判空未免過於草木皆兵,而且寫出來的代碼十分不優雅,多餘判斷效率低下,這

原创 Android SlidingMenu 使用詳解

很多APP都有側滑菜單的功能,部分APP左右都是側滑菜單~SlidingMenu 這個開源項目可以很好幫助我們實現側滑功能,如果對SlidingMenu 還不是很瞭解的童鞋,可以參考下本篇博客。將側滑菜單引入項目的方式很多中,本博客

原创 TextView文字間距美化-行間距

問題:Android系統中TextView顯示中文時默認會比較緊湊,不是很美觀。 爲了讓每行保持一定的行間距,可以設置屬性 android:lineSpacingExtra 或 android:lineSpacingMultiplier

原创 JavaSE系列:必知必會的異常(概述)

你能保證自己寫的程序永遠不出錯?就算程序不出錯, 你能保證用戶總是按你的意願輸入?就算用戶聰明且配合, 你能保證程序的操作系統永遠穩定?你能保證程序的硬件不會突然壞掉?你能保證網絡永遠暢通?··· 正因爲太多的無法保證情況,因此我們需要

原创 從源碼分析,初步瞭解開源項目SlidingMenu(側滑菜單)

我們看到的很多APP都有側滑菜單的功能,今天我們學習一個Github上的開源項目SlidingMenu,對SlidingMenu 還不是很瞭解的童鞋,可以參考下本博客。本博客從源碼入手,寫一個小Demo引入SlidingMenu,後續開

原创 INTRODUCTION TO COORDINATOR LAYOUT ON ANDROID

At this year’s I/O developers conference, Google introduced a new Android Design Support Library to help developers u

原创 聊聊併發(一)深入分析Volatile的實現原理

引言 在多線程併發編程中synchronized和Volatile都扮演着重要的角色,Volatile是輕量級的synchronized,它在多處理器開發中保證了共享變量的“可見性”。可見性的意思是當一個線程修改一個共享變量時,另外

原创 Android WeakReference的理解與使用【末尾個人修正原作筆誤】

前言: 看到篇帖子, 國外一個技術面試官在面試senior java developer的時候, 問到一個weak reference相關的問題. 他沒有期望有人能夠完整解釋清楚weak reference是什麼, 怎麼用, 只是期望有

原创 一個登錄Demo初識MVP

從我們的項目到JD,處處可見Android MVP 模式的身影。 項目越來越龐大,開發越來越多,MVP的優勢越來越明顯。 今天我們通過一個簡單的登錄Demo,初步學會MVP的使用。 首先,什麼是MVP? MVP模式是MVC模式在Andr

原创 兩步實現類似格瓦拉的轉場動畫

嗯,真的是兩步就可以實現了 文章目錄 1 一.概述 2 二.說明 3 三.使用方法 4 四.下載 一.概述 這是格瓦拉的轉場動畫效果。 (安利一發:格瓦拉有時候搞活動電影票真便宜~APP效果也很酷炫) 剛開始以爲是And

原创 人臉識別基本知識

寫在前面,我碩士期間主要做人臉特徵點的定位和人臉識別的相關應用,期間讀了一些人臉識別的paper,仍然記得開始做人臉識別理論研究的時候遲遲難入門的感覺,直到讀到參考文獻中的這一篇,本文算是在該論文的基礎上,結合自己的一些總結和體會形成的

原创 聊聊併發(六)——ConcurrentLinkedQueue的實現原理分析

1. 引言 在併發編程中我們有時候需要使用線程安全的隊列。如果我們要實現一個線程安全的隊列有兩種實現方式:一種是使用阻塞算法,另一種是使用非阻塞算法。使用阻塞算法的隊列可以用一個鎖(入隊和出隊用同一把鎖)或兩個鎖(入隊和出隊用不同的鎖

原创 Git的核心概念

本文不是Git使用教學篇,而是偏向理論方面,旨在更加深刻的理解Git,這樣才能更好的使用它,讓工具成爲我們得力的助手。 版本控制系統 Git 是目前世界上最優秀的分佈式版本控制系統。版本控制系統是能夠隨着時間的推進記錄一系列文件的