簡介 上一篇文章介紹了Handler、Message、MessageQueue等Android線程互動方面的內容,Android之理解Looper、Handler、Message、MessageQueue。下面開始實踐,學習如何去使用以及應用到程式裡面。執行個體 在這裡使用ListView作為非同步下載圖片的環境。 1、Handle+Runnable 實現思路是: 1:在UI線程中啟動一個線程,讓這個線程去下載圖片。
前言 前不久在網上看見Android實現的類比時鐘,感覺十分有意思,這裡是地址: http://www.eoeandroid.com/forum.php?mod=viewthread&tid=58324可惜的是這種方式沒有 秒錶。筆者突然對其有了興趣,也想去實現以下自己的類比時鐘。折騰了一陣子總算是弄出來了
每次進入到android source目錄後的第一件事恐怕就是先執行. build/envsetup.sh,完成一些命令的初始化,今天主要分析envsetup.sh。1. 命令-也就是envsetup.sh中的函數function help() # 顯示協助資訊function get_abs_build_var() # 擷取絕對變數function get_build_var() #
1. 使用者空間的介面 在kernel/power/main.c中,定義了一組sysfs的屬性檔案,其中一個定義是: power_attr(state); 把這個宏展開後: static struct kobj_attribute state_attr = { \.attr ={ \.name = "state", \.mode = 0644, \}, \.show =state_show, \.store =state_store, \}
Android中的Bmp圖形格式(ALPHA_8,ARGB_4444,ARGB_8888,RGB_565)(2011-01-06 19:39:03)轉載標籤: it android.graphics.Bitmap.Config是一個枚舉類型,裡面定義了位元影像的四種格式.起初有點奇怪,網上查了一下,大概指定了類型名字怪怪的緣由. 從名字中可以看出: ALPHA_8:數字為8,圖形參數應該由一個位元組來表示,應該是一種8位的位元影像 ARGB_4444:4+4+4+4=1
如何解決:Android中 Error generating final archive: Debug Certificate expired on 10/09/18 16:30 的錯誤問題概述:在匯入一個app後提示如下錯誤:“Error generating final archive: Debug Certificate expired on 10/09/18 16:30”原因分析:android要求所有的程式必須有簽名,否則就不會安裝該程式。在我們開發過程中,adt使用debug
from :http://blog.csdn.net/maxleng/article/details/5508372 Android 啟動過程詳解 Android從Linux系統啟動有4個步驟;(1) init進程啟動(2) Native服務啟動(3) System Server,Android服務啟動(4) Home啟動 總體啟動架構圖如: 第一步:initial進程(system/core/init)
如何調用Android隱藏API作為Android應用的開發人員,在Android平台上開發,最熟悉的莫過於android sdk。SDK給開發人員帶來的巨大的便利,使得Android平台的應用開發效率大大提高。不過遺憾的是,Android的功能遠不止SDK暴露的那麼多,還有很多隱藏的東西Google都沒有通過SDK暴露給使用者開發人員。查看Android原始碼時就會發現,這些隱藏的API都有一個共同的特點:類或者方法前都有@hide。
Android 加速度感應器的類型是 Sensor.TYPE_ACCELEROMETER 通過 android.hardware.SensorEvent 返回加速度感應器值。 加速度感應器傳回值的單位是加速度的單位 m/s^2(米每二次方秒),有三個方向的值分別是 values[0]: x-axis 方向加速度 values[1]: y-axis 方向加速度 values[2]: z-axis 方向加速度
1.NET原始碼:using System;using System.Text;using System.Security.Cryptography;namespace ConsoleApplicationDemo{ /// <summary> /// AES對稱式加密解密類 /// </summary> public class AESHelper { #region 成員變數 ///
1、下載源碼$repo init -u git://git.android-x86.org/platform/manifest.git -b donut-x86 $repo sync 2、編譯kernel使用預設的進行編譯 make kernel TARGET_PRODUCT=eeepc使用了預設的kernel/arch/x86/configs/android-x86_defconfig定製自己的kernel加入編譯規則 build/core/kernel.mk 在kernel/arch/
1、使用Android Google Map Api之前必須檢測系統中是否安裝了Google map 應用,檢測方法如下:protected boolean checkGoogleMap(){lean isInstallGMap = false; List<PackageInfo>packs = getPackageManager().getInstalledPackages(0);for (int i = 0; i < packs.size(); i++)
Android源碼下載:官方下載 或參考android源碼下載方式Android編譯版本: PLATFORM_VERSION=4.0.1(最新Android 4.0.1)OS 作業系統平台: Linux yanggang 2.6.35-30-generic #61-Ubuntu SMP Tue Oct 11 15:29:15 UTC 2011 i686 GNU/Linux(Ubuntu10.10 32bit)首先,我們先安裝一些常用的工具curl: sudo apt-get
AIDL即android
包結構: com.XXXX.loading xxxxLoading.java com.XXXX.main xxxxMain.javahandle<更多參考該大牛,冒昧連結,若不願,望告知!>作用:比如一個應用程式啟動的時候會啟動一個主線程,用於對UI事件的響應,而我們如果將讀取網路資料或者本機資料也寫在主線程,如果5秒沒有將資料讀取完成,就會出現介面假死,提示退出程式,這樣一來,我們就得把這些耗時的程式寫到一個子線程裡,因子線程涉及UI更新,所以主線程就不安全了,這樣
1、給裝置安裝“豌豆莢” android版,電腦安裝豌豆莢(本人電腦安裝驅動老失敗)只能選擇自動安裝2、android 4.0系統,找到:設定-》開發人員選項-》USB調試3、等安裝驅動等搞定後電腦點擊“運行”->cmd輸入:adb devices可以看到裝置是否正確與電腦連結4、如果正確串連了,去eclipse裡,run configerition->targets選擇manual5、debug選擇外設調試OK,搞定
在Android中,要實現Loading效果,一般情況下都使用ProgressDialog控制項。ApiDemos/src/com/example/android/apis/view/ProgressBar3.java 提供兩個demo:仔細看了Android Market,發現卻是不一樣的,請看:那到底如何?呢?首先,我們建立一個布局檔案,res/layout/fullscreen_loading_indicator.xml, 其內容如下:<?xml version="1.0"
效果如下: 初始介面輸入資訊“確定”以後一、API文檔說明 1.介紹 用於不同Activity之間的資料傳遞 1.重要方法 clear():清除此Bundle映射中的所有儲存的資料。 clone():複製當前Bundle containsKey(String key):返回指定key的值 getString(String key):返回指定key的字元 hasFileDescriptors():指示是否包含任何捆綁打包檔案描述符 isEmpty()
在大多數作業系統裡,存在獨立的一個1對1的可執行檔(如Windows裡的exe檔案), 它可以產生進程,並能和介面表徵圖、應用進行使用者互動。但在Android裡,這是不固定的,理解將這些分散的部分如何進行組合是非常重要的。由於Android這種可靈活變通的,在實現一個應用不同部分時你需要理解一些基礎技術:一個android 包 (簡稱 .apk ) ,裡麵包含應用程式的代碼以及資源。這是一個應用發布,使用者能下載並安裝他們裝置上的檔案。一個任務
1:androidmanifest.xml的內容<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.itcast.contacts" android:versionCode="1" android:versionName="1.0">