Time of Update: 2013-12-26
隨著國內智能手機市場的繁榮,自然而然,龐大的使用者群對APP的需求也在急速提升。截至今年六月,App Store上的應用總數已經達到900,000,而Google play也超過800,000。儘管很可能被大浪拍死在沙灘上,但是APP開發的低門檻給不少手遊開發商以及個人開發人員試水移動互連網的機會。試想一下,
Time of Update: 2013-12-26
Genymotion概述Genymotion是一套完整的工具集,旨在為Android提供虛擬環境。開發人員、測試人員、銷售人員甚至是遊戲玩家都能從中獲得眾多實用功 能。 它可用於大多數作業系統:Windows、Linux以及MacOS X。它既易於安裝,又具備強大的功能:遵循簡單的安裝流程指引、選擇一款Android虛擬設備、啟動工具,大功告成!Genymotion特色最佳Android虛擬效果OpenGL加速機制帶來最佳3D效能從Google
Time of Update: 2013-12-26
擷取當前現正播放音訊硬體資訊使用不同的硬體裝置可能會影響您應用程式的設計方式,您可以通過 AudioManager 來查詢當前現正播放音訊硬體裝置資訊,是內建擴音器,還是有線耳機,或者是藍牙裝置。範例程式碼如下:if (isBluetoothA2dpOn()) { // Adjust output for Bluetooth. 藍牙裝置 }
Time of Update: 2013-12-11
在開發android應用時,常常通過按返回鍵(即keyCode == KeyEvent.KEYCODE_BACK )就能關閉程式,其實大多情況下該應用還在任務裡運行著,其實這不是我們想要的結果。我們可以這樣做,當使用者點擊自訂的退出按鈕或返回鍵時(需要捕獲動作),我們在onDestroy() 裡強制退出應用,或直接殺死進程,具體作業碼如下://捕獲按下鍵盤上返回按鈕 @Override public boolean
Time of Update: 2013-12-11
這個例子只是簡單的返回一個String,而在實際需要時,可能需要在DIalog或非Activity(如ListView中的Adapter)中做複雜的操作後,傳回值至主Activity。 例如本人最近在做一個ListView中的Adapter包含按鈕,在點擊其中的按鈕後需要重新整理整個ListView,因此便需要以下方法傳值。 在Activity調用另一Activity時,可使用如下方法獲得傳回值: Intent
Time of Update: 2013-12-11
A、B兩個模組,主要都是用C實現的,需要用ndk編譯成兩個a.so、b.so,但是a.so內調用b.so中的函數,b.so內也調用了a.so中的函數,而且由於某些原因A、B必須分開編譯。問題是無論先編譯那個模組都會編譯不通過,因為它們相互依賴。為了編譯通過,必須在編譯時間取消這種依賴關係,下面程式中使用dlopen開啟so,dlsym擷取函數指標,就避免了這種編譯依賴關係。a.cview plain#include <stdio.h> #include
Time of Update: 2013-12-11
上一節中,我們實現了自己的notification,相信大家都有了一些認識,在最後也接受了利用RemoteView來實現自訂布局的notification,這裡就來舉一個樣本,方便理解。 第一步:建立一個工程,命名為cusNotification; 第二步:建立一個布局檔案(即自訂的notification的布局檔案:custom_notification.xml,內容如下:&
Time of Update: 2013-12-11
本文介紹程式主介面的實現,對應的檔案是Panoramio.java,主介面提供給使用者從地圖上選擇搜尋地區的功能,因此,直接從MapActivity繼承,並實現OnClickListener介面。這樣一來,這個類的初始架構如下代碼所示:[java]import com.google.android.maps.MapActivity; import android.os.Bundle; import android.view.View; import
Time of Update: 2013-12-11
使用ListView過程中,如果滾動式載入資料的操作比較費時,很容易在滾屏時出現螢幕卡住的現象,一個解決的辦法就是不要在滾動時載入資料,而是等到滾動停止後再進行資料的載入。這同樣要實現OnScrollListener介面,關於該介面的簡要描述見上一篇文章,這裡直接進行代碼的分析:[java]package hust.iprai.asce1885; import android.app.ListActivity; import
Time of Update: 2013-12-11
概述 當寫一個應用時,恰當的決定你的圖形需求是很重要的.不同的圖形任務對應不同的技術.例如,一個靜態應用的圖形和動畫的實現肯定與一個互動式遊戲非常不同.這裡,我們將討論一些在android上繪製圖形時的操作以及它們最適合應用的任務.Canvas和Drawables Android提供了一系列View組件來為大多數使用者介面提供通常的功能.你也可以擴充這些組件來修改它們的外觀和行為.另外,你可以使用Canvas類的方法來繪製你自己的2D顯示或為那些像紋理按鈕或逐幀顯示的動畫之類的東西或建立Dr
Time of Update: 2013-12-11
一說起慣性的旋轉,我就想起wheel Collider,他很好的類比了汽車,包括車輪的旋轉;我想要的效果,給一個物體初速度,當物體被各種各樣的力阻擋過後,我們的物體的旋轉速度將越來越小,最後靜止。
Time of Update: 2013-12-11
本文解決公用IP(外網IP有限,經常發生在公司網路環境或虛擬機器上)的機器下載Android原始碼遇到的問題。注意本文只針對當前從android.googlesource.com下載源碼時遇到的問題,因為網路和後續Android源碼維護升級等因素,有時效性,並不能保證以後一定還起作用。利用五一假期期間,用家裡的網路要把Android2.3,4.0都下載下來。但操作起來還真有遇到了問題。之前Android的代碼是在Linux
Time of Update: 2013-12-11
1、問題的引入 在android源碼,成功執行了make 和 make
Time of Update: 2013-12-11
Android SDK中帶有很多例子,其中ApiDemo詳細介紹了Android平台主要API,分成了AppContentGraphicsMediaOSTextViews幾個大類,每個大類又分為幾個小類,一共大約有200多個執行個體,涵蓋了Android OS API的各個方面:下面是所有樣本的列表:App/Activity/AnimationApp/Activity/Custom DialogApp/Activity/Custom
Time of Update: 2013-12-11
[java] AccelerometerListener:感應器監聽類,此類用於監聽感應加速器,會通知用戶端水平和重力感應資訊 ADNList extents
Time of Update: 2013-12-11
最近要更換平板電腦中wifi的firmware,所以老是在和wifi串連後的電流打交道,現在總結一下。 wifi串連後,當平板電腦滅屏以後,根據Settings中配置的休眠策略,wifi可能會中斷連線。 當在Settings中配置休眠策略為“始終串連”時,wifi在平板滅屏後,不會中斷連線,這樣可能會有app在後台進行通訊, 導致平板無法休眠,電流就比較高。 當在Settings中配置的休眠策略為“中斷連線&
Time of Update: 2013-12-10
When you're altering the frequency of your background updates to reduce the effect of those updates on battery life, checking the current battery level and charging state is a good place to start.The battery-life impact of performing
Time of Update: 2013-12-10
Everyone likes it when you remember their name. One of the simplest, most effective things you can do to make your app more lovable is to remember who your user is—especially when the user upgrades to a new device or starts carrying a tablet
Time of Update: 2013-12-10
概述使用Camera有兩種方式:通過Intent使用已有的app和通過Camera構建自己的app。Camera相關聲明如果你的應用程式要使用Camera,則必須獲得使用許可,需要在AndroidManifest.xml中加入如下聲明。<uses-permissionandroid:name="android.permission.CAMERA" />如果你的應用程式必須有Camera才能使用,則聲明如下:<uses-featureandroid:name=
Time of Update: 2013-12-10
#include<stdio.h> #include<string.h> #include<stdlib.h> int failure[100];//失配函數 int strmatch_bf(char *s,char *t) { //簡單模式比對,基本思想:將s和t進行比較,如果相等繼續比較,否則t從頭開始,s從i-j+1開始 int i,j; i=j=0; while((i <