202009-14 Win10新添實用功能,你發現了嗎? HOT 盡管微軟更新總是不斷翻車,各種bug不斷,但用戶量依然很大,而很多人還是對新版系統抱有很大的期望。這不,在最新的 Windows 10 預覽版中,微軟終于帶來了 Windows 10X 系統的三個新的閃亮功能,在近期推出的Build 20206 預覽版中已經開始測試,有些人已經體驗上了,你發現了嗎? 繼續閱讀 >
201801-29 2018 年初值得關注的 25 個新 Android 庫和項目 這是我最新收集的25個Android庫和項目列表,你也許會發現它們有用,有趣,并值得查看一下。所有的都在最近3個月發布的,排序不分先后。開始查閱吧!1.transitionerTransitioner是一個為兩個擁有嵌入子視圖的視圖之間提供簡便、動態且可調整的動畫效果的庫。它純 100%使用Kotlin編寫而成,使用MIT許可,且擁有良好的文檔。該庫支持API19及以上的SDK版本,而且在項目中也包含了用... 繼續閱讀 >
201708-19 Android非UI線程更新UI的探索 眾所周知,在Android中如果在非UI線程更新UI的話,會拋出異常:Onlytheoriginalthreadthatcreatedaviewhierarchycantouchitsviews.因此我們很自然地認為只能在UI線程更新UI了。但是在實際開發中,有時可能有在非UI線程更新UI的需求,如:想通過非UI線程來預加載View。因此本文將探索在非UI線程更新UI的方式。checkThread突破口首先來找下突破口。從上面提到的異常開始切入,拋出該異常的代碼如下:android.view.... 繼續閱讀 >
201707-15 Android開發周報:微信模塊化重構實踐、滴滴插件化項目開源 新聞7月份安卓各版本份額:牛軋糖終于突破兩位數:谷歌近日給出了安卓系統各版本最新的份額數據,去年推出牛軋糖版本(7.0,7.1)終于達到了兩位數的市場份額,占11.5%。2015年推出的棉花糖仍然占據統治地位,市場份額達31.8%,之后是棒棒糖,也高達30.1%。《谷歌暗示:Android8.0系統正式版即將到來》:從谷歌發布信息來看,谷歌會于本月底推送Android8.0的最后一個開發者預覽版,此版本將接近于最終正式版... 繼續閱讀 >
201707-13 總結Android模塊化的一些知識點。 關于Android模塊化我有一些話不知當講不當講最近公司一個項目使用了模塊化設計,本人參與其中的一個小模塊開發,但是整體的設計并不是我架構設計的,開發半年有余,在此記錄下來我的想法。模塊化場景為什么需要模塊化?當一個App用戶量增多,業務量增長以后,就會有很多開發工程師參與同一個項目,人員增加了,原先小團隊的開發方式已經不合適了。原先的一份代碼,現在需要多個人來維護,每個人的代碼質量也... 繼續閱讀 >
201705-19 WebView 緩存原理分析和應用 一、背景現在的App開發,或多或少都會用到Hybrid模式,到了WebView這邊,經常會加載一些js文件(例如和WebView用來Native通信的bridge.js),而這些js文件不會經常發生變化,所以我們希望js在WebView里面加載一次之后,如果js沒有發生變化,下次就不用再發起網絡請求去加載,從而減少流量和資源的占用。那么有什么方式可以達到這個目的呢?先得從WebView的緩存原理入手。二、WebView的緩存類型WebView主要包括兩類... 繼續閱讀 >
201705-15 一個簡單實用的Android調試應用技巧 在應用開發中,我們常常會進行日志打印或者debug調試,以此來分析運行時的一些信息,便于發現bug和問題。AndroidStudio的Debug功能很好用,但是有時候有些情況下,就顯得不是那么快捷和便利。比如我們調試的點在應用一打開的時候,很靠前,例如Application的onCreate方法中,以至于我們不能足夠快的設置進程為debug模式雖然上面的情況可以通過AndroidStudio的debug運行來解決,但是如果項目很大的話,運行... 繼續閱讀 >
201705-06 Android工作經驗之開發技術分享 1.全部Activity可繼承自BaseActivity,便于統一風格與處理公共事件,構建對話框統一構建器的建立,萬一需要整體變動,一處修改到處有效。2.數據庫表段字段常量和SQL邏輯分離,更清晰,建議使用Lite系列框架LiteOrm庫,超級清晰且重心可以放在業務上不用關心數據庫細節。3.全局變量放全局類中,模塊私有放自己的管理類中,讓常量清晰且集中.4.不要相信龐大的管理類的東西會帶來什么好處,可能是一場災難,而要... 繼續閱讀 >
201704-07 Android性能優化系列之Bitmap圖片優化 在Android開發過程中,Bitmap往往會給開發者帶來一些困擾,因為對Bitmap操作不慎,就容易造成OOM(Java.lang.OutofMemoryError-內存溢出),本篇博客,我們將一起探討Bitmap的性能優化。為什么Bitmap會導致OOM?1.每個機型在編譯ROM時都設置了一個應用堆內存VM值上限dalvik.vm.heapgrowthlimit,用來限定每個應用可用的最大內存,超出這個最大值將會報OOM。這個閥值,一般根據手機屏幕dpi大小遞增,dpi越小的手機,每個... 繼續閱讀 >
201703-10 Android Studio,使用技巧,問題記錄和一些好用的插件 使用技巧根據不同buildType使用不同包名和資源比如在production,development,qa不同階段使用不同的packageName和authority,在build.gradle中配置如下:productFlavors{production{applicationId="com.myapp.app"resValue"string","authority","com.facebook.app.FacebookContentProvider5435651423234"}development{applicationI... 繼續閱讀 >
201702-22 作為 Android 開發者必須了解的 Gradle 知識 在Android開發中,很多時候我們不需要修改*.gradle文件太多,我們添加依賴、修改targetcompile、最低支持APIlevel,或者修改簽名配置和build類型。其它更復雜一些邏輯,我們最后可能就是從StackOverflow中copy了一些自己也不太懂的代碼。本文中我們將一步一步介紹Android工程中用到的gradle文件及其背后的原理。1.Groovy1.1語法Gradle文件其實是用Groovy腳本寫的,我們都會寫java,所以入門Groovy非常簡單。... 繼續閱讀 >
201702-09 如何隨apk一起打包并使用SQLite 背景開發環境macOS:Sierra10.12.1SQLite:3.9.2JDK:1.8.0_77shell:zsh對應源碼:shakeba:https://github.com/bihe0832/ShakebaSQLiteSQL語法https://www.tutorialspoint.com/sqlite/sqlite_data_types.htm準備數據庫創建數據表創建DB文件在shell中輸入下面的命令創建db.?1sqlite3shakeba.dbSQLiteversion3.9.22... 繼續閱讀 >
201702-09 Android應用瘦身,從18MB到12.5MB 開篇語前陣子老大交給了我一個任務,主要是幫我們開發的直播應用做Android端的安裝包瘦身,花了大概一周的時間把安裝包從18MB減小到了12.5MB。原本完全可以優化到10MB之下,但由于其他原因的限制,所以目前階段只到12.5MB為止。在此記錄一下優化的思路和用到的工具,方便自己以后Review,有需要的童鞋也可供參考。瘦身的目的從目的導向來看,我們是不會無緣無故去做一件事情的,那我們對應用瘦身的目的... 繼續閱讀 >
201701-16 6 個可以讓代碼變得更整潔的 Android 庫 Android開發是有趣的——這毫無疑問。然而,還是有很多平臺迫使我們編寫重復的樣板代碼。很多時候這都與需要你處理的UI組件相關。有一些確實是你需要的,當你希望你的應用程序架構能夠干干凈凈的時候。有很多操作在后臺異步執行;事實上,最后很容易成為一堆意大利面條似的代碼,不可讀或者就是讓人感覺不正確。今天,我們將看看6個可以幫助保持代碼清晰和可讀性的Android庫,并且使用示例項目以方便你可以看到庫的作用。... 繼續閱讀 >
201701-16 Android性能優化之被忽視的優化點 對于性能優化這個知識點來說,實在是太廣了,博主本人也一直非常關注這方面的學習,而對于性能優化來說它包括了非常非常非常多方面,比如:I/O的優化、網絡操作的優化、內存的優化、數據結構的優化、代碼層次的優化、UI渲染優化、CPU資源使用率的優化、異常處理的優化等等等等。。。本篇文章就博主本人的理解來講述一些在Android開發中可以優化的地方ArrayList和VectorArrayList和Vector都是內部以數組實現的Li... 繼續閱讀 >
201701-03 我的 Android 開發實戰經驗總結 以前一直想寫一篇總結Android開發經驗的文章,估計當時的我還達不到某種水平,所以思路跟不上,下筆又捉襟見肘。近日,思路較為明朗,于是重新操起鍵盤開始碼字一番。先聲明一下哈,本人不是大廠的程序猿。去年畢業前,就一直在當前創業小團隊從事自己熱愛的打碼事業至今。下面總結是建立在我當前的技術水平和認知上寫的,如有不同看法歡迎留下評論互相交流。1.理解抽象,封裝變化目前Android平臺上絕大部分開發都是用著Ja... 繼續閱讀 >
201701-03 一個簡單的網速顯示懸浮窗 2016轉眼就要過去了,剛剛參加完學院舉辦的元旦晚會,看了看系里的大牛的各種事跡,內心感慨萬分。回來繼續安心做我的小碼農,順便更一下將近一個月沒有更新的博客。這次帶來的是一個懸浮窗網速顯示計,先看下效果:demo這里主要是在桌面上顯示一個懸浮窗,利用了WindowManager以及Service,接下來看看如何實現這樣一個效果:首先APP必須獲得在桌面上顯示懸浮窗的機會,很多第三方ROM都限制了這一權限,我們... 繼續閱讀 >
201701-03 一道經典的Android面試題 摘要今天,給各位分享一個很有意思,而且非常經典的Android面試題。試題引入題目:原Activity啟動一個新Activity,然后關閉這個新Activity回到原Activty,在這個過程中這兩個Activity的生命周期經歷了怎樣的變化?很多面試者給出了這樣的答案:activity_error.png答案真的如此嗎?╮( ̄▽ ̄)╭相信一些有經驗的老司機們已經開始笑了~其實,這是一個很簡單的問題,打印一下Log日志就知道... 繼續閱讀 >
201612-19 安卓下的刮刮卡摸獎的實現 效果如下:呱呱卡開獎前呱呱卡開獎后實現思路一張呱呱卡有三層,最底層我用一個TextView控件顯示中獎內容,中間層是刮完之后的顯示圖樣,最上面一層是刮刮卡的封面。手指刮除封面的過程就是把刮刮卡最上面一層裁剪的過程。涉及的知識點canvas.clipPath(),Path類,Region.Op類onDraw方法和onTouchEvent方法的配合核心代碼如下:publicclassLotteryViewextendsView{p... 繼續閱讀 >
201612-08 史上最全解析Android消息推送解決方案 前言消息推送在Android開發中應用的場景是越來越多了,比如說電商產品進行活動宣傳、資訊類產品進行新聞推送等等,如下圖:推送消息截圖本文將介紹Android中實現消息推送的7種主流解決方案目錄目錄1.定義在用戶未打開App時,App主動向用戶推送服務器最新消息。如下圖:消息推送的本質是:App將服務器更新的信息推送給用戶2.作用產品的角度:功能... 繼續閱讀 >
201612-08 Android通用標題欄組合控件 由于項目中經常用到此種組合控件,就封裝了下,具體效果看下圖,老司機可以繞道哈!Image.png一、主要功能支持左右圖標動態設置支持左右、中間文字動態修改支持字體大小、顏色修改支持左右圖標,左中右文字隱藏顯示支持左右圖標和文案的點擊監聽二、基本使用方式<com.example.android.customvView.CustomNavigatorBarandroid:id="@+id/customView"android... 繼續閱讀 >
201612-08 Android 混淆從入門到精通 簡介作為Android開發者,如果你不想開源你的應用,那么在應用發布前,就需要對代碼進行混淆處理,從而讓我們代碼即使被反編譯,也難以閱讀。混淆概念雖然容易,但很多初學者也只是網上搜一些成型的混淆規則粘貼進自己項目,并沒有對混淆有個深入的理解。本篇文章的目的就是讓一個初學者在看完后,能在不進行任何幫助的情況下,獨立寫出適合自己代碼的混淆規則。說在前面這里我們直接用AndroidStudio來說明如何進... 繼續閱讀 >
201612-06 在線看Android系統源碼,相見恨晚的幾種方案 前言:最近在研究MediaCodec,u盤壞了,之前下載的源碼也就自然沒有了,真是個難過的事情,不能因為沒有源碼了,就阻擋我的計劃了呀,于是就是今天一文,在線看Android源碼,加之此前很多人也有向我留言,如何看android系統的源碼,今天來敲黑板,劃重點了。不管是做Android底層開發,還是做應用層開發,在Android這條路上走下去,必須對于Android源碼夠了解,如某一個功能,某一個機制,或者某一個API,它到底是如何實現... 繼續閱讀 >
201612-06 Android APK 更新之路 一、前言提到APK更新,大家可能會想到友盟(umeng)更新,市場上已有數萬款應用在使用友盟自動更新的服務。但友盟于2016年10月15日起停止了更新服務。那么我們需要自己處理APK更新的業務。本篇主要講解以下知識點:使用DownloadManager更新基于RxJava和retrofit擴展的Android線程安全http請求庫下載APK更新熱更新(AndFix)我們來啾啾第一個知識點。Downlo... 繼續閱讀 >