Time of Update: 2018-12-05
在Activity中 // ME722 測試 480*854 豎屏Display display = this.getWindowManager().getDefaultDisplay();int nHeight = display.getHeight(); //569int nWidth = display.getWidth(); //320DisplayMetrics metrics = new
Time of Update: 2018-12-05
AsyncTask和Handler對比1 ) AsyncTask實現的原理,和適用的優缺點AsyncTask,是android提供的輕量級的非同步類,可以直接繼承AsyncTask,在類中實現非同步作業,並提供介面反饋當前非同步執行的程度(可以通過介面實現UI進度更新),最後反饋執行的結果給UI主線程.使用的優點:l 簡單,快捷l 過程可控 使用的缺點:l 在使用多個非同步作業和並需要進行Ui變更時,就變得複雜起來.2
Time of Update: 2018-12-05
接上篇的 android TraceView使用以及listview 的效能最佳化測試(一)上篇最後面給了我測試用的代碼: 未看到請先瀏覽上一篇:好現在咋門來驗證listView 的神奇,listview主要需要最佳化的就是getView() 這個方法,實現其中convertView 的緩衝最佳化,下面就利用TraceView 測試下listview重用convertView 的區別: 首先啥都不做: public View getView(int position, View
Time of Update: 2018-12-05
原文
Time of Update: 2018-12-05
支援橫豎螢幕的切換代碼如下: public class TestActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); LinearLayout
Time of Update: 2018-12-05
一、 說明:本樣本是在上一個樣本(Android應用自身升級)的基礎上完成的。環境配置也同上一個demo一樣。只是增加了一些功能用來檢測Android系統中所有需要升級的應用程式,並從伺服器上下載更新。二、 功能需求說明: a) 檢測出Android系統中所有已安裝的應用(區別與Android系統內建的應用),並獲得每個應用的資訊。 b)
Time of Update: 2018-12-05
以前用2.2 訪問WebService沒有問題,到3.0上訪問出現android.os.NetworkOnMainThreadException找了資料經過實踐,解決方案如下:public void onCreate() { StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites()
Time of Update: 2018-12-05
在Android中Spinner就是下拉式功能表,它相當於HTML中的<select>標籤。Android中提供的Spinner Widget下拉式功能表已經非常好用了,樣式也適用,不過我們還是可以通過定義xml的方式來改變下拉式功能表的樣式。在layout目錄下建立一個xml檔案,名字隨便(我這裡叫myspinner.xml)。在這個檔案裡面可以定義下拉式功能表的樣式我們這裡採用TextView來實現<?xml version="1.0" encoding="utf-8"?&
Time of Update: 2018-12-05
android的Face Service目前為上(4.2)只能進行人臉的識別,而不能進行人臉的對比。下面是具體代碼package com.example.facedetectdemo;import java.io.IOException;import android.app.Activity;import android.content.pm.ActivityInfo;import android.graphics.PixelFormat;import
Time of Update: 2018-12-05
為了學習android應用開發,學習原始碼是最好的方式之一。於是我網上下載了一個原始碼:MyContacts通訊錄。開啟eclipse,菜單使用import匯入原始碼,完畢後,工程出現錯誤。 一.應用開發包報錯,所有的import android.*;都報無發現該類庫的錯誤。好吧,這個原始碼不攜帶android的SDK,於是我點了工程,右鍵點Build Path,點Add External Archivees,在選擇框找到我本地的android
Time of Update: 2018-12-05
在android中解析XML檔案有很多方法,今天主要介紹下SAX解析。1、SAX簡介SAX是基於事件驅動模型,可以捕獲到讀取文檔過程中產生的事件,比如開始文檔、結束文檔、開始元素、結束元素、常值內容事件等。通過定義一個事件處理器,在這些事件觸發後,來實現資料的擷取。通過使用XMLReader類來註冊事件處理器,在Android中有如下4個事件處理器介面,如:補充:事件驅動模型是事件來源發出事件,監聽器捕獲事件並做出相應的過程。這裡,事件來源就是發出事件的對象,監聽器則是對事件感興趣的對象。圖片引
Time of Update: 2018-12-05
java中經常用到properties檔案,然後通過使用Properties類來解析,這裡不再陳述使用properties檔案的好處,主要探討如何在android中使用properties檔案! 方法一:因為最終是通過流檔案來進行properties檔案讀取的,所以很自然,我們想到要將檔案放入到assets檔案夾或者raw檔案夾中了。 例如,我們這裡有一個檔案——>test.properties,如果放入了assets檔案夾中,可以如下開啟Properties pro =
Time of Update: 2018-12-05
<TextView android:id="@+id/tvText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="text1" android:textSize="30sp" android:textStyle="bold" android:textColor="#FFFFFF"
Time of Update: 2018-12-05
第一步:首先你得瞭解TabHost和TabWidget, 將TabHost分為兩個部分,一個是放內容的,還有一個就是放選項卡的,我們這裡選項卡用TabWidget。TabHost的id應該寫為android:id="@android:id/tabhost",而不是以前的那個加號,這樣可以直接在Activity裡面通過getTabHost方法得到此TabHost對象。那如何才能將選項卡放在最底部呢,這其實很簡單,還記得 RelativeLayout中android:layout_alignBot
Time of Update: 2018-12-05
SoundPool遊戲聲音的解決方案遊戲圖形及邏輯部分開發完畢,但在音樂和音效的處理上真是費盡周折,好在最後完美解決了,在此共用給大家,共同提高!最開始我使用的是普通的MediaPlayer的方式,但這個方法不適合用於遊戲開發,因為遊戲裡面同時播放多個音效是常有的事,用過MediaPlayer的朋友都該知道,它是不支援即時播放多個聲音的,會出現或多或少的延遲,而且這個延遲是無法讓人忍受的,尤其是在快速連續播放聲音(比如連續猛點按鈕)時,會非常明顯,長的時候會出現3~5秒的延遲~~-_-!~~後來
Time of Update: 2018-12-05
Android 代碼的工程分為三個部分:核心工程( Core Project )建立 Android 系統的基礎,在根目錄的各個檔案夾中。擴充工程( External Project )使用其他開源項目擴充的功能,在external 檔案夾中。包( Package )提供 Android 的應用程式和服務,在package 檔案夾中。核心工程 :bionic : C 運行時支援 : libc,libm, libdl, 動態 linkerbootloader/legacy :
Time of Update: 2018-12-05
Java代碼:[/b][code]/*** 擷取CPU序號* * @return CPU序號(16位)* 讀取失敗為"0000000000000000"*/public static String getCPUSerial() {String str = "", strCPU = "", cpuAddress = "0000000000000000";try {//讀取CPU資訊Process pp = Runtime.getRuntime().exec("cat /proc/cpuinfo"
Time of Update: 2018-12-05
Android系統Recovery工作原理之使用update.zip升級過程分析(三)---Android系統的三種啟動模式 以下的篇幅開始分析我們在上兩個篇幅中產生的update.zip包在具體更新中所經過的過程,並根據源碼分析每一部分的工作原理。一、 系統更新update.zip包的兩種方式 1. 通過上一個文檔,我們知道了怎樣製作一個update.zip升級包用於升級系統。Android在升級系統時獲得update.
Time of Update: 2018-12-05
Context在我們實際開發中被廣泛用到,比如 startActivity(…)/ getResources()/ getSharedPreferences(…)/ getSystemService(.)等等;書中把Context理解為一個應用情境,一個Activity執行個體就是一個應用情境,一個Service執行個體也是一種應用情境,只是他木有前台介面而已;與Context相關類的繼承關係如下:Context只是一個抽象類別,具體的邏輯實現全部都由ContextImpl完成;Context
Time of Update: 2018-12-05
可以裝一個VNC Server 在手機上啊,然後用電腦控制手機啊,哈哈,可惜Market中沒有相應的應用啊。但是還是找到了一個項目http://code.google.com/p/android-vnc-server/趕緊試一試啊,HOHO~ 點這裡下載編譯好的應用(不是apk的啊,是一Linux應用)因為是Linux應用 所以機器要Root啊。然後用手機連到電腦上,使用adb 推送到手機上:adb push androidvncserver /data修改許可權(來個猛的):chmod 77