Time of Update: 2018-12-05
android提供了強大的事件處理機制,包括兩套事件處理機制:基於監聽的事件處理基於回調的事件處理 對於基於監聽的事件處理而言,主要做法就是為android介面組件綁定特定的事件監聽器。此外,android還允許在介面布局檔案中使用android:onClick屬性指定事件監聽方法,通過這種方式指定事件監聽方法時,開發人員需要在Activity中定義事件監聽方法(該方法必須有一個View類型的參數,代表被單擊的UI組件),當使用者單擊該UI組件時,系統將會激發android:
Time of Update: 2018-12-05
本文主要介紹的是Android中很重要也最為複雜的媒體播放器(MediaPlayer)部分的架構。對於Android這樣一個完整又相對複雜的系統,一個MediaPlayer功能的實現不在其具體的功能,而是具體功能如何適應Android系統Android MediaPlayer的主要具體實現在OpenCore的Player中,這部分不是本文的關注點。本文關注的是MediaPlayer系統的架構,其他的一些Android的應用程式也使用類似的架構。第一部分 MediaPlayer概述
Time of Update: 2018-12-05
很多應用程式在調用Runtime.exec的時候或者建立服務的時候都會遇到許可權不夠的情況。可採用以下解決方案:AndroidManifest.xml:<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.mokoid.LedTest"android:sharedUserId="android.uid.system">原來,ServiceManager
Time of Update: 2018-12-05
製作開機Logo方法一:Drivers/video/logo/logo_linux_clut224.ppm是預設的啟動Logo圖片,把自己的Logo圖片(png格式)轉換成ppm格式,替換這個檔案,同時刪除logo_linux_clut224.c logo_linux_clut224.o檔案,重新編譯具體方法:Netpbm#pngtopnm logo_linux_clut224.png > logo_linux_clut224.pnm#pnmquant 224
Time of Update: 2018-12-05
有時候希望在啟動後做點事情,比如在sdcard上建立目錄,修改/data的存取權限等,這些都可以放在init.rc中去完成,那麼如何來完成呢,最近由於工作的需要,在這方面進行了一些研究,特寫於此,供大家參考。 通過下面的例子來講述,實現一個功能:在android系統啟動後,修改/data的存取權限為770.共4步:1、解壓ramdisk.img 2、用c語言完成要實現的功能 3、修改init.rc,啟動c語言可執行程式 4、製作ramdisk.img
Time of Update: 2018-12-05
SystemProperties與Settings.System 1 使用 SystemProperties.get如果屬性名稱以“ro.”開頭,那麼這個屬性被視為唯讀屬性。一旦設定,屬性值不能改變。 如果屬性名稱以“persist.”開頭,當設定這個屬性時,其值也將寫入/data/property。 在c++中就是對應JAVA的兩個函數就是property_set, property_get,其實JAVA是通過JNI調用這兩個函數的。JAVA代碼如下:import
Time of Update: 2018-12-05
解析xml檔案的的文章很多,但是Android裡產生xml檔案的文章就很少了。偶然機會找到一篇相關發麵的文章,就分享一下了: 用到的主要是XmlSerializer,利用它來寫xml檔案。private static void XmlFileCreator(List<JokeBean> data){ File newxmlfile = new
Time of Update: 2018-12-05
真機串連本地pc伺服器方法為:設定區域網路,手機通過WIFI訪問區域網路中的某台伺服器(擁有區域網路IP地址) 背景:android手機通過訪問本地pc機上的tomcat服務來擷取資料進行展現,同時也進行資料修改提交工作。原來用模擬器開發採用10.0.2.2的串連方式。但真機不行。由於模擬器開發效率及速度都不如真機,因此必須構建一個可以調試運行android程式的環境。 具體硬體需求:(1)迷你型的TP-LINK路由器一個。(2)直連網線一根。(3)具有無線網卡的筆記本一台。 軟體需求:(1)m
Time of Update: 2018-12-05
點線面資料標準格式一、 點WKT: POINT(-118.4 -45.2)JSON:{"x": -118.4,"y": -45.2,"spatialReference": {"wkid": 4326}}二、 多點WKT: MULTIPOINT(1.01 2.02, 2.01 3.01)注意:這個結構與OGC標準不同,這是sqlite的幾何體的結構。OGC標準: MULTIPOINT( (1.01 2.02), (2.01 3.01))JSON:{"points": [[1.01,2.02],[2
Time of Update: 2018-12-05
使用service播放sdcard中的一首歌曲,並在service中通過廣播broadcast通知Activity更新介面。下面三個最終的圖分別是:初始化時,播放時,暫停時。 介面是兩個按鈕,採用LinearLayout布局。代碼如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2018-12-06
在Android中是通過觸屏及鍵盤來操作程式的,我們如何響應一般的鍵盤及觸筆動作呢?通過對Android一些基本介面元素的操作的瞭解,如果你再熟悉MVC你可以猜到Android將會如何處理鍵盤事件,恭喜你,猜對了,仍在Activity中改事件響應函數來做到。一般是如下三個函數:onKeyDown, onKeyUp, on, onKeyMultiple參看如下代碼:import android.app.Activity;import
Time of Update: 2018-12-06
Android中的執行緒模式這篇文章將討論Android應用程式中使用的執行緒模式,並討論如何確保應用程式最佳的UI呈現(通過建立工作者線程來處理耗時的操作,而不是在主線程裡處理)。這篇文章還將闡述與運行在主線程中的UI組件互動的API以及建立託管的工作者線程的API。UI線程 當應用程式啟動後,系統建立了一個叫做“main”的線程。主線程,也叫UI線程,非常重要,因為它負責分發事件給構件,包括繪製事件。也是這個線程,在這裡才能與Android UI工具包中的組件進行互動。
Time of Update: 2018-12-06
問題原因:avd的加鎖機制使然。 .lock是加鎖,如果程式崩潰或者不是正常退出等原因導致無法清除這些以.lock結尾的檔案夾,就會出現這個問題,也就是這個avd的鎖沒有被釋放,導致avd manager以為這個avd正在使用當中。他會預設鎖定該模擬器還是在運行,資源被佔有了。 解決: 1。winXP: C/Documents and Settings / 使用者 / .android /的AVD / *裝置* / (比如我的目錄是:C:\Documents and
Time of Update: 2018-12-06
Android 可設定為隨著視窗大小調整縮放比例,但即便如此,手機程式設計人員還是必須知道手機螢幕的邊界,以避免縮放造成的布局變形問題。手機的解析度資訊是手機的一項重要訊息,很好的是,Android 已經提供DisplayMetircs 類可以很方便的擷取解析度。下面簡要介紹 DisplayMetics 類:Andorid.util 包下的DisplayMetrics 類提供了一種關於顯示的通用資訊,如顯示大小,解析度和字型。為了擷取DisplayMetrics
Time of Update: 2018-12-06
Android應用程式的預設安裝位置以及是否可移動取決於開發人員在其AndroidManifest.xml中的設定: <manifestxmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:installLocation="auto"
Time of Update: 2018-12-06
(1)ConnectivityManager在Android中,ConnectivityManager類代表網路連接服務,它被用來監控網路連接狀態,配置失效重連,並控制網路天線等。擷取Connectivity Manager執行個體的方法是使用getSystemService,並指定Context.CONNECTIVITY_SERVICE作為參數,程式碼片段如下:String cserviceName =
Time of Update: 2018-12-06
重啟裝載器當你使用initLoader()時,如果指定ID的裝載器已經存在,則它使用這個裝載器.如果不存在呢,它將建立一個新的.但是有時你卻是想丟棄舊的然後開始新的資料.要想丟棄舊資料,你應使用restartLoader().例如,下面這個SearchView.OnQueryTextListener的實現在使用者查詢發生改變時重啟了裝載器,裝載器於是需重啟從而能使用新的搜尋過慮來進行一次新的查詢.public boolean onQueryTextChanged(String newText)
Time of Update: 2018-12-06
Android 3D遊戲開發技術詳解與典型案例500分鐘視頻講解結合真實案例介紹Android平台下OpenGL ES基本技術的使用及3D遊戲開發的完整流程基本資料作者: 吳亞峰 蘇亞光 [作譯者介紹]出版社:電子工業出版社ISBN:9787121132636上架時間:2011-6-9出版日期:2011 年6月http://product.china-pub.com/198189內容簡介 《android
Time of Update: 2018-12-06
Android雖然構建在Linux上面,但是在IPC(進程間)機制方面,沒有利用Linux提供IPC機制,而是自己實現了一套輕量級的IPC機制——binder機制。並且AndroidBinder機制之上,Android架構提供了一套封裝,可以實現對象代理(在本地進程中代理遠程進程的對象)。本文簡單分析一下AndroidBinder機制。Binder情景分析
Time of Update: 2018-12-06
一、什麼是.9檔案?1、9.png格式癿圖片是Android平台上新創癿一種被展開卻丌失真癿東東。 2、不傳統癿png 格式圖片相比, 9.png 格式圖片在圖片四周有一圈一個像素點組成癿邊沿,該邊沿用於對圖片癿可擴充區和內容顯示區迚行定義。二、.9檔案的特點是什嗎?1. .9格式癿圖片在android環境下具有自適應調節大小癿能力。2. .9格式癿圖片允許開發人員定義可擴充地區,當需要延伸圖片以填充比圖片本身更大地區時,可擴充區癿內容被延展。3.