原创 Android開發相關簡便框架

一、Guava Google的基於java1.6的類庫集合的擴展項目,包括collections, caching, primitives support, concurrency libraries, common annot

原创 Android studio 導入project

Android Studio到現在已經發展到0.8+的版本了,最近也在試着使用它,原因是多方面的,一個畢竟是未來的趨勢,二則是github上越來越多的大牛開源項目都是基於Android Studio的,因此會使用Android Stu

原创 通過AIDL和IInterface瞭解Android的Binder通信機制

關於Binder的IPC的通信方式前前後後看了不少次都沒有整理處來思路,所以總是記憶不深刻。正好這次在閱讀Android framework中的源碼時system_server進程啓動了Android系統中重要的服務AMS、WMS

原创 android系統架構各層的一些介紹

本內容來自豆瓣。 一.android系統架構各層介紹   1. 應用層:應用是用java語言編寫的運行在虛擬機上的程序,比如Email客戶端,SMS短消息程序,日曆等。   2. 應用框架層:這一層是編寫Google發佈

原创 瞭解 uri, content provide,包括 data android:host,android:scheme

Content Provider這個東西在Android平臺上是最常用的共享數據的方法(似乎應用程序之間共享數據也只有這種方法吧,待求證)。雖然常用,但是這個東 西要理解透徹還是要先掌握一些基礎的。URI就是Content Provide

原创 Android中Activity的引導方式launcherMode的四種方式。

         在Android系統中活動Activity的加載模式是大致可以分爲四種,分別是:standard、singleTop、singleTask、singleInstance。而針對於Activity的不同的加載模式直接決定着

原创 java WeakReference

java語言中爲對象的引用分爲了四個級別,分別爲 強引用 、軟引用、弱引用、虛引用。 本文只針對java中的弱引用進行一些分析,如有出入還請多指正。 在分析弱引用之前,先闡述一個概念:什麼是對象可到達和對象不可到達狀態。 其實很簡

原创 Java併發編程:Callable、Future和FutureTask

在前面的文章中我們講述了創建線程的2種方式,一種是直接繼承Thread,另外一種就是實現Runnable接口。   這2種方式都有一個缺陷就是:在執行完任務之後無法獲取執行結果。   如果需要獲取執行結果,就必須通過共享變量或

原创 Android源碼大放送之material design類型

本文轉載自:http://www.apkbus.com/android-243232-1-1.html 鑑於大家對源碼的渴望,就算自己辛苦一點也要滿足大家的需求,查看了幾百個源碼之後終於篩選出了這些精華。看到合適的馬上下載

原创 Observer觀察者模式

設計模式的基本思想:面向接口編程是核心。 軟件開發中經常會遇到一個狀態的改變而相應的觸發一系列的連鎖事件。相對這種應用場景的實現方式也是多種多樣的可以通過設置回調方法等。但是從降低耦合,縮小程序變動影響的方面考慮使用觀察者模式無疑是個不錯

原创 Mac 下配置環境變量造成命令行命令無法使用的解決方法

配置過安卓開發環境,改過bash_profile這個文件,最後不知怎麼的只有cd命令能執行,我猜測可能修改bash_profile文件後沒有保存 導致的     保存命令是:  source .bash_profile 說下我的解決方

原创 設計模式------命令模式

設計模式的基本思想:面向接口編程是核心。 命令模式的設計主要是是爲了完成請求調用者與請求接收者之間進行解耦。 命令模式將“請求”封裝成對象,以便使用不同的請求、隊列或者日誌來參數化其他對象。通過使用命令模式屏蔽掉命令接收者的任務的具體實現

原创 android viewPager的notifyDataSetChanged()的方法無法刷新頁面的分析

很久不寫blog了,今天遇到問題了記錄一下別人的解決方法。 Viewpager在調用notifyDataSetChanged()時,界面無刷新。   相信很多做過Viewpager的同學肯定遇到過這個問題,這個是bug還是andro

原创 android---android:layout_weight屬性

最近寫Demo,突然發現了Layout_weight這個屬性,發現網上有很多關於這個屬性的有意思的討論,可是找了好多資料都沒有找到一個能夠說的清楚的,於是自己結合網上資料研究了一下,終於迎刃而解,寫出來和大家分享。 首先看一下Layo

原创 zygote進程啓動

1.init.cpp —> main() main()方法主要完成一下 6 件事: klog_init() 將log寫入到/dev/kmsg中 process_kernel_cmdline()解析內核啓動參數 signal_hand