Time of Update: 2018-12-08
如果你對Android系統內建的UI控制項感覺不夠滿意,可以嘗試下自訂控制項,我們就以Button為例,很早以前Android123就寫到過Android Button按鈕控制項美化方法裡面提到了xml的selector構造。當然除了使用drawable這樣的圖片外今天Android開發網談下自訂圖形shape的方法,對於Button控制項Android上支援以下幾種屬性shape、gradient、stroke、corners等。複製代碼
Time of Update: 2018-12-08
複製代碼 代碼如下:findViewById(R.id.myButton).setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Do stuff } }); 採用上述方法添加Listener有個缺點就是如果控制項太多的話,Listener數量也會增多,因此,可以採用如下的小竅門減少Listener的數量:複製代碼
Time of Update: 2018-12-08
今天整理了一下Android下對IME的操作:具體如下 一、開啟IME視窗: 複製代碼 代碼如下:InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); // 接受軟鍵盤輸入的編輯文本或其它視圖 imm.showSoftInput(submitBt,InputMethodManager.SHOW_FORCED);
Time of Update: 2018-12-08
方法一:Activity.runOnUiThread(Runnable )(經驗之道: 這個最好用, 凡是要重新整理頁面的地方,Activity.runOnUiThread( new Runnable() { public void run(){更新UI}});方法二:子線程調用Handler的sendMessage(message)發送事件。複製代碼 代碼如下:mHandler = new Handler() { @Override public void
Time of Update: 2018-12-08
對智能手機有所瞭解的朋友都知道其中一個應用廣泛的手機作業系統Android
Time of Update: 2018-12-08
以前線上性代數中學習了矩陣,對矩陣的基本運算有一些瞭解,前段時間在使用GDI+的時候再次學習如何使用矩陣來變化映像,看了之後在這裡總結說明。首先大家看看下面這個3 x 3的矩陣,這個矩陣被分割成4部分。為什麼分割成4部分,在後面詳細說明。首先給大家舉個簡單的例子:現設點P0(x0, y0)進行平移後,移到P(x,y),其中x方向的平移量為△x,y方向的平移量為△y,那麼,點P(x,y)的座標為:x = x0 + △x y = y0 + △y採用矩陣表達上述如下:
Time of Update: 2018-12-08
通常我們寫程式,都是在專案計劃的壓力下完成的,此時完成的代碼可以完成具體商務邏輯,但是效能不一定是最佳化的。一般來說,優秀的程式員在寫完代碼之後都會不斷的對代碼進行重構。重構的好處有很多,其中一點,就是對代碼進行最佳化,提高軟體的效能。下面我們就從幾個方面來瞭解Android開發過程中的代碼最佳化。1)靜態變數引起記憶體泄露在代碼最佳化的過程中,我們需要對代碼中的靜態變數特別留意。靜態變數是類相關的變數,它的生命週期是從這個類被聲明,到這個類徹底被記憶體回收行程回收才會被銷毀。所以,一般情況下,
Time of Update: 2018-12-08
需要特別注意的是,以jar包和資源套件方式提供給第三方開發人員,我們的工程的代碼中就不能使用類似於R.layout.main、R.string.name等等這樣的方式來引用資源了。為此,我們就不能直接使用R檔案,而是要通過欄位名稱來動態擷取資源的id,再來使用。以下封裝了一個類,可以通過欄位名稱動態擷取id。複製代碼 代碼如下:package com.arui.util; import android.content.Context; public class ResourceUtil {
Time of Update: 2018-12-08
如果一個對象只具有軟引用,那麼如果記憶體空間足夠,記憶體回收行程就不會回收它;如果記憶體空間不足了,就會回收這些對象的記憶體。只要記憶體回收行程沒有回收它,該對象就可以被程式使用。軟引用可用來實現記憶體敏感的快取。軟引用可以和一個引用隊列(ReferenceQueue)聯合使用,如果軟引用所引用的對象被記憶體回收,Java虛擬機器就會把這個軟引用加入到與之關聯的引用隊列中。如果一個對象只具有弱引用,那麼在記憶體回收行程線程掃描的過程中,一旦發現了只具有弱引用的對象,不管當前記憶體空間足夠與否,都
Time of Update: 2018-12-08
很簡單,所以直接看代碼複製代碼 代碼如下:package xxx; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; 複製代碼 代碼如下:public class
Time of Update: 2018-12-08
UiScrollable is a UiCollection and provides support for searching for items in a scrollable user interface (UI) elements. This class can be used with horizontally or vertically scrollable controls.UiScrollable是一個UiCollection(這東西還沒搞懂),我們可以使用它,在可滑動的頁面(
Time of Update: 2018-12-08
前言 Content Provider為儲存資料和擷取資料提供了統一的介面,它可以完成在不同應用程式下的資料共用,而在上一篇文章Android開發之SQLite的使用方法講到的SQLite只能在同一個程式中共用資料。另外android為一些常見的資料,比如說音頻,視頻,圖片,通訊錄等提供了Content
Time of Update: 2018-12-08
使用Activit的openFileOutput()方法儲存檔案,檔案是放在手機內在上;注:模擬器中建立SDCard卡鏡像檔案,可以在建立模擬器是建立,也可以在Dos視窗中進行android SDK安裝路徑tools目錄,輸入如下命令:mksdcard 2048M D:\AndroidTool\sdcard.img在程式中訪問SDCard,需要如下許可權:在SDCard中建立與刪除檔案的許可權<uses-permission
Time of Update: 2018-12-08
@drawable/icon@:代表R.javadrawable:內部類drawableicon:id為icon的對象R.java檔案中的drawable內部類中的id為icon的值對應的常量<application android:label="應用的名稱"><activity android:name=".指定activity的類名稱包下面的類中(.classname)"android:label="視窗的標題"><!--
Time of Update: 2018-12-08
當我們在一個EditText輸入電話或者網址還是Email的時候,讓Android自動判斷,當我們輸入的是電話,我們點擊輸入內容將調用打電話程式,當我們輸入是網址點擊將開啟瀏覽器程式.而Linkify很好的解決了這個問題步驟:1、布局UI複製代碼 代碼如下:<LinearLayout
Time of Update: 2018-12-08
AIDL:Android Interface Definition Language,它是一種android內部進程通訊介面的描述語言,通過它我們可以定義進程間的通訊介面。ICP:Interprocess Communication
Time of Update: 2018-12-08
在應用中,可能會在當跳轉到另外一個Activity的時候需要傳遞資料過去,這時就可能用Bundle對象;在MainActivity中,有一個導航至BActivity的Intent,Intent複製代碼 代碼如下:{ Intent intent = new Intent(Context context, Class<?> class); //new一個Bundle對象,並將要傳遞的資料匯入,Bunde相當於Map<Key,Value>結構 Bundle
Time of Update: 2018-12-08
在android-sdk\tools目錄下,有一個名為emulator.exe的可執行程式,望名知義,emulator即為模擬器或模擬器,但很多人可能會發現,通過AVD
Time of Update: 2018-12-08
第一:調用系統簡訊介面直接傳送簡訊;主要代碼如下: 複製代碼 代碼如下://直接調用簡訊介面發簡訊 SmsManager smsManager = SmsManager.getDefault(); List<String> divideContents = smsManager.divideMessage(content); for (String text : divideContents) { smsManager.sendTextMessage("150xxxxxxxx",
Time of Update: 2018-12-08
在程式開發過程中,LOG是廣泛使用的用來記錄程式執行過程的機制,它既可以用於程式調試,也可以用於產品運營中的事件記錄。在Android系統中,提供了簡單、便利的LOG機制,開發人員可以方便地使用。在平時開發過程中經常需要與log打交道,所以很有必要瞭解log的使用方法及簡單的原理。1、linux核心的log輸出 在標準的linux核心開發過程中,使用printk,這是一個與printf輸出列印齊名的函數,同樣提供格式化輸出功能,只是其有