Android應用開發初印象

來源:互聯網
上載者:User

前段時間終於拿下了蓄謀已久的HTC G2 TIM,並且在手機上安裝了各種各樣的軟體好好的玩了一把。總體感覺Android的應用相對來說還是少了一些,耐玩的遊戲還不多。其中鑽石迷情(jewels)還算是比較耐玩的,時間模式下我現在的最高分是46230,和高手比起來,不知道這個分數是不是還低了些呢,呵呵。我非常期待popcap的植物大戰殭屍能夠儘快移植到Android平台,這款遊戲深受廣大玩家的喜愛,原因就是非常的耐玩,並且考驗智力。

智能手機的好處就是可以自己裝軟體,甚至是自己寫在手機裡啟動並執行軟體。Android的程式需要使用Java開發,這點讓我有些不爽。因為一直以來我對Java都不太感冒,雖然在文法上看起來和C#很相似。但是沒辦法,我還是決定硬著頭皮把eclipse裝上,決定學習一下Android應用程式的開發,並且,打算第一個項目把之前使用Python寫的NancyGLines遊戲移植到Android中。這對我來說是一個激動人心的項目,第一次學習手機軟體的開發,希望NancyGLines能夠早點出來,放到Android Market裡。

為了我的開山之作,自然要先瞭解Android開發的知識。於是,我在網上找了一圈,發現資料還不少,下面是我找到的電子書列表,都可以Google到,找不到的可以留言問我要:

Android-A-Programmer’s-Guide

Android-Essentials

Introduction-To-Android

Professional_Android_2_Application_Development

Android.Application.Development.-.Programming.With.The.Google.Sdk.(O'reilly,.2009,.0596521472)

由於剛入門,我還是選擇先看Android的官方文檔:

http://developer.android.com/guide/index.html

官方的文檔非常的詳細,從基礎介紹,內部架構,到入門教學樣本,到每個API的說明,都非常詳細。因此,我花了2個晚上的時間,把Android開發的一些基礎文章以及入門樣本都看了一遍,對Android開發有了一些初印象,在這裡做為自己的學習筆記記錄一下。

工欲善其事必先利其器,首先我需要把Android的開發環境配置好。相信也有很多朋友和我一樣,在這裡耽誤了不少了時間。其實官方的文檔中已經寫的很詳細,只能怪我沒有仔細的看清楚。ADT外掛程式老是安裝不少,最後的原因是沒有安裝JDK。

步驟如下:

1. 下載並安裝JDK(5或6)。

2. 下載並解壓Eclipse。

3. 下載Android的SDK,解壓後,設定環境變數PATH到Tool目錄。

4. 在Eclipse中通過https://dl-ssl.google.com/android/eclipse/下載並安裝Android Development Tools (ADT) Plugin。

5. 裝好重啟Eclipse後,在Window - Preference中設定Android SDK的路徑。

6. 開啟Android SDK and AVD Manager,安裝不同平台的Android SDK版本,比如Andoid2.1 Android1.6。

完成了,其實並不複雜。接下來瞭解一下Android的架構:

由於是入門,看上面這張圖還不是很有感覺。隨著以後的深入,再回過頭來看這張圖,應該會更有感覺。

開發環境配置好後,最行之有效學習方法是看官方的Tutorials,包括:

  • Hello World
  • Hello Views
  • Hello Localization
  • Notepad Tutorial

通過上面的樣本,我會瞭解到以下東西:

1. Activity

Activity控制使用者介面操作的實體,一個應用程式可以有多個Activity,但同時只能有一個Activity的使用者介面呈現在使用者面前。我們需要實現一個類,繼承自Activity類,通過重寫父類的一些特定方法,就能實現在某些事件發生下,執行一些特定的代碼。比如,使用者按鍵,觸控螢幕幕的某個點等等。其中,關於Activity的幾個狀態,需要重點搞清楚,見:

 

2. View

使用者介面布局是通過xml來描述的,比如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <ListView android:id="@android:id/list"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    <TextView android:id="@android:id/empty"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/no_notes"/>

</LinearLayout>

裡面的ListView ,TextView可以理解為內建的一些控制項。同時,我們也可以實現自己自訂的View,只要繼承自View類。比如:

<com.coderzh.nancyglines.GLinesView
    android:id="@+id/glines"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

然後實現GLinesView類:

public class GLinesView extends View {

}

其中一個最重要的方法就是onDraw,用來畫想要呈現的使用者內容。比如,我想在螢幕上寫一個Hello。

@Override
protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);
    mPaint.setTextSize(20);
    mPaint.setColor(Color.BLUE);
    canvas.drawText("Hello", 20, 20, mPaint);
}

3. Intent

Intent表示你想要做什麼,AndroidManifest.xml中的filterIntent表示你的應用程式能夠處理什麼樣的Intent。有時,還可以通過Intent來實現不同表單間互相傳遞資訊。

4. AndroidManifest.xml檔案

相當於ASP.NET的Web.config檔案了,全域的一些配置。比如,設定Activity,filterIntent等等。

5. 資源訪問的R.java

Android裡訪問資源非常簡單,當我們添加了資源到res目錄後,ADT外掛程式會自動更新R.java檔案,通過R類,就能輕鬆的訪問到任何res中的資源。同時,也可以介面的xml中方面的使用。

6. 資料庫

使用sqlite,有現成的SQLiteDatabase類可用來操作資料庫。

上面都只是非常粗略的介紹,想要更深的理解還需要更多的實踐。不過,通過瞭解上面的基本內容,我們可以大致瞭解開發過程中的一些步驟的實施方式。比如,介面布局在哪裡設定,事件如何觸發,資料如何儲存,資源如何使用等等。以後若有所得,再來總結了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.