Time of Update: 2018-12-03
更詳細請參考 unlocking android 一書P90 什麼是Style,什麼是Theme? Style:是一個包含一種或者多種格式化屬性的集合,我們可以將其用為一個單位用在布局XML單個元素當中。比如,我們可以定義一種風格來定義文本的字型大小大小和顏色,然後將其用在View元素的一個特定的執行個體。 Theme:是一個包含一種或者多種格式化屬性的集合,我們可以將其為一個單位用在應用中所有的Activity當中或者應用中的某個Activity當
Time of Update: 2018-12-03
ListActivity是一個綁定到一個資料來源,並且用來顯示這一串資料的Activity。ListActivity擁有一個listview對象來實現資料來源的綁定與顯示,通常會是一個array或者一個擁有查詢結果的cursor.ListActivity本身有一個預設的layout,其中包含一個全屏的list。如果用預設的layout,你必須要在onCreate()中注釋掉setContentView()那一句。但是如果你如果你想要定製自己的layout你可以建立一個你自己的layout檔案,
Time of Update: 2018-12-03
一、 相關概念1. Drawable就是一個可畫的對象,其可能是一張位元影像(BitmapDrawable),也可能是一個圖形(ShapeDrawable),還有可能是一個圖層(LayerDrawable),我們根據畫圖的需求,建立相應的可畫對象2. Canvas畫布,繪製的目的地區,用於繪圖3. Bitmap位元影像,用於圖的處理4. Matrix矩陣,此例中用於操作圖片二、 步驟1.
Time of Update: 2018-12-03
今天看SDK, 看到這個東西不是很懂, google了一會有些許收穫. 以下是我的理解.getWidth得到是某個view的實際尺寸.getMeasuredWidth是得到某view想要在parent view裡面占的大小.那用法呢?getWidth在OnCreat的時候得到的是0..很奇怪, 我找到了原因: 當一個view對象建立時,android並不知道其大小,所以getWidth()和
Time of Update: 2018-12-03
第一章 開始1.1 環境搭建Android SDK可以工作在windows、Linux、Mac OS等作業系統上,其應用可以部署在任何android作業系統的裝置上,在進行開發之前,需要安裝jdk、ide、android sdk等。Java:安裝jdk,需要至少5.0以上的版本。其安裝步驟和環境變數的設定,和其他的java程式開發的時候所要求的一樣。Eclipse:可以從官方網站上直接下載安裝最新版本即可。Android SDK:從官方網站上下載或者從其他的網站上下載均可,目前的版本是2.2的,
Time of Update: 2018-12-03
v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--> Normal 0 7.8 磅 0 2 false false false
Time of Update: 2018-12-03
1. 首先是支援的格式比較豐富,有以下幾種:64和絃Midi,AAC、AAC+、AMR、WAV、MP3、Real Audio、WMA、OGG等格式.2. 如何把sdcard裡面的音效檔作為鈴聲:在sdcard的根目錄下面建立檔案夾: media/audio/ringtone(在audio檔案夾下面一般有三個子檔案夾:ringtones, alarms和notifications), 然後將鈴聲拷貝到該檔案夾下面即可.3. 如何用代碼實現自訂鈴聲?代碼實現還需驗證, 等成功後貼上來.好了,
Time of Update: 2018-12-03
Activity和Tasktask就好像是能包含很多activity的棧。預設情況下,一個activity啟動另外一個activity時,兩個activity是放在同一個task棧中的,第二個activity壓入第一個activity所在的task棧。當使用者按下返回鍵時,第二個activity從棧中彈出,第一個activity又在當前螢幕顯示。這樣,從使用者角度來看,這兩個activity就好像是屬於同一個應用程式的,即使第二個activity是屬於另外一個應用程式的。當然,這是指預設情況下。
Time of Update: 2018-12-03
此檔案名稱為myanimation.xml 位於 res/anim檔案夾下:具體釋義已在檔案中解釋。 <?xml version="1.0" encoding="UTF-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><!--Tween
Time of Update: 2018-12-03
轉自:http://wallage.blog.163.com/blog/static/17389624201032141818282/JNI是Java NativeInterface的縮寫,譯為Java本地介面。它允許Java代碼和其他語言編寫的代碼進行互動。在android中提供JNI的方式,讓Java程序可以調用C語言程式。android中很多Java類都具有native介面,這些介面由本地實現,然後註冊到系統中。 主要的JNI代碼放在以下的路徑中:frameworks/base/
Time of Update: 2018-12-03
一. 首先講一下canvas的save 和 restore功能. 這是canvas很有魅力的一個部分. onDraw方法會傳入一個Canvas對象,它是你用來繪製控制項視覺介面的畫布。 在onDraw方法裡,我們經常會看到調用save和restore方法,它們到底是幹什麼用的呢? ❑ save:用來儲存Canvas的狀態。save之後,可以調用Canvas的平移、放縮、旋轉、錯切、裁剪等操作。 ❑
Time of Update: 2018-12-03
Runnable 並不一定是新開一個線程,比如下面的調用方法就是運行在UI主線程中的:Handler mHandler=new Handler();mHandler.post(new Runnable(){@Overridepublic void run() {// TODO Auto-generated method stub}});官方對這個方法的解釋如下,注意其中的:“The runnable will be run on the user interface thread. ”
Time of Update: 2018-12-03
Android的Margin和Padding跟Html的是一樣的。如所示:黃色部分為Padding,灰色部分為Margin。 通俗的理解 Padding 為內邊框,Margin 為外邊框對應的屬性為android:layout_marginBottom="25dip" android:layout_marginLeft="10dip" android:layout_marginTop="10dip" android:layout_marginRight="10dip"
Time of Update: 2018-12-03
Android 中我們使用AsyncTask時,一般是把它當Activity的內部類來使用的。原因,這樣可以簡單的在更新進度onProgressUpdate 和 執行完成時onPostExecute, 直接操作Activity的介面元素控制項。但是如果我們想讓我們的代碼職責更單一,功能劃分更清晰,就最好不要用內部類,這時候我們可以借用 Handler 來實現這個需求。有關 AsyncTask 的用法可以參看我寫的這篇部落格:
Time of Update: 2018-12-03
Android 的訊息佇列模型Android是參考Windows的訊息迴圈機制來實現Android自身的訊息迴圈的。 Android通過Looper、Handler來實現訊息迴圈機制,Android訊息迴圈是針對線程的(每個線程都可以有自己的訊息佇列和訊息迴圈)。
Time of Update: 2018-12-03
訊息分發知識基礎動作序列的三個事件TouchEvent 分三種事件:down、move、up。其中move事件在一個操作中(這裡說的一個操作就是使用者與螢幕的互動,即由down到up的動作序列)可能會發生多次。 但是,我們認為一個動作序列會包含以上三種事件,因此,在事件處理中就是要處理好這個過程,而最重要的就是down事件,這是一個動作序列的起始,沒有down談不上後面的事件了。 所以,我們把消耗down事件的類當做是這個動作序列的最終載體。如果Down事件不歸你處理,那這個動作序列的move,
Time of Update: 2018-12-03
一、安裝 JDK下載JDK最新版本,如下:http://www.oracle.com/technetwork/java/javase/downloads/index.html這裡我下載的是: Java SE Development Kit 6u24 for Windows x64, Multi-language,即這個檔案:jdk-6u24-windows-x64.exe 下載後安裝。Windows
Time of Update: 2018-12-03
啟動那個Acitivity有兩種方式:implicit(隱藏) intent 和 explicit(明確) intentExplicit Intent 明確的指定了要啟動的Acitivity 比如以下Java代碼,明確指定了要啟動B: Intent intent= new Intent(this, B.class) Implicit Intent 沒有明確的指定要啟動哪個Activity ,而是通過設定一些Intent
Time of Update: 2018-12-03
方法一,兩個Activity核心代碼:package ghj1976.HelloWorld;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;public class SplashActivity extends Activity {private final int SPLASH_DISPLAY_LENGHT = 8000; /
Time of Update: 2018-12-03
drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:Android2.1(含)以後的版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三個目錄,這三個目錄主要是為了支援多解析度。dpi是“dot per inch”的縮寫,每英吋像素數。 四種密度分類: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high) 一般情況下的普通螢幕:ldpi是1