原创 聯繫人demo

實現了微信聯繫人的一個demo。不過是添加了滑動刪除的功能。 這個的用途其實很多,比如可以用在消息頁面,聊天頁面,好友管理頁面等。使用的是 ExpandableListView。關於排序,使用了一個pinyin4j開源JAR,按照特殊字符

原创 自定義View基礎篇一

概述 Android的自定義View算是比較重要但是又比較難的,因爲他涉及的View的繪製,事件傳遞等比較複雜的知識。 自定義View主要有兩種類型(我自己接觸到),一個是一個ViewGroup,把一些View繼承起來,封裝起來

原创 Android的Base初始化,使用代理模式

概述 首先,我們的項目一般會有很多的Base類,各種類型,風格的Activity,Fragment,或者是Dialog,然後我們的子類去繼承它執行一些統一性的初始化工作,比如初始化一些基礎控件,一些topbar之類的。然後,對於方

原创 AndroidAnnotaions框架的使用

Github地址:https://github.com/excilys/androidannotations Wiki地址;https://github.com/excilys/androidannotations/wiki/Cookbo

原创 JAVA的初始化的坑以及內存分配

最近在看JAVA程序猿16課,看到了變量的初始化和內存分配,然後覺得挺多坑的,就總結了下來。(順便,書真的挺好的) PART 1:首先,看一個例子: package test; public class TestInit {

原创 仿微信聊天功能實現

首先:微信聊天功能模塊包括 1,發送文字 2,發送表情 3,發送語音 4,發送圖片(圖庫和相機,可以同時發送多張) 其中,文字和表情是可以一起發送的,可以同時存在同一個輸入框當中,語音和圖片是獨立各自發送。 實現:文字和表情同時存在一個E

原创 Android開發使用RoboGuice3.0框架進行注入

githuab地址: https://github.com/roboguice/roboguice/wiki/InstallationGradle https://github.com/google/guice/wiki 其中3.0之後

原创 使用ProtocolBuffer或者是Wire框架進行數據傳輸

官方地址: https://developers.google.com/protocol-buffers/docs/javatutorial?hl=zh-cn 官方github: https://github.com/google/pro

原创 Android的OOM

Out Of Menory:內存溢出,主要原因是:我們的一個應用,運行在他自己的虛擬機哪裏,注意,是一個應用一個虛擬機,這樣子的目的是當虛擬機發生崩潰的時候不會使得整個系統都掛掉,我們應該需要的內存系統不足以提供,發生了內存溢出的錯誤。

原创 RecyclerView的全能適配器,帶有header和bottom

概述 現在我們基本上不怎麼使用ListView,而是使用RecyclerView代替了,關於如何引入和基本使用RecyclerView這裏就不分享了,我們主要分享的是如何打造一個全能的適配器給RecyclerView使用。 本文

原创 AS 的Project Structure無法打開

我的是使用F4,Ctrl+shift+alt+s,或者是點擊圖標都無法打開,而且,點擊圖標的時候出現了這樣子的log IllegalArgumentException: Multiple entries with same key: G

原创 JAVA的初始化順序

package test; public class TestInit { public static void main(String[] args) { new Dervied(); } } class Base {

原创 JavaPoet開源項目使用

JavaPoet開源項目使用 JavaPoet項目可以爲我們動態的生成Java文件,這是一個很強大和很動態的方法。我們使用註解的時候假如需要生成新的Java文件就可以通過這個開源項目實現。 項目地址:Javapoet 引入 我們在And

原创 自定義有動畫的Switch控件

自定義有動畫的Switch控件 效果圖 需求分析 我們需要一個類型Android Switch的功能,但是系統帶有的有點醜,我們自己自定義一個帶有動畫的Switch,完全使用自定義View實現,他是可以根據手勢進行move,以及過半時

原创 Gradle的使用技巧

Gradle的使用技巧 定義一些統一的編譯變量 當我們在一個AS的Project裏面,有挺多的module和library的時候,我們需要統一各個模塊的編譯版本,sdk版本等,我們可以通過gradle設置,這樣子設置的好處就是隻要我們有修