原创 Frament的使用教程-回退棧

管理Fragment回退棧 與Activity的任務棧類似,可以通過維護一個回退棧來保存每次Fragment事務發生的變化,如果在add或replce的時候調用了addToBackStack(),將被替換的Fragment添加到了

原创 Fragment的使用教程

1,Fragment的作用 Fragment作爲Activity的一部分有自己的生命週期方法,但是會受Activity的影響。主要作用可以用來做屏幕適配,一套代碼可以用於平板電視已經手機上,只需更改不同的佈局即可。Fragment

原创 動態加載案例

定義 所謂的動態加載就是動態的執行不通的代碼,只需要將最新的代碼放在服務器上即可,避免了頻繁的更新apk,提高了用戶的體驗 分類 Android項目中,動態加載按技術實現上的區別大致可以分爲兩種: 一 . 動態加載.dex/jar

原创 Android DrawerLayout+ToolBar+NavigationView實現側滑菜單效果,沉浸式狀態欄

最近看到很多APP都使用了Android Support Library的DrawerLayout實現側滑效果,下面我就自己寫了一個Demo來實現,其中還用到了Toolbar,NavigationView,沉浸式狀態欄效果 先看

原创 淺談EventBus框架的使用

1.EventBus的作用 EventBus是一款針對Android端優化的發佈/訂閱消息總線,它簡化了應用程序內各組件間、組件與後臺線程間的通信。其主要功能是用來替代傳統的Intent、Handler、BroadCast,在Fr

原创 ScrolView和RecyclerView嵌套使用的問題

我們的recyclerView有多個layoutmanager,通過重寫layoutmanager的方法就可以讓recyclerView和ScrollView嵌套了。但是請注意,如果recyclerView很長那麼強烈不建議去做嵌套,因

原创 增量更新實踐

定義 所謂的增量更新,區別於傳統的更新方式,將新的apk全部下載下來後安裝覆蓋掉舊的版本,增量更新只需要下載一個差分包即可,然後把下載的差分包和原來舊的apk進行合成,生成一個新的apk,這樣就可以極大的減少升級新版本所需要的流量

原创 Android中常見的數據加密和編碼方式

要點1:MD5算法(單向加密) MD5即Message-Digest Algorithm 5(信息-摘要算法5),用於確保信息傳輸完整一致,是計算機廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法)。MD5算法將數據(如漢字)運算爲

原创 仿豆瓣Flutter項目實踐教程

閒來無事,聽說谷歌發佈了Flutter穩定版,下面就先看一下DemoApp實例。 下拉刷新,上拉加載,列表展示 多tab切換 嵌入webview展示詳情頁 與原生交互,實現分享 自定義控件 效果圖: 首頁 下拉刷新

原创 WebviewJavascriptBridge的使用與介紹

上一篇簡單介紹了Androi與前端H5 js的交互方式,那些方式對於一些簡單的交互足夠了,但是如果涉及到複雜的交互就很乏力,下面就來介紹一個Github上用來處理Android與js較複雜的交互的框架。 框架地址: https://g

原创 友盟第三方登錄實現QQ和微信登錄

前言 市面上的app大部分都可以使用qq,微信這些第三方平臺的賬號來登錄,這樣可以提高用戶體驗,避免手工輸入賬號和密碼的麻煩。那麼第三方登錄的原理到底是什麼,以及使用友盟這個平臺怎樣實現qq和微信的聯合登錄?下面就來開始本片文章的正文。

原创 JAVA設計模式之-裝飾者模式

定義 裝飾者模式:在不改變原類文件以及不使用繼承的情況下,動態地將責任附加到對象上,從而實現動態拓展一個對象的功能。它是通過創建一個包裝對象,也就是裝飾來包裹真實的對象。 設計原則 開放-關閉原則:類應該對拓展開放,對修改關閉 類圖 1

原创 設計模式(一)你不知道的單例模式

定義:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 單例模式結構圖: 單例模式有多種寫法各有利弊,現在我們來看看各種模式寫法。 餓漢模式 public class Singleton { private

原创 EventBus 3.0源碼解析

1.簡介 想必每個入了門的Android開發者都多少對EventBus有過了解,EventBus是一個Android事件發佈/訂閱框架,通過解耦發佈者和訂閱者簡化 Android 事件傳遞。EventBus使用簡單,並將事件發佈和訂閱充分

原创 設計模式之策略模式

在軟件發開過程中,成成會遇到這樣的情況,實現某一個功能有多種算法或者策略,我們可以根據環境或者條件的不同選擇不同的算法或者策略來完成該功能。那麼就要在運行的時候進行更改,如果我們需要新增一種算法過着策略來實現改功能,就要去改動原來的代碼