————————下面是翻譯—————————我是分割線————————— 多解析度支援 在設計之初,Android系統就被設計為一個可以在多種不同解析度的裝置上啟動並執行作業
Java代碼 protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode ==
對自己現在所瞭解的layout_weight屬性進行記錄,不求全面,只求正確!layout_weight意為"權重",我的理解就是給組件設定一個顯示大小的比例。layout_weight設定一個值,會出現兩種情況。第一種:當組件的“layout_width”屬性為“fill_parent”時,值越小,組件越大。第二種:當組件的“layout_width”屬性為“wrap_content&rdq
背景SurfaceView是遊戲開發中經常使用到的View,能夠即時的更新UI介面,實現遊戲邏輯。在這裡的討論中,我設定了一個GameActivity , 在這個activity的布局中,放置了一個全屏的GameSurfaceView。GameActivity雖然是遊戲的主體,但遊戲的邏輯和顯示都是由GameSurfaceView負責。遊戲開始後,GameSurfaceView在新開的線程中運行,並即時的更新遊戲介面。當遊戲邏輯結束時,需要結束掉activity,以使得activity
TextView是一種可用於顯示字串的控制項類結構圖: TextView屬性詳解屬性詳解android:autoLink設定是否當文本為URL連結/email/電話號碼/map時,文本顯示為可點擊的連結。可選值(none/web/email/phone/map/all)android:autoText如果設定,將自動執行輸入值的拼字糾正。此處無效果,在顯示IME並輸入的時候起作用。android:bufferType指定getText()方式取得的文本類別。選項editab
在android中的布局有五大類,有的時候你可能用到一種,但有的時候你也可能需要兩種或者三種布局同時一起使用。這五種布局為別為:LinearLayout(線性布局),FrameLayout(架構布局),RelativeLayout(相對布局),TableLayout(表格版面配置),AbsoluteLayout(座標布局);LinearLayout:被稱為線性布局,分為水平和垂直,設定的垂直或水平的屬性值,來排列所有的子項目。所有的子項目都被堆放在其它元素之後,因此一個垂直列表的每一行只會有一個
在上篇部落格說了一下ant這個工具,連結地址:http://blog.csdn.net/androidbluetooth/article/details/6594401本篇部落格會繼續使用ant編譯android開源項目:sipdroid1.
就在昨天的Ice Cream Sandwich發布會結束以後的幾個小時,Google工程副總裁,移動部總監Andy Rubin接受了AllThingsD的採訪。以下是訪談重點內容:重點一:Google也參與了三星手機的製作 Rubin表示,Google和其夥伴三星一起,發布了Galaxy Nexus,那將是他們裝有 Android
@大家已經司空見慣。比如@+id/... @string/...看下面代碼:[html]<ProgressBar android:id="@+id/firstProgressBar" style="?android:progressBarStyleHorizontal"
複製流化的資料 你可以複製和粘貼被流化的大文本和位元據。這種資料可以是以下形式: 1. 儲存在實際裝置上的的檔案; 2. 來自通訊端中的資料流; 3. 儲存在底層資料庫系統中的大資料。 針對資料流的內容提供器使用一個檔案描述對象(如AssetFileDescriptor,而不是Cursor對象)來提供對資料的訪問。粘貼資料的應用程式會使用這個檔案描述對象來讀取資料流。 按照以下步驟建立使用提供其來複製資料流的應用程式: 1.
本文介紹多媒體的音頻和視頻播放。 播放音頻和視頻的源檔案可以是一下三種: 源檔案(即res/raw下或assets下)檔案系統(即sdcard)流媒體(即網路) 1. 播放音頻檔案播放音頻檔案可以用MediaPlayer類或SoundPool類。下面我們來介紹這兩個類。 1.1 MediaPlayer從源檔案(即res/raw下或assets下)播放音頻 [java] mMediaPlayer =
該執行個體主要用到了一個jar包,通過這個jar包可以將String Char類型直接從繁體轉到簡體或者從簡體轉到繁體,十分方便 下面看代碼實現: [java] public static void main(String[] args) { try { JChineseConvertor jChineseConvertor =
實現ContentProvider MIME 類型 ContentProvider 有兩個方法返回MIME類型。 getType() 一個對任何provider都要實現的方法。 getStreamTypes() 如果你的provider提供的是檔案,此方法是期望被實現的。 表的MIME類型們getType()方法返回一個MIME格式的String
Android4.0之後,Android內建了一個搜尋控制項,配合ActionBar上面的搜尋按鈕,相當不錯好看,這次使用了下,覺得很不錯。這個搜尋的好處在於你點擊後,他會自動彈出個搜尋方塊,輸入內容後會自動彈出匹配的內容,形成一個列表,選擇後會彈到你想要去的介面。類似這樣的 你需要在代碼中的onCreateOptionsMenu中加入 SearchManager searchManager = (SearchManager)
手機的螢幕較小,因此使用下拉式清單來進行選擇式輸入是一個非常好的方式。Spinner與 ListView 一樣,也是 AdapterView 的一個間接子類,是一個顯示資料的視窗。Spinner 類常用的方法如下: Spinner.getItemAtPosition(Spinner.getSelectedItemPosition()); 擷取下拉式清單方塊的值 調用 setOnItemSelectedListener() 方法,處理下拉式清單方塊被選擇事件,
通常情況下,如果我們要給ImageView加上邊框,比如寬為3dp的灰色框,是自己定義一個MyImageView類,繼承自ImageView,在其onDraw方法中畫canvas。還有設定一個帶有邊框的背景圖片的方法。 這裡給出一種簡單方法,既不需要建立衍生的類,也不需要準備圖片。採用xml定義的方式實現。背景定義xml: bg_border.xml<?xml version="1.0" encoding="UTF-8"?>
Android是如何?應用程式之間資料共用的?一個應用程式可以將自己的資料完全暴露出去,外界更本看不到,也不用看到這個應用程式暴露的資料是如何儲存的,或者是使用資料庫還是使用檔案,還是通過網上獲得,這些一切都不重要,重要的是外界可以通過這一套標準及統一的介面和這個程式裡的資料打交道,例如:添加(insert)、刪除(delete)、查詢(query)、修改(update),當然需要一定的許可權才可以。 如何將應用程式的資料暴露出去?
通常我們寫程式,都是在專案計劃的壓力下完成的,此時完成的代碼可以完成具體商務邏輯,但是效能不一定是最佳化的。一般來說,優秀的程式員在寫完代碼之後都會不斷的對代碼進行重構。重構的好處有很多,其中一點,就是對代碼進行最佳化,提高軟體的效能。下面我們就從幾個方面來瞭解Android開發過程中的代碼最佳化。 1)靜態變數引起記憶體泄露在代碼最佳化的過程中,我們需要對代碼中的靜態變數特別留意。靜態變數是類相關的變數,它的生命週期是從這個類被聲明,到這個類徹底被記憶體回收行程回收才會被銷毀。所以,
為了方便站在巨人臂膀上研讀源碼,特地將自己寫的源碼進行混淆之後與源碼進行比較。使用混淆的方法在project.properties檔案上加入[plain proguard.config=proguard.cfg這一條代碼。關於如何反編譯源碼,請看之前的一篇部落格如何反編繹APK檔案。一、代碼結構1、源碼 2、未帶混淆機制代碼 3、混淆後的代碼 可以看出未帶混淆機制的代碼基本上與源碼的結構相同,同時加入了R檔案和android.annotation包。而混淆