Time of Update: 2015-08-29
Android設計模式之原廠模式 Factory一.概述平時做項目跟使用第三方類庫的時候經常會用到原廠模式.什麼是原廠模式,簡單來說就是他的字面意思.給外部批量提供相同或者不同的產品,而外部不需要關心工廠是如何建立一個複雜產品的過程.所以原廠模式可以降低模組間的耦合,同時可以提高擴充性(當有新的產品出現時,只需要擴充工廠就行了,上層模組不敏感).原廠模式根據抽象的角度和層級的不同可以分為兩種模式:1.Factory 方法模式 (Factory Method)2.抽象原廠模式 (Abstract
Time of Update: 2015-08-29
android 調用系統方法擷取應用程式資訊 如緩衝大小1,android本來就有擷取應用緩衝的方法,只是用起來有點麻煩。但我們的應用有時需要讓使用者知道緩衝的大小,讓使用者及時清理緩衝。直接上代碼,demo使用android studio建立。 http://pan.baidu.com/s/1sjkONzn 2,代碼就一個方法。 private void getPackageSizeInfo(final String mPackageName) { try {
Time of Update: 2015-08-29
android效能最佳化基礎篇(迴圈的最佳化)從Android開發人員網址上學習到的效能最佳化知識。1.迴圈遍曆的最佳化需要對某集合進行迴圈遍曆時,若該資料集實現了Iterable介面,可用增強型的for來進行迴圈(for-each),而不用手動寫length個長度進行一個一個訪問。static class Foo { int mSplat;}Foo[] mArray = ...public void zero() { int sum = 0; for (int i = 0;
Time of Update: 2015-08-29
Android 使用開源庫載入網狀圖片Android 使用開源庫載入網狀圖片,使用開源庫載入圖片。單擊listview彈出popupwindow彈出框詳情查看:Android 單擊listview彈出popupwindow彈出框,裡面還附帶listview右滑刪除按鈕詳情查看:Android 使用NineOldAndroids實現仿listview左滑出現刪除itembutton。項目就是這樣慢慢變得複雜,是往裡面逐漸加功能,效果,代碼。 本文項目源碼:點擊一、看實現的效果
Time of Update: 2015-08-29
android---自訂左滑右滑菜單沒有使用第三方類庫,純程式碼定製.主要用到的知識如下,我們知道,不管是自訂View還是系統提供的TextView這些,它們都必須放置在LinearLayout等一些ViewGroup中,因此理論上我們可以很好的理解onMeasure(),onLayout(),onDraw()這三個函數:1.View本身大小多少,這由onMeasure()決定;2.View在ViewGroup中的位置如何,這由onLayout()決定;3.繪製View,onDraw()定義了如
Time of Update: 2015-08-29
Android
Time of Update: 2015-08-29
android annotation註解的淺層次理解在java中有annotation這個東西,因為平時用的也並不是太多,所以一直不是很理解,今天特意花了幾個小時看了下相關的知識點,熟悉了一下annotation的簡單用法。 annotation簡答直接用法如下:一個自訂的annotation主要包括三部分:annotation的定義,annotation的使用,annotation的處理;事實上整個註解機制重點在於最後反射對註解值的使用。第一步:定義如下: package
Time of Update: 2015-08-29
Android三句代碼使用沈浸式狀態列 用過android手機的人都知道android使用app的時候螢幕上方的狀態列都是黑色的,就算不是黑色的都與正在開啟的app顏色不同。有一種灰常不搭調的感覺。~今天無意中看了一下關於沈浸式狀態列的資料~~作為強迫症重度患者怎能錯過?下面就開始使用沈浸式狀態列之旅:代碼未先行:沈浸式:非沈浸式:嗯~雖然第二張圖比較模糊,但是也可以想象第一張比較好看(~ ̄▽ ̄)~。那麼接下來要說的就是如何?第一張圖的那樣的效果:首先要說明的是以下方法只適合andro
Time of Update: 2015-08-29
Android實戰簡易教程-第四十六槍(自訂控制項體驗之羅盤)前言作為一名有創新意思的開發人員,你遲早會發現內建的控制項會滿足不了你的想象力。擁有擴充已存在的視圖、組建複合的控制項以及建立獨特的新視圖能力,可以建立出最適合自己應用程式工作流程的有優美使用者介面,讓使用者得到最優的體驗。建立新視圖的最佳方法和希望達到的目標有關:1.如果現有控制項已經可以滿足希望實現的準系統,那麼只需對現有控制項的外觀或行為進行修改或擴充即可。通過重寫事件處理常式和onDraw()方法。2.可以通過組合多個視圖來建
Time of Update: 2015-08-29
Android 自訂主菜單本文介紹一個超簡單的自訂主菜單,效果如下:原理:其實就是對原生的Dialog的一個簡單的封裝。並加上顯示和隱藏的動畫效果。再給控制項加上回調事件。 TestDialog.java public class TestDialog implements OnClickListener {private Context mContext;private Dialog mDialog;private Display mDisplay;private
Time of Update: 2015-08-29
Android 高仿QQ5.2雙向側滑菜單DrawerLayout實現源碼Android 高仿QQ5.2雙向側滑菜單DrawerLayout實現源碼左右側滑 1.首頁的實現直接將DrawerLayout作為根布局,然後其內部第一個View為內容地區,第二個View為左側菜單,第三個View為右側側滑菜單,當前第三個是可選的。布局: 代碼 package com.pcachy.drawerlayout;import
Time of Update: 2015-08-29
Android控制項之ListView 在android開發中ListView是比較常用的組件,它以列表的形式展示具體內容,並且能夠根據資料的長度自適應顯示。列表的顯示需要三個元素:1.ListVeiw 用來展示列表的View。2.適配器 用來把資料對應到ListView上的中介。3.資料 具體的將被映射的字串,圖片,或者基本組件。根據列表的適配器類型,列表分為三種,ArrayAdapter,SimpleAdapter和自訂Adapter1、關於幾種Adapter
Time of Update: 2015-08-29
Android Studio多個module匯入AAR庫介紹有時候由於需要一些自訂之後的開源庫,無法使用jCenter裡面的官方庫,又懶得自己搭建Maven倉庫,所以我們想要自己在項目裡面直接匯入本地的AAR庫。通用方法和問題網上通用的AAR匯入Gradle的方法很簡單:repositories { flatDir { dirs 'libs' } } dependencies { compile name:
Time of Update: 2015-08-29
Android學習之Intent過濾器的使用Intent過濾器我們的app的功能可能對別的app也有用,那麼我們的app應該做好響應其他APP的準備。例如,一個社交app,它可以分享資訊或者照片給好友,那麼最好我們的app能夠接收ACTION_SEND的intent,這樣當使用者在其他app觸發分享功能的時候,我們的app也能夠出現在待選對話方塊。通過在manifest檔案中的標籤下添加屬性,能使其他的app能夠啟動我們的activity。當app被安裝到裝置上時,系統可以識別intent
Time of Update: 2015-08-29
安卓代碼混淆注意事項 安卓代碼混淆時經常會出現各種問題,下面羅列一些注意事項1.依賴的工程中使用的jar包若和工程自身中的jar包一樣的話,直接刪除依賴工程中相同的jar包即可2.native方法要阻止混淆 例:# natvie 方法不混淆-keepclasseswithmembernames class * { native ;} 3.若自訂基類Activity中有根據名稱為控制項注入值的要採用如下方法阻止欄位被混消如 基類Activity中有如下控制項注入方法
Time of Update: 2015-08-29
(Android)畫布的移動和翻轉Android畫布翻轉是個利器,尤其在影像處理上,不需要數組的轉置顛倒一堆線性變化就可以輕鬆實現原點的改變。就像醬紫,開始的時候,畫布妹妹是和顯示區哥哥重疊在一起的,默契的就像一個人一樣,三觀一致,出發點統一在左上方。我們畫的映像都是在畫布上的,呈現在顯示地區中。此時在畫布上畫一個進度bar是這個效果的。如果想要得到一個豎向的bar,那我們就來翻轉畫布,首先逆時針翻轉90°,得到這時畫布妹妹和顯示區哥哥的世界已經不是同一個座標系了它們的世界有了分歧,為了
Time of Update: 2015-08-29
安卓系統中的檔案讀寫操作許可權 ...WRITE_EXTERNAL_STORAGE 已經隱含了讀取許可權得到當前應用下的路徑檔案File file = new File(context.getFilesDir(), filename);寫檔案String filename = myfile;String string = Hello world!;FileOutputStream outputStream;try { outputStream =
Time of Update: 2015-08-29
Android中ActionBar置中經常會用到將ActionBar文字置中的問題,這裡寫個代碼如下: //把actionBar的文字標題置中 public static void centerActionBarTitle(Activity activity) { int titleId = activity.getResources().getIdentifier(action_bar_title, id, android); if (
Time of Update: 2015-08-29
android studio下使用SqlCipherandroid studio和eclipse 稍微有點不同。Android studio 版本1.3SqlCipher 版本3.3.11.將sqlcipher.jar複製到工程檔案夾libs中;2.在工程main下,建立兩個檔案夾jniLibs和assets,將amreabi檔案夾整個複製到jniLibs中,將icudt46l.zip複製到assets中;結構圖如下:3.載入該類 @Override protected void
Time of Update: 2015-08-29
Android Drawer的實現在Android中需要用到的一個抽屜控制項,下面是一個簡單的實現過程首先寫一個布局,布局有以下幾點需要注意1.必須是這drawerLayou布局android.support.v4.widget.DrawerLayout 2.在drawerLayout中只能存在兩個大的布局3.必須定義這個關閉的抽屜是在左邊還是右邊 android:layout_gravity=right