寫給 Android 開發者的混淆使用手冊
點選開啟連結 毫無疑問,混淆是打包過程中最重要的流程之一,在沒有特殊原因的情況下,所有 app 都應該開啟混淆。 首先,這裡說的的混淆其實是包括了程式碼壓縮、程式碼混淆以及資源壓縮等的優化過程。依靠 ProGuard,混淆流程將主專案以及依賴庫中未被使用的類、類成員、方法、屬性移除,這有助於規避 64K 方法數的瓶頸;同時,將類、類成員、方法重新命名為無意義的簡短名稱,增加
清理無用的 Android 專案資源
專案長期的積累,就會造成部分資源不在使用,而這些資源還存在專案中沒有被清理掉,這些無用資源只會佔空間毫無用處。如何清理這些這些無用的資源呢?下面介紹下一個工具的使用,Andorid Lint 是 SDK Tools 16(ADT 16) 之後提供的一個工具,可以對於 Android 專案…
Android 圖片壓縮框架 – Tiny
圖片壓縮
Fragment 與 Activity 之間的相互通訊
Fragment 與 Activity 之間的相互通訊
android 訊息傳遞機制進階EventBus的深入探究
以前,對於activity和fragment之間的通訊可以使用介面的方式,定義起來比較麻煩費事,偶然間發現可以使用EventBus,發現很好用,檢視了一下官方說明:EventBus是針一款對Android的釋出/訂閱事件匯流排。它可以讓我們很輕鬆的實現在Android各個元件之間…
如何讓你的 app 在後臺被幹掉後優雅的重新啟動
作為一個 Android 開發者,肯定會遇到這樣的一種情況,使用者在玩著你開發的 app 時,突然有微信來訊息了,切換到了微信,然後還在微信逗留看視訊啊,聊天啊,刷朋友圈啊等等的,你所開發的 app 就出於後臺了,這個時候就很容易出現手機記憶體不足,app 被記憶體回收幹掉的情況了,等使用者終於聊完天,刷完朋友圈,回來 app 的時候,就會進行 app 的自我恢復了,如果開發者處理不好,就會出現崩潰的情況了,而且肯定會出現返回的時候一瞬間白屏,然後再顯示出來,這樣的使用者體驗非常的不好。那我們應該怎樣去解決這樣的狀況呢?扯了那麼多,我們的文章就正式開始啦!
一句程式碼搞定 ViewPager 的水平滑動和豎直滑動
支援水平方向上滑動和豎直方向上的滑動,直接修改的官方提供的 ViewPager 的原始碼,注入了方向判斷,使用起來和官方的 ViewPager 基本一樣,還有監聽事件也是一樣的,支援 setOffscreenPageLimit() 可以放心滑動。
自定義 View 動畫和 ViewPager 動畫效果以及手勢操作開源
自定義 View 動畫和 ViewPager 動畫效果以及手勢操作基礎練習,效果拔群~~
Android 下的懸浮窗許可權相容庫
Android 下的懸浮窗許可權相容庫
給初學者的RxJava2.0教程(一)
Outline [TOC] 前言 上個月RxJava2正式版釋出了,但目前國內的資料還比較少,以前使用過RxJava1只需要看看更新文件就知道怎麼使用了,但還有一些以前沒用過RxJava的朋友可能就不知道怎麼辦了,不知道該看RxJava1還是直接跳到RxJava2。所以寫下這個…
一個類實現自定義圓形、圓角矩形 View
日常開發中,常要用圓角矩形或者圓形來顯示頭像,今天我們一個類搞定圓角矩形和圓形 View 的展示,同時支援自定義邊框大小、邊框顏色、按下態蒙層顏色等,當然你也可以根據你的需求定義成支援各種形狀(橢圓、Path 等)及其他屬性;
圖片自動輪播 Banner, 觸控停止播放,放開恢復
圖片自動輪播 Banner, 觸控停止播放,放開恢復
Android 開發實現自定義日曆、日期選擇控制元件
Android 實現自定義日曆、日期選擇控制元件,方法通俗易懂,簡單明瞭
Android自定義控制元件滑動開關自定義滑動驗證
滑動驗證碼效果實現
android 省市區三級聯動
android 省市區三級聯動
android bluetooth——藍芽的開啟、搜尋、配對與連線
Android 的 blt 僅僅支援 api 18 android4.3 以上,有的功能甚至需要 api 19 android4.4;
所以我們在做 blt 專案之前一定要清楚可用的版本範圍。
我要講述的是開啟 blt 大門的操作。這些操作就是如何開啟 blt、如何搜尋到其他裝置、如何配對選中裝置、如何通過 mac 地址連線之前已經配對過的裝置以及連線成功的兩個(或一對多個)裝置如何通訊。
Android 如何簽名
Android 如何簽名
安卓Property Animator動畫詳解(二)-自定義屬性
安卓系統的預設屬性 安卓系統中提供了一系列的屬性動畫供你使用,常用的包括: 屬性名稱 描述 X 在父容器(非螢幕)的距離左側的距離,即X軸的距離 Y 在父容器(非螢幕)的距離頂部的距離,即Y軸的距離 scaleX X軸方向的縮放,Y軸大小不變,從中間向兩側或者從兩側向中間 sc…
MVP 開發的正確姿態
MVP:
V 層處理 UI 檢視操作;P 層實現業務邏輯操作(有設計需要的時候,核心業務甚至可以寫到一個核心的 P 裡面去);M 層為資料倉儲,後臺管理資料來源與資料控制,資料是來自網路、資料庫、SP、快取,示例:你可能會需要這樣一個實現,一個資料列表,不需要實時性,但是需要給網路情況有問題時的使用者提升使用者體驗,需要使用網路資料 + 本地快取資料機制,那麼,都可以統一在這個資料倉儲做處理,程式碼邏輯層次很清晰,你應該會喜歡上這個設計。
V-P 之間的呼叫方式採取依賴倒置原則,俗話就是使用抽象介面(回撥);P 與 V,程式碼寫多了,其實會發現,V 可以正常的呼叫 P,P 則要儘量少呼叫 V,或者使用 DataBinding,資料的變化使用繫結方式;P 與 M,M 只與 P 做溝通,資料一般來自後臺延時操作,這塊也就是使用 RxJava 情況較多的地方,網路請求可以嘗試使用 ReTrofit。一般情況下,一個 V 對應一個 P,而 P 和 M,會出現一個 P 對應多個 M 的情況(M 的介面多了,或許會把 M 按模組建立)。
教你實現最簡單的 QQ 訊息 item 側滑選單
跟大家介紹怎麼簡單的實現類似 QQ 訊息 Item 的左右滑動選單的實現
Android 之高仿 QQ6.6.0 側滑效果(背景動畫、透明 + 沉浸式狀態列、漸變效果)
Android 使用官方的 DrawerLayout 實現 QQ 側滑效果,支援沉浸式狀態列
瞭解 Android ANR
前言:本文所寫的是博主的個人見解,如有錯誤或者不恰當之處,歡迎私信博主,加以改正!原文連結,demo 連結 合理編寫在世界各地獲得效能測試的程式碼,但仍然覺得緩慢,掛起或凍結很長時間,或者花費太長的時間來處理輸入。應用程式響應速度最糟糕的是 “應用程式無響應”(ANR)對話方塊。 在 A…
Android 獲取 View 寬高的常用正確方式,避免為零
相信有很多朋友都有過在 Activity 中通過 getWidth() 之類的方法獲取 View 的寬高值,可能在 onCreate() 生命週期方法中,也可能在 onResume() 生命週期方法中。然而,不幸的是,並不能獲取所要的結果,寬高值均為 0。 如果對 View 的…
【譯】使用 APK Analyzer 分析你的 APK
Android Studio 2.2 包含了 APK Analyzer,通過它我們能夠直觀地看到 APK 的組成。使用 APK Analyzer 不僅能夠減少你花在 debug 上的時間,而且還能減少你的 APK 大小。
帶你高效學習 MVP+RxJava+Retrofit
羅列出本人學習 這三者和 lambda 表示式時 所看過的不錯的文章或專案
關於 Android RecyclerView 的那些開源 LayoutManager
Google 預設為 RecyclerView 提供了 LinearLayoutManager、StaggeredGridLayoutManager、GridLayoutManager,已經可以滿足很多開發需求了,但是實際開發過程中,免不了出現一些更加新穎的互動設計。於是,便從 Github 上整理了一波關於 RecyclerView 可以使用的 LayoutManager,在實際開發中需要用到時,遇到相似的效果時即可隨手拈來,提高效率。
提供側滑操作的控制元件——SlipperyLayout
這是一款提供側滑功能的 ViewGroup,可以設定它的滑動方向:左、右、上、下。 另外,它也解決了滑動衝突的問題,所以你可以把它放在你的 RecyclerView 或者 ListView 中。
強烈推薦 Android Studio 外掛
Android Studio 外掛
給初學者的RxJava2.0教程(二)
Outline [TOC] 前言 上一節教程講解了最基本的RxJava2的使用, 在本節中, 我們將學習RxJava強大的執行緒控制. 正題 還是以之前的例子, 兩根水管: RxJava 正常情況下, 上游和下游是工作在同一個執行緒中的, 也就是說上游在哪個執行緒發事件, 下游就在哪…
在 Android Studio 上除錯資料庫 ( SQLite )
以前 Eclipse 時代,除錯 SQLite 都是將資料庫檔案匯出到電腦,然後再用軟體開啟檢視。現在我們用 Android Studio,有沒有更方便的方法呢? SQLScout 安裝 SQLScout 是一個 Android Studio 的外掛,通過點選: Setting…
Android 做下拉重新整理的時候,在做些什麼
Android 下拉重新整理幾種實現方式的思考。
android 阿里面試題錦集
前幾天突然就經歷了阿里 android 實習內推的電面,感覺有好多以前看過的東西都忘記了,然後又複習了一下,找了很多阿里的面經總結了一下,希望對大家有幫助,下面的知識點大多出自 android 開發藝術探索,而且很多都是我自己的總結,方便自己記憶,如果想深入可以去看看這本書。
Android 動畫
Android 動畫
Android 動畫總結——View 動畫、屬性動畫、幀動畫
Android 動畫總結——View 動畫、屬性動畫、幀動畫
自定義側邊快速索引欄
現在有通訊錄的專案基本都會用到側邊快速索引欄,如何簡單自定義一個?
教你如何用 RecyclerView 做一個好用的輪播圖
引子 一般情況下,我們手機 App 上輪播圖一般都是幾張圖來回迴圈,最多也就10幾張,一般都是在10張以內的輪播。所以我們一般可能都是自己寫,還有可能用到了別人寫的第三方庫。由此可能由於圖片輪播數量不大,所以沒有考慮複用機制,以致於放上百張圖片或者上千張圖片輪播時,導致應用崩潰…
要換工作? 來看看面試題吧
今天要談的主題是關於求職. 求職是在每個技術人員的生涯中都要經歷多次, 對於我們大部分人而言, 在進入自己心儀的公司之前少不了準備工作, 有一份全面細緻面試題將幫助我們減少許多麻煩. 在跳槽季來臨之前, 特地做這個系列的文章, 一方面幫助自己鞏固下基礎, 另一方面也希望幫助想要換工作的朋友.
Android Studio 配置 SVN – Android 初學者 – 部落格頻道 – CSDN.NET
Android Studio 配置 SVN – Android 初學者 – 部落格頻道 – CSDN.NET
一款基於 MVP+RxJava2+Retrofit2+Picasso+DiskLruCache 的應用——熊貓眼
簡介 熊貓眼是一個平時用來學習的練手的專案,做這樣一個應用的目的主要有兩個: 公司專案因為歷史原因還有風險控制方面的問題,新的技術不一定能夠應用在現有的版本上。所以手癢了就自己弄個應用寫一寫,持續的更新增加自己的技能熟練度。同時也把坑踩一踩,以後用到的時候可以少走繞路。 像之前…
適配懸浮窗許可權與系統設定修改許可權
Github: https://github.com/czy1121/se…: http://reezy.me/2016-12-25/an… Android 6.0 的特殊許可權 (Special Perm…
DownloadManager – 下載檔案新姿勢
使用系統自帶 DownloadManager 來完成下載
BaseActivity 的封裝思想
一個好的封裝會讓我們的開發事半功倍。
從未如此驚豔!你好,SuperTextView(v1.4)
歡迎使用 SuperTextView,這篇文件將會向你展示如何使用這個控制元件來提高你構建專案的效率。
Android面試題收集
Android是一種基於Linux的自由及開放原始碼的作業系統,主要使用於移動裝置,如智慧手機和平板電腦,由Google公司和開放手機聯盟領導及開發。這裡會不斷收集和更新Android基礎相關的面試題,目前已收集100題。 1.Android系統的架構 Android系統架構之…
僅使用一張資源圖片為 View 設定具有按下效果的背景 – OneDrawable
僅使用一張資源圖片為 View 設定具有按下效果的背景
RecyclerView的新機制:預取(Prefetch)
RecyclerView 新機制
ANDROID 高仿微信拍照與視訊拍攝(Camera+TextureView+rxjava)
ANDROID 高仿微信拍照與視訊拍攝(Camera+TextureView+rxjava)
LeakCanary 傻瓜式的記憶體洩露檢測工具
在開發 Android 應用的過程中如果需要處理圖片或者大量資料的時候,就有可能會遇到 OOM(java.lang.OutOfMemoryError), 一般出現最多的是在建立 Bitmap 上,也有可能是在記憶體中處理了大量的資料上。出現 OOM 應用會直接崩潰,即使沒有出現 OOM, 記憶體使用過…
20 分鐘理解 React Native For Android 原理
公司內幾個 APP 已經接入並上線了多個 RN 模組,後續規劃的定製化需求及效能優化需要我們對 RN 底層原理有更深入的理解。下面通過研讀原始碼來分析和總結下 Android 中的 RN 實現原理。
仿 QQ 未讀訊息氣泡,可拖拽刪除,粘連效果。
仿 QQ 未讀訊息氣泡,可拖拽刪除,粘連效果。
安卓推送這件小事
今天來講講推送這件小事,事雖小,要做好卻不容易。 推送難,難於上青天。 我們在討論 Android 手機上的推送時,大多數情況是在說整合第三方推送,因為即使是像微信這樣的大廠,也需要廠商加到啟動白名單裡才能保持線上。 iOS 手機使用 APNs(Apple Push Notif…
一個支援豎向滾動的 Android ViewPager 實現
Android 原生 ViewPager 只支援了橫向滾動,目前有一些豎向滾動的實現方式都是通過 hack 佈局容器的 onInterceptTouchEvent 方法實現,但是沒有能夠很好地解決 ViewPager 與內部 View 的滾動事件衝突 (可以對比淘寶等電商 app 的商品詳情頁實現在 iOS 和 Android 上滾動的區別)。VerticalViewPager-chad 利用 ViewPager 的 fakeDrag 特性,並通過內部 View 的 OnTouchListener 處理 / 模擬事件分發,可以很好地支援 ViewPager 與內部豎向滾動 View 的組合使用。
我所理解的 RxJava——上手其實很簡單(二)
RxJava 系列,持續更新 ···
Android 簡單實現側滑刪除功能
利用 ViewDragHelper 優雅實現側滑刪除功能,程式碼簡潔,效果不錯,適應於任何 View。
Rxjava+Retrofit+MVP MD 風格 的閱讀類 APP
Rxjava+Retrofit+MVP MD 風格 的閱讀類 APP
史上最全面的 Android Studio 配置指南總結 – 包括護眼模式
使用 Android Studio 開發 APP 已有半年多的時間了,從剛開始的不習慣到慢慢適應再到逐漸喜歡上 Android Studio,中間的過程頗有一番曲折,現在把自己對 Android Studio 的配置心得總結下來,分享給大家,希望給後來人帶來方便。
要換工作? 還不來看看面試題?
馬上就要到三月份這個跳槽季了, 來看看面試題吧.
Android ImageView 的 scaleType 屬性圖解
ImageView 是 Android 中最常用的控制元件之一,而在使用 ImageView 時,必不可少的會使用到它的 scaleType 屬性。該屬性指定了你想讓 ImageView 如何顯示圖片,包括是否進行縮放、等比縮放、縮放後展示位置等。Android 提供了八種 scaleType 的屬性值,每種都對應了一種展示方式,下面就對每一種 scaleType 屬性值進行圖文解釋。
教你瘦身 zxing(android)
android 二維碼掃描是 APP 中常見的功能,最近閒餘時間比較多,特意去研究了下,分享出來,歡迎大家一起交流。
Android 程式碼混淆入門篇
- 對 Android 程式碼怎麼開啟混淆做一個簡單的介紹。
- 對混淆規則做一個簡單介紹;
- 在混淆過後 Crash 日誌反推程式碼工具 retrace.bat、視覺化反推工具 GUI 說明。