Time of Update: 2013-12-11
1.Intent作用 Intent是一個將要執行的動作的抽象的描述,由Intent來協助完成android各個組件之間的通訊。比如調用Activity執行個體化對象的startActivity()來啟動一個activity,或者由broadcaseIntent()來傳遞給所有感興趣的BroadcaseReceiver,
Time of Update: 2013-12-11
上次介紹了使用GridView實現表格,這次就說說如何用ListView實現自適應的表格。GridView比ListView更容易實現自適應的表格,但是GridView每個格單元的大小固定,而ListView實現的表格可以自訂每個格單元的大小,但因此實現自適應表格也會複雜些(格單元大小不一)。另外,GridView實現的表格可以定位在具體某個格單元,而ListView實現的表格則只能定位在表格行。因此還是那句老話:根據具體的使用環境而選擇GridView 或者
Time of Update: 2013-12-11
開發過程中,我們會遇到很多關於字串的操作,它是一個常用的資料類型,下面對它的用法進行了匯總: //1、建立常量字串。 NSString *astring = @"This is a String!"; //2、建立Null 字元串,給予賦值。 NSString *astring = [[NSString alloc]
Time of Update: 2013-12-11
Factory Method Pattern模板模式的衍生品? 以Template Method Pattern 架構擷取產生對象執行個體的工廠就是Factory Method Pattern。 Factory 方法模式在父類規定對象的建立方法,但並沒有深入到較具體的類名。所有具體的完整內容
Time of Update: 2013-12-11
一、為相機添加許可權。在AndroidManifest.xml檔案的</application>之後,添加相機使用的許可權:<uses-permission android:name="android.permission.CAMERA"/>二、編寫布局檔案main.xml,代碼如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout
Time of Update: 2013-12-11
服務--Service Android中的服務和windows中的服務是類似的東西,服務一般沒有使用者操作介面,它運行於系統中不容易被使用者發覺,可以使用它開發如監控之類的程式。服務的開發比較簡單,如下:第一步:繼承Service類public class SMSService extends Service { }第二步:在AndroidManifest.xml檔案中的<application>節點裡對服務進行配置:<service
Time of Update: 2013-12-11
使用過Android的同學,尤其是用過山寨pad,應該對Android的重啟問題印象深刻吧。Android由於其設計的複雜性,可能會使得系統在不經意時陷入異常狀態,因此Android設計了一套看門狗機制,當檢測到問題後,自動重啟。再說說我碰到的問題吧,剛帶起Android的時候,android的重啟問題異常嚴重,經常操作一會後,介面卡住,等待1分鐘左右,重啟…, trace大約如下:W/Watchdog( 813): *** WATCHDOG KILLING
Time of Update: 2013-12-11
運行一些apk造成應用卡死的問題做android,免不了要去運行一些跑分程式,常用的跑分程式有quadrant(象限),nbench,安兔兔等。作為系統工程師,對這些跑分程式都非常的不屑,這個只能是一個不客觀的參考,但客戶都喜歡拿這個比較,於是乎,各家各廠都或多或少會針對此做最佳化(甚至是作弊或直接的作假),這可不是什麼好現象,浮誇的厲害,到處放衛星,畝產萬斤的。國內大家常用的跑分程式,就是安兔兔了,但是不知道大家有沒有發現,安兔兔跑起來後,有時會卡住不動,除了返回鍵和觸摸操作都沒什麼用。出現這
Time of Update: 2013-12-11
使用Android NDK同時編譯libxml2和libiconv庫首先做好準備工作按照如下建立好目錄並準備好libiconv和libxml2的壓縮檔(我這裡使用的版本為:libiconv-1.14.tar.gz libxml2-git-snapshot.tar.gz【libxml2-2.8.0】)建立目錄如下buildlibxml2(root) jni->Android.mk (root-child) jni->main.c (root-child)
Time of Update: 2013-12-11
處理AUDIO_BECOMING_NOISYIntent 很多良好的音頻播放的應用都會在那些導致聲音變為噪音(通過外部擴音器輸出)的事件發生時自動停止播放.例如,這可能發生在當一個使用者用耳機聽音樂時忽然斷開了耳機串連.音頻從擴音器播放可能不是使用者期望的. 你可以通過處理ACTION_AUDIO_BECOMING_NOISYintent
Time of Update: 2013-12-11
By LiAnLab.org / 宋寶華《Android架構縱橫談之一——軟體自愈能力》已經談地告了一個段落。接下來這個系列二我們談Android效能方面的考慮。Android系 統組件繁雜,盤根錯節,若非在效能上進行充分的考慮,恐怕會慢如蝸牛。Android有獨具特色的Dalvik虛擬機器,啟動過程中即載入許多資源以便子進 程進行繼承的Zygote,廣泛使用共用記憶體的AudioFlinger、 SurfaceFlinger、屬性服務,應用程式對圖形的direct
Time of Update: 2013-12-11
(這裡不教你如何分析heap快照,只說明如何在關鍵時候抓取)首先說一下,在程式沒有崩潰的時候如何抓取heap快照。這個大家應該都知道,在ddms中內建此功能。見首先我們選中一個進程,然後點擊 Update Heap按鈕(小綠蟲子旁邊的按鈕),這時就能看到heap使用方式如果想取出快照詳細分析,我們可以點擊 Dump HPROF File按鈕,儲存到電腦上面。使用android-sdk/tools/hprof-conv這個工具把檔案轉換一下,之後用MAT分析即可。[java]hprof-conv
Time of Update: 2013-12-11
讓Webview載入的頁面置中顯示有我知道的倆種方法第一種:[java] WebSettings settings = webView.getSettings(); settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); LayoutAlgorithm是一個枚舉用來控制頁面的布局,有三個類型:1.NARROW_COLUMNS:可能的話使所有列的寬度不超過螢幕寬度2.NORMAL:正常顯示不做任何渲染3.
Time of Update: 2013-12-11
本例和上列類似,但介紹了使用android:layout_column=”1″ 指定需要添加的列的序號,跳過了第一列:<TableLayout
Time of Update: 2013-12-11
這兩天想這在Android上翻牆,誰不想科學上網啊!於是倒弄一個叫做GAE Proxy的代理軟體。 該軟體提供一鍵代理,但前提是機器必須root和支援iptables,如果不支援iptables,只能用GAE
Time of Update: 2013-12-11
建立一個Content Providercontent provider管理對中央資料倉儲的存取。你實現一個provider,就是在一個Android應用中實現一個或多個類,再加上manifest檔案中的一些元素。你實現一個 ContentProvider的子類,它作為你的provider和其它應也之間的介面。儘管content
Time of Update: 2013-12-11
如何讓一個activity 浮在鎖定畫面的上方,返回即進入解鎖介面。譬如在鎖定畫面,來電時是不需要先解鎖才能電話中的。這樣能帶來快捷。如果你想在android 上實現 iphone 4s 上面在鎖定畫面就能進照相機的話也可以按此方式來進行。只需要在 Camera 的 activity 的 onResume 函數中添加如下 flag 即可實現。import android.view.Window;import android.view.WindowManager;final Window win
Time of Update: 2013-12-11
電路把一個220歐的電阻連到pin 13上. 然後把 LED的長腿(正腿,又稱陽極)連在電阻上。把短腿(負腿,又稱陰極)接地。然後串連Arduino 板和電腦,啟動 Arduino 程式,輸入下面的代碼。大多數Arduino 開發板的pin 13已經接上了LED。不需要額外的硬體串連,運行程式就可以看到LED閃爍。點擊圖片放大圖片用 Fritzing製作. 更多電路範例, 參見Fritzing project page原理圖點擊圖片放大電路把一個220歐的電阻連到pin 13上. 然後把
Time of Update: 2013-12-11
一、如何將帶源碼的APK預置進系統?1) 在 packages/apps 下面以需要預置的 APK的 名字建立一個新檔案夾,以預製一個名為Test的APK 為例2) 將 Test APK的Source code 拷貝到 Test 檔案夾下,刪除 /bin 和 /gen 目錄3) 在 Test 目錄下建立一個名為
Time of Update: 2013-12-11
之前研究了1.x版本的LBE的一些實現安全監控的原理,基本摸清了它實現連網許可權管理的原理,這裡做個簡單記錄。首先要介紹一下Android應用程式啟動的過程,這方面可以查閱一些相關資料瞭解詳細資料,我這裡只一筆帶過,例如啟動一個apk的進程,肯定會向system_server發送訊息,包括啟動進程的一些參數,其中有一項參數是“--setgroups=xxx,xxx,xxx",後面的xxx都是一些整型的值,就是對應到Android的一些許可權定義,其中3003(0xBBB)就