Time of Update: 2018-12-05
android 的mediaplayer的prepare過程有很多動作,比方demuxer,find codec,如果時間較長就會出現ANR,android的系統會在5秒檢測主線程是否有響應,沒有就會出現錯誤提示,使用者體驗非常的不好。所以系統如果有parepareAsync提供的話,可以使用這個函數,然後再檢測prepare狀態,如果沒有prepareAsync提供的話,prepare不能在主線程來使用。 下面是從SDK摘出來的Asynchronous
Time of Update: 2018-12-05
android中有很多的電子書閱讀應用,應用中都模擬了書架的實現,這裡也分享一篇讀書應用的書架實現:JAVA代碼:public class ShelvesView extends GridView { private Bitmap mShelfBackground; private int mShelfWidth; private int mShelfHeight; private Bitmap mWebLeft; private
Time of Update: 2018-12-05
有時候發現別人手機裡有一款 apk 挺好,想弄出來裝自己手機上,可是卻發現那個 apk 是殘缺的,裡面沒有 classes.dex 檔案,卻有個跟 apk 同名的 odex 檔案。殘缺的 apk 是裝不了的,只能把這個 apk 跟 odex 合并成一個完整的 apk 才能安裝。 需要的工具: 1 . smali-1.2.2.jar 和 baksmali-1.2.2.jar 2 . 還需要這個 apk 所在的 rom 裡面的一些 jar 檔案,都在
Time of Update: 2018-12-05
在使用TabHost之前,我們先來簡單的看下它的原始碼。主要變數有:private TabWidget mTabWidget;private FrameLayout mTabContent;private List mTabSpecs = new ArrayList(2);也就是說我們的tabhost必須有這三個東西,所以我們的.xml檔案就會有規定:繼續查看原始碼:public void setup() { mTabWidget = (TabWidget)
Time of Update: 2018-12-05
前面總結過一篇關於或者android 螢幕height和statusbar height的文章,但是這幾種方法不適用於android os 4.0了。因為4.0的API又發生變化了。我們拿到的高度是已經減去status bar的高度了。所以我們不能直接拿到全屏高度,以及status
Time of Update: 2018-12-05
背景介紹:到目前為止,android已經從1.5發展到目前的3.2,我們在寫一個應用的時候,最常用到得就是擷取螢幕高度,寬度,以及status bar的高度。然而android系統變化太快了,從開始的手機作業系統到目前的3.2 平板電腦系統,在擷取這些資料的時候也發生了很大的變化。值得我們重視,否則會有很多錯誤發生。問題分析及解決方案:1. android 1.6 到 android 2.x這是android手機作業系統,從1.6到2.x都有著統一的擷取方法。直接利用android
Time of Update: 2018-12-05
這是我最近碰到的一個比較嚴重的問題,一直不能完美的解決。實在無奈之下,發帖到csdn android版提了一個問題,沒想到驚動了版主,給了我很大的協助,讓我可以完美的解決類似問題。決定以後蹲點csdn android論壇了。呵呵。 問題描述:在WVGA 854 裝置上,圖片大小自適應變化得到的是錯誤結果,在我的項目上就是 圖片總會縮小。比如說 854X90的圖片在經過自適應的時候,圖片寬度,高度會縮小1.5倍,這樣就會導致顯示的時候不能佔滿全屏。 問題分析:我發現圖片讀取時正常的,是854x9
Time of Update: 2018-12-05
1、如果skin的顯示地區太大,鍵盤部分可能顯示不全,給使用帶來不便模擬器還會報出警告: emulator window was out of view and was recentred我們可以通過-scale 選項來解決這個問題,用./emulator -scale 0.9來啟動模擬器就沒問題了如果已經把sdk的tools加入到PATH當中,使用emulator -avd avdname -scale 0.9也可以2、在eclipse中,如何使用WVGA skin在 Run ->
Time of Update: 2018-12-05
什麼是OPenGL ES ,我們為什麼要關注它 OpenGL ES 是OpenGL的子集,它是一個3D繪圖編程的標準。他尤其適用於行動裝置和嵌入式裝置。它屬於Khronos集團,Khronos集團包括了ATI,NVIDIA和Intel等公司,這些公司共同定義和擴充了OPenGL標準。 說起OPenGL ES,它現在有3個版本:OPenG1.0,OpenG1.1,OpenG2.0。本書只是用前兩個版本。所有的Android裝置都支援OpenGL1.0,大多數支援OpenGL1.1
Time of Update: 2018-12-05
下載msysgit,安裝官方下載:http://code.google.com/p/msysgit/downloads/list, 開啟Git Bash,執行命令cd D:git clone https://android.googlesource.com/platform/manifest.git 輸入命令,切換到manifest目錄cd manifestgit tag 列出android各個分支版本git
Time of Update: 2018-12-05
ListView是Android開發過程中較為常見的組件之一,它將資料以列表的形式展現出來。一般而言,一個ListView由以下三個元素組成:1.View,用於展示列表,通常是一個xml所指定的。大家都知道Android的介面基本上是由xml檔案負責完成的,所以ListView的介面也理所應當的使用了xml定義。例如在ListView中經常用到的“android.R.layout.simple_list_item_1”等,就是Android系統內部定義好的一個xml檔案。2.適配器,用來將不同的
Time of Update: 2018-12-05
通過參考網路上的資料,將自己在Ubuntu上面搭建android NDK R7開發環境的過程,經驗,以及遇到的問題給記錄下來。希望對大家有所協助。1. 下載包android-ndk-r7-linux-x86.tar.bz2(然後可以拷貝至你想存放的路徑,比如我的路徑為:/home/XXX/Android_install)2. 進入包存放目錄(cd /home/XXX/Android_install)進行解壓縮, 命令:tar jxvf
Time of Update: 2018-12-05
以前用到的沒整理,現在整理下,方便用:一般介面返回一個list我們不能直接傳遞,定義為static類型吧,佔用記憶體又太大,所以我們想辦法定義為普通變數,通過itent傳遞,這個時候我們就必須把自訂的model實現序列化,繼承Parcelable介面。直接貼代碼:public class CityListInfo implements Parcelable; List<CityListInfo> cityListInfos = new
Time of Update: 2018-12-05
添加秘密程式,通過撥號啟動AndroidManifest.xml<receiver android:name=".secret"> <intent-filter> <action android:name="android.provider.Telephony.SECRET_CODE" /> <data android:scheme="android_secret_code" android:host="1234"/&
Time of Update: 2018-12-05
protected void onDraw(Canvas canvas) {Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.ms_pivot);canvas.drawColor(Color.BLACK);Matrix matrix = new Matrix();matrix.postRotate(90, 10 + bitmap.getWidth()/2, 10 +
Time of Update: 2018-12-05
想知道爆炸式怎麼製作的嗎?讓我們抄個近道,試著來實現一個基本的例子爆炸爆炸就是一堆粒子在螢幕上面分散開來,簡單起見,我們認為所有的例子都是來自於一個點想想煙火,小小的火箭上升,然後爆炸為成百的小星星,最終落下時候消失。為了簡單一點,我們會造一些粒子,我們會把他們放到一個位置,給他們隨機的力量,這個值是向量值,也就是說它既有方向,也有大小。大小決定速度,方向決定粒子的方向。粒子類檔案public class Particle {public static final int
Time of Update: 2018-12-05
Android系統架構總共被分為四層,在這裡大家就可以通過介紹對這四個層次進行一個深入的解讀,以加深大家對這一系統的認識。如今,大家面對市場中種類繁多的手機必然挑的眼花繚亂。不過,在智能手機佔據主要地位的今天,挑選手機的主要因素就是挑選一款效能高的手機作業系統,Android就是其中的一個必然選擇。Android系統架構和其作業系統一樣,採用了分層的架構。Android分為四個層,從高層到低層分別是應用程式層、應用程式架構層、系統運行庫層和linux核心層。 Android系統架構之應用程式An
Time of Update: 2018-12-05
在ANDROID智能手機上,支援的網路模式很多,有WIFI、移動網路,而移動網路又分走不走網關,如果是雙卡雙待的手機,則更為複雜。那麼在程式中如何進行正確的網路連接呢?以下是我在項目中所採用的方式。// 說明:連網時優先選擇WIFI連網,如果WIFI沒開或不可用,則使用移動網路String result = "";HttpURLConnection httpURLConn;try {// 擷取當前可用網路資訊ConnectivityManager connMng =
Time of Update: 2018-12-05
mk指令碼分析源碼及注釋如下:#!/bin/sh## Description : Build Android Script.# Authors : jianjun jiang - jerryjianjun@gmail.com# Version : 0.01# Notes : None#export ANDROID_JAVA_HOME=/usr/lib/jvm/java-6-sun/
Time of Update: 2018-12-05
新入手了一個gt-s5830i手機。測試手頭的一個map相關的定位軟體。可是發現,eclipse無法下載程式到5830上,提示如下:且console裡提示 ”Installation error: