Time of Update: 2013-12-11
在開發的過程中我們經常需要偵錯工具的執行路徑,如我們想知道一個Activity的生命週期方法的調用順序,我們可能會寫如下代碼Java代碼 1. ..... 2. public void onResume() { 3. super.onResume(); 4. Log.d(
Time of Update: 2013-12-11
1、在res/anim目錄下建立XML檔案:tween_anim.xml[html]<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha
Time of Update: 2013-12-11
Java代碼 import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import
Time of Update: 2013-12-11
1,點擊按鈕,指定action和uri,設定結果碼(ResultCode).到達手機預設相簿的Gallery. 代碼如下: 1. public void onClick(View v) {2. // TODO Auto-generated method stub3.
Time of Update: 2013-12-11
更新最新ADT外掛程式,打包工程無異常,但是程式運行時無法找到所引入jar包更新最新ADT外掛程式,打包工程無異常,但是程式運行時無法找到所引入jar包,更新最新的ADT外掛程式時,自然而然大家都會遇到這樣的問題。(因為更新了sdk到1.7以上,就需要更新eclipse的ADT外掛程式到最新的17以上)。但是ADT外掛程式的包的引入方式有所的改變。首先你所建的工程自然而然的多了一個Android
Time of Update: 2013-12-11
應該始終把像圖片和字串這樣的資源作為外部與代碼分離開,以便於能夠獨立的維護它們。還可以通過把資源群組織到特殊命名的資來源目錄中,給特殊的裝置配置提供可選的資源。在運行時,Android系統會基於當前的配置選擇使用合適的資源。如,可以根據不同的螢幕尺寸提供不同UI布局,也可以根據系統的語言設定提供不同語言的字串。把應用程式資源作為外部資源分離後,可以使用項目中自動產生的R類中的資源ID來訪問對應的資源。如何使用應用程式中的資源會在“訪問資源”一節中詳細討論,本文檔主要討論如
Time of Update: 2013-12-11
assets檔案夾裡面的檔案都是保持原始的檔案格式,需要用AssetManager以位元組流的形式讀取檔案。 1. 先在Activity裡面調用getAssets()來擷取AssetManager引用。 2. 再用AssetManager的open(String fileName, int
Time of Update: 2013-12-11
最近在做一個jWebSocket Android用戶端的Demo時遇到如下錯誤:"......The method onAccuracyChanged(Sensor, int) of type Fundamentals must override a superclass......""......The method onClick(View) of type new View.OnClickListener(){} must override a
Time of Update: 2013-12-11
前言:很久,都沒更新過這個系列了…因為,除了圖表以外,然後就是資料庫了,調試了一個多星期的Ormlite資料庫,在最新版本中(orm
Time of Update: 2013-12-11
層級列表層級列表管理著一組可選擇的繪製資源,被管理的每個資源都會給分配一個最大的數字值。調用setLevel()方法給裝載在層級列表中的有android:maxLevel屬性的繪製資源順位值。android:maxLevel的值要大於或等於傳遞給setLevel()方法的值。檔案位置(FILE LOCATION):res/drawable/filename.xml檔案名稱被用作資源ID。被編譯資源的資料類型(COMPILED RESOURCE
Time of Update: 2013-12-11
菜單資源定義了應用程式的菜單(選項菜單、內容菜單或子功能表),這些菜單能夠使用MenuInflater對象來裝載。檔案位置(FILE LOCATION):res/menu/filename.xml檔案名稱被用作資源ID。被編譯資源的資料類型(COMPILED RESOURCE DATATYPE):資源指向一個Menu(或其子類)對象。資源引用(RESOURCE REFERENCE):在Java代碼中:R.menu.filename在XML中:@[package:]menu.filename文法(
Time of Update: 2013-12-11
[java] public class MainActivity extends Activity { private Button defaultbutton = null; @Override public void onCreate(Bundle savedInstanceState) {&
Time of Update: 2013-12-11
android 圖片轉 圓形和圓角矩形,比較高效的方法圓角矩形:int w = getWidth(); int h = getHeight(); Bitmap bitmap = Bitmap.createBitmap(w, h,
Time of Update: 2013-12-11
本文注意:條目和用語可能與書籍有所出入,但盡量保持原樣加一些自己的理解。 一、效能 1. 先把焦點放在設計、資料結構和演算法身上 備忘:良好的設計、明智的選擇資料結構和演算法可能比高效代碼更重要。 2. 不要依賴編譯器最佳化技術 3.
Time of Update: 2013-12-11
一個應用中類於類之間的依賴關係可能非常複雜,建立於個類執行個體,需要先建立類所依賴的類的樣本,而建立所依賴類的執行個體,這些類又可能依賴其它類,以此類推。因此在建立一個類執行個體時,你正在需要建立的是一個對象圖對象(Object Graph)。手工建立Object Graph 是一個非常繁瑣而且容易出錯的過程,並且很難對代碼進行測試,而Guice或Roboguice可以協助你建立Object Graph,所要做的工作是配置類和類之間的依賴關係。模組(Modules) 是Guice
Time of Update: 2013-12-11
Injector 通過檢查bindings 定義來建立某個類型的執行個體對象。定義在Module中的綁定稱為“明確聲明綁定(Explicit bindings”。Injector 會首先使用帶有Explicit Bindings為某個類型建立執行個體對象。 當但某個類型沒有明確定義綁定時,Injector 試圖構造“即時綁定(Just-in-time Bindings),JIT Bindings 也成為隱含綁定(implicit
Time of Update: 2013-12-11
鬧鐘在生活中最常見了,在Android中可以通過AlarmManager來實現鬧鐘,AlarmManager類專門用來設定在某個指定的時間去完成指定的時間。AlarmManager就會通過onReceive()方法去執行這些事件,就算系統處於待機狀態,同樣不會影響運行。可以通過Context.getSystemService方法來獲得該服務。AlarmManager中的方法不少,如下: 方法說明Cancel取消AlarmManager服務Set設定AlarmManager服
Time of Update: 2013-12-11
我們今天講的主要就是android螢幕上的頂部與底部的工具列,這樣我們就可以在一個介面上實現很多種功能了,這樣我們的使用者用起來也比較好用,至於上面都有什麼功能,那就看大家怎麼來實現了這兩個工具列全是用布局來實現的。底部工具列布局代碼:<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.
Time of Update: 2013-12-11
使用到的布局檔案[java]<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
Time of Update: 2013-12-11
static Comparator<File> comparator = new Comparator<File>() {public int compare(File f1, File f2) {if (f1 == null || f2 == null) {// 先比較nullif (f1 == null) {{return -1;}} else {return 1;}} else {if (f1.isDirectory() == true && f2.