Time of Update: 2017-01-19
首先給大家介紹Android使用緩衝機制實現檔案下載在下載檔案或者線上瀏覽檔案時,或者為了保證檔案下載的正確性,需要使用緩衝機制,常使用SoftReference來實現。SoftReference的特點是它的一個執行個體儲存對一個Java對象的軟引用,該軟引用的存在不妨礙垃圾收集線程對該Java對象的回收。也就是說,一旦SoftReference儲存了對一個Java對象的軟引用後,在垃圾線程對這個Java對象回收前,SoftReference類所提供的get()方法返回Java對象的強引用。另外
Time of Update: 2017-01-19
本文執行個體嘗試模仿實現Android標題顯示隱藏功能,通過給listview設定 mListView.setOnTouchListener 監聽 重寫ontouch方法 監聽手指一動的座標,當超過ViewConfiguration.get(this).getScaledTouchSlop(); toubar的高度 .當向上滑動超過這個高度顯示touba 向下滑動隱藏。效果圖:package com.example.hidetitlebardemo;import
Time of Update: 2017-01-19
使用xUtils等架構是很方便,但今天要用代碼實現bitmapUtils 的功能,很簡單,AsyncTask請求一張圖片 ####AsyncTask#####AsyncTask是線程池+handler的封裝 第一個泛型: 傳參的參數類型類型(和doInBackground一致) 第二個泛型:#####更新進度的參數類型(和onProgressUpdate一致) 第三個泛型:
Time of Update: 2017-01-19
本文執行個體講述了Android編程中黑名單的實現方法。分享給大家供大家參考,具體如下:說明:由於掛斷電話android api不是對外開放的,所以需要使用反射的方法得到撥打到電話的服務。1.將android原始碼中的"aidl"檔案拷貝到項目中這樣項目中會產生兩個包:android.telephony;此包中檔案為:NeighboringCellInfo.aidlcom.android.internal.telephony;此包中檔案為:ITelephony.aidl2
Time of Update: 2017-01-19
在android項目中訪問網狀圖片是非常普遍性的事情,如果我們每次請求都要訪問網路來擷取圖片,會非常耗費流量,而且圖片佔用記憶體空間也比較大,圖片過多且不釋放的話很容易造成記憶體溢出。針對上面遇到的兩個問題,首先耗費流量我們可以將圖片第一次載入上面緩衝到本地,以後如果本地有就直接從本地載入。圖片過多造成記憶體溢出,這個是最不容易解決的,要想一些好的緩衝策略,比如大圖片使用LRU緩衝策略或懶載入緩衝策略,首先介紹一下本機快取圖片。首先看一下非同步載入緩衝本地代碼:public class
Time of Update: 2017-01-19
ImageManager2這個類具有非同步從網路下載圖片,從sd讀取本地圖片,記憶體緩衝,硬碟緩衝,圖片使用動畫漸現等功能,已經將其應用在包含大量圖片的應用中一年多,沒有出現oom。Android程式常常會記憶體溢出,網上也有很多解決方案,如軟引用,手動調用recycle等等。但經過我們實踐發現這些方案,都沒能起到很好的效果,我們的應用依然會出現很多oom,尤其我們的應用程式套件含大量的圖片。android3.0之後軟引用基本已經失效,因為虛擬機器只要碰到軟引用就回收,所以帶不來任何效能的提升。
Time of Update: 2017-01-19
本文執行個體分析了Android開發中PopupWindow用法。分享給大家供大家參考,具體如下:private TextView tv_appmanager_title;private ListView lv_app_manager;private LinearLayout ll_appmanager_loading;private AppManagerProvider provider;private List<AppManagerInfo> infos ;private
Time of Update: 2017-01-19
本文執行個體講述了Android開發中應用程式分享功能。分享給大家供大家參考,具體如下:Intent shareIntent = new Intent();shareIntent.setAction(Intent.ACTION_SEND);//設定類型shareIntent.setType("text/plain");//設定分享的主題shareIntent.putExtra("android.intent.extra.SUBJECT",
Time of Update: 2017-01-19
本文執行個體講述了Android開發之開門狗在程式鎖中的應用方法。分享給大家供大家參考,具體如下:protected static final String TAG = "WatchDogService";private AppLockDao dao;private List<String> lockApps;private ActivityManager am;private Intent lockappintent;@Overridepublic IBinder
Time of Update: 2017-01-19
本文執行個體講述了Android編程實現簡單流量管理功能的方法。分享給大家供大家參考,具體如下:package cn.itcast.mobilesafe.ui;import java.util.List;import android.app.Activity;import android.content.Intent;import android.content.pm.PackageManager;import android.content.pm.ResolveInfo;import
Time of Update: 2017-01-19
很多時候,利用觸控螢幕的Fling、Scroll等Gesture(手勢)操作來操作會使得應用程式的使用者體驗大大提升,比如用Scroll手勢在 瀏覽器中滾屏,用Fling在閱讀器中翻頁等。在Android系統中,手勢的識別是通過 GestureDetector.OnGestureListener介面來實現的,不過William翻遍了Android的官方文檔也沒有找到一個相 關的例子,API
Time of Update: 2017-01-19
本文執行個體講述了Android實現取消GridView中Item選中時預設的背景色。分享給大家供大家參考,具體如下:1. 取消GridView中Item選中時預設的背景色,當使用GridView時候點擊item項時候,會有一個android預設的背景色,取消它的方法是:game_gridview.setSelector(new ColorDrawable(Color.TRANSPARENT));//取消GridView中Item選中時預設的背景色2.
Time of Update: 2017-01-19
本文執行個體講述了Android設定TextView顯示指定個數字元,超過部分顯示...(省略符號)的方法。分享給大家供大家參考,具體如下:一、問題:今天在公司遇到一個需求;TextView設定最多顯示8個字元,超過部分顯示...(省略符號)二、解決方案:網上找了很多資料,有人說分別設定TextView的android:signature="true",並且設定android:ellipsize="end";但是我試了,並沒有成功,最後自己試出一種方式如下:供大家參考<TextViewan
Time of Update: 2017-01-19
本文執行個體分析了Android註冊廣播的兩種方法。分享給大家供大家參考,具體如下:1. 在AndroidManifest.xml檔案中註冊。好處:一旦應用程式被安裝到手機裡,BroadCast Receiver就開始生效。無論應用程式進程是否運行,運用程式是否在開啟狀態下都可以接受到廣播事件。<receiver android:name=".receiver.SMSReceiver" > <intent-filter android:priority="1000" >
Time of Update: 2017-01-19
本文執行個體講述了Android通過反射實現強制停止應用程式的方法。分享給大家供大家參考,具體如下:private ActivityManager manager;private List<RunningAppProcessInfo> runningProcesses;private String packName;private PackageManager pManager;@Overridepublic void onReceive(Context context,
Time of Update: 2017-01-19
正所謂工欲善其事,必先利其器。學習並應用優秀的輪子,可以讓我們跑的更快,走的更遠。這裡所指的工具是廣義的,泛指能協助我們開發的東西,或者能提高我們效率的東西,包括:開發工具,監測工具,第三方程式碼程式庫等。在Google的廣大支援下,便捷開發Android程式的Native工具層出不窮。其實Android開發涉及到的範圍也不小,一些Web工具有時候也會帶來事半功倍的效果。有些甚至是一些native應用無法做到的。本文,將簡單列舉一下本人正在使用的一些工具,當然也會持續更新。尋找優秀的參考工程co
Time of Update: 2017-01-19
本文執行個體講述了Android實現將一個Activity設定成視窗樣式的方法。分享給大家供大家參考,具體如下:1.在res/value檔案夾下的style.xml檔案中加入如下代碼:<style name="Theme.FloatActivity" parent="android:style/Theme.Dialog"> <!-- float_box為我們定義的視窗背景 ,這個不是必須的--> <item
Time of Update: 2017-01-19
在做商城的項目中,有這麼個需求,就是一個產品下有兩個價格,一個是市場價,一個是銷售價,這時要把市場價添加個刪除線;剛開始遇到這個時,在網上找了半天的資料,看到最多的就是用SpannableString這個類中的方法,而且代碼多,感覺有點繁瑣,後來發現用Paint裡的一些方法實現更好,只須一句代碼public class TestActivity extends Activity {private TextView tv;@Overridepublic void onCreate(Bundle
Time of Update: 2017-01-19
本文執行個體講述了Android重寫TextView實現文字整齊排版的方法。分享給大家供大家參考,具體如下:XRTextView類package rong.android.test;import org.json.JSONArray;import org.json.JSONException;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import
Time of Update: 2017-01-19
文章將在原有基礎之上做了一些擴充功能: 1.圖片的慣性滑動 2.圖片縮放小於正常比例時,鬆手會自動回彈成正常比例 3.圖片縮放大於最大比例時,鬆手會自動回彈成最大比例實現圖片的縮放,平移,雙擊縮放等準系統的代碼如下,每一行代碼我都做了詳細的注釋public class ZoomImageView extends ImageView implements ScaleGestureDetector.OnScaleGestureListener, View.OnTouchListener ,