青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-80  評論-22  文章-0  trackbacks-0

時間過的真快,斷斷續續做Android的事情也一年多了,剛開始為了參加Google的Android比賽和我哥們Zeaster一起做了一個軟件Zinfo,這個是一個SNS的構思,信息共享平臺,更多的內容可以去訪問我們的網站infosword ,不過去年就已經就停止開發了(木有賺到"刀了",只能先做點別的養家糊口咯-.-),如果有哪位兄弟對他感興趣,或者有更多更好的想法歡迎給我寫Email [haric.zhu@gmail.com],將來也許能重新整理整理繼續開發。

一直想寫博客分享一下自己學習心得和開發經驗,卻一直因為懶惰而沒能堅持。因為一直在網上從各種大蝦那學習經驗,再潛水下去自己都覺得良心不安,所以打算在這里把自己對Android的一些經驗和想法跟大家分享,也督促自己好好學習,天天向上。


[正文]

閑話少說,先來個加強版的HelloWorld介紹一下Android的概況和程序結構吧,這個HelloWorld程序很簡單很簡單,界面如圖所示:
              


 

按一下按鈕,彈出一個對話框,里面寫著Hello World! -.-

 

下面就按步驟走一下開發流程,在這個流程中我會詳細解釋Android的項目結構

1 安裝開發環境:

google推薦我們使用(Eclipse with the ADT plugin),ADT就是Android的開發插件,提供了一些調試工具什么的,在google code的android站點有詳細的介紹,按他標準來,我就不多嘴了[ http://code.google.com/android/intro/installing.html ]

2 新建項目:

 打開eclipse,新建項目->其他->然后選擇Android Project,這時候彈出來一個Title叫New Android Project的對話框,填寫如下圖所示:
 

3 介紹項目結構:

大家看下面的項目結構圖示 :


  

src里com.haric.hello下有一個HelloWorld.java,他的名字就來自于我們新建項目的時候填寫的Acivity name, 這個HelloWorld就繼承自Activity(Android Framework里面最重要的一個類,詳細信息可以參考 -> (Activity ),  我們簡單地理解為它是一個UI的容器,直接跟用戶打交道最前端的類。

 

還有一個R.java,這個類是系統根據res文件夾中的內容自動為你生成的,我們先講一下res文件夾,res是resources的縮寫,顧名思義,你程序中所需要的文字,圖片,布局文件等等資源都是放在這個文件夾下面的,你現在看到這個文件夾下面有
drawable   - 這個是放圖片的
layout       - 這個是放布局文件的
values       - 下面放字符串(strings.xml ),顏色(colors.xml ),數組(arrays.xml )

 

(res下的東東不止這些,更多關于Resouces的相容請參考(Resources ))

 

Android 幫我們把這些資源都管理起來,內容資源化的作用是很明顯的,做國際化方便了,使用同一個資源的時候也方便也更節省空間(全局的引用),res文件夾中內容變化,R.java都會重新編譯同步更新,所以這個類不需要你去手動更新了。

 

最后是AndroidManifest.xml. 你每次添加一個Acivity都需要在這個文件中描述一下,這個文件很重要東東還比較多,將來會詳細講述這個文件的。(To Me:這個地方留個鏈接到時候鏈過去-.-)

 

4 設計界面布局:

接下來咱們要使用R.java了,首先我們在layout里新建一個文件hello_  world.xml, 編輯內容如下:

Xml代碼
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7.   
  8.     <Button android:id="@+id/Button01"  
  9.             android:text="@string/click_me"  
  10.             android:layout_width="wrap_content"  
  11.             android:layout_height="wrap_content">  
  12.     </Button>  
  13. </LinearLayout>  
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical"
    android:layout_width
="fill_parent"
    android:layout_height
="fill_parent"
    
>

    
<Button android:id="@+id/Button01"
            android:text
="@string/click_me"
            android:layout_width
="wrap_content"
            android:layout_height
="wrap_content">
    
</Button>
</LinearLayout>

有同學問了那個main.xml呢,我建議你把它的名字改成hello_world.xml或者刪刪掉新加一個hello_world.xml,[tips] 因為項目中會有很多個Activity,最好讓你的layout文件的名字跟相應的Activity掛上鉤,方便將來編輯和使用。

 

做完這一步啦,結果是啥?肯定編譯不過唄,嘿嘿,認真的同學肯定注意到
"android:text="@string/click_me" 這行,這個是指定你Button上顯示的文字,我們需要在res/values/strings.xml中加一行<string name="click_me">Click me</string>這樣就能在layout文件中引用這個string資源了,好了布局弄完了,該在程序中使用它了

 

5 在程序中使用布局:

打開HelloWorld.java,編輯內容如下
 

Java代碼
  1. public void onCreate(Bundle savedInstanceState) {   
  2.        super.onCreate(savedInstanceState);   
  3.        setContentView(R.layout.hello_world);   
  4. }  
public void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
       setContentView(R.layout.hello_world);
}

  R.layout.hello_world 就指向 hello_world.xml,同理 R.string.click_me就向"Click
  me", 運行一下(右鍵點擊你的項目,run as -> Android Application)看到一個按鈕了吧

6 為按鈕添加點擊事件:
  要為按鈕添加點擊事件,我們需要先得到這個對象,然后設置監聽器,再編寫onClick事件
  完成后代碼如下:

  

Java代碼
  1. import android.app.Activity;   
  2. import android.app.AlertDialog;   
  3. import android.os.Bundle;   
  4. import android.view.View;   
  5. import android.view.View.OnClickListener;   
  6. import android.widget.Button;   
  7.   
  8. public class HelloWorld extends Activity {   
  9.     /** Called when the activity is first created. */  
  10.     @Override  
  11.     public void onCreate(Bundle savedInstanceState) {   
  12.         super.onCreate(savedInstanceState);   
  13.         setContentView(R.layout.main);   
  14.            
  15.         Button button = (Button)findViewById(R.id.Button01);   
  16.         button.setOnClickListener(new OnClickListener(){   
  17.             public void onClick(View arg0) {   
  18.                 openDialog();   
  19.             }   
  20.         });   
  21.     }   
  22.        
  23.     private void openDialog(){   
  24.         AlertDialog.Builder builder = new AlertDialog.Builder(this);   
  25.         builder.setTitle("Hello");   
  26.         builder.setMessage("Hello World \n");   
  27.         builder.setNegativeButton("OK",null);   
  28.         builder.show();   
  29.     }    
  30. }  
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class HelloWorld extends Activity {
    
/** Called when the activity is first created. */
    @Override
    
public void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button button 
= (Button)findViewById(R.id.Button01);
        button.setOnClickListener(
new OnClickListener(){
            
public void onClick(View arg0) {
                openDialog();
            }
        });
    }
    
    
private void openDialog(){
        AlertDialog.Builder builder 
= new AlertDialog.Builder(this);
        builder.setTitle(
"Hello");
        builder.setMessage(
"Hello World \n");
        builder.setNegativeButton(
"OK",null);
        builder.show();
    } 
}

Button button = (Button)findViewById(R.id.Button01);這句話就是用來獲取layout中設置的界面控件對象的,這個id是在button中指定的android:id="@+id/Button01" 。

 

Android的UI用起來跟SWT是很像的,以后我會挑一些常用的,有趣的UI控件詳細地介紹一下。今天先寫到這里,每次我都會把相應項目的源代碼貼到最下面。

源代碼下載

本文轉自:
http://www.oschina.net/question/16_7599
posted on 2012-04-11 10:48 Bluesea 閱讀(483) 評論(0)  編輯 收藏 引用 所屬分類: Android
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩一二三在线视频播| 欧美日韩三区四区| 欧美1区3d| 久久综合狠狠综合久久综青草 | 国产一区二区欧美日韩| 欧美午夜精品久久久久久久| 欧美性jizz18性欧美| 亚洲韩日在线| 老司机免费视频久久| 久久久综合精品| 久久综合一区| 亚洲欧洲日本国产| 亚洲一级黄色片| 久久精品99| 猫咪成人在线观看| 欧美日韩喷水| 一区一区视频| 一区二区三区|亚洲午夜| 亚洲欧美精品在线| 久久综合伊人| 亚洲最快最全在线视频| 久久电影一区| 欧美日韩一区二区在线观看| 国产日韩一区在线| 日韩亚洲欧美高清| 久久久水蜜桃av免费网站| 亚洲国产另类久久久精品极度| 亚洲网站在线播放| 男人的天堂亚洲| 国产欧美va欧美va香蕉在| 亚洲乱码国产乱码精品精天堂 | 亚洲国产精品一区二区第四页av| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲综合色网站| 欧美激情一区二区三区成人| 欧美一级视频一区二区| 欧美日韩在线免费| 亚洲国产影院| 久久久国产精品一区二区中文| 亚洲人成人99网站| 久久久国产视频91| 国产视频在线观看一区二区| 一区二区三区久久| 亚洲国产精品一区| 麻豆av一区二区三区| 国产一区视频观看| 欧美一区二粉嫩精品国产一线天| 亚洲激情视频在线播放| 久久精品视频99| 国产欧美一区二区视频| 亚洲婷婷在线| 亚洲乱码精品一二三四区日韩在线 | 欧美激情视频给我| 在线观看的日韩av| 久久全国免费视频| 久久精品一二三区| 国内成+人亚洲| 欧美在线地址| 香蕉乱码成人久久天堂爱免费| 国产精品高潮视频| 一区二区三区四区国产| 亚洲国产精品一区二区www在线| 欧美一区二区三区四区高清 | 亚洲日本电影| 欧美国产一区二区三区激情无套| 在线观看日韩国产| 欧美 日韩 国产一区二区在线视频| 久久av一区二区| 黄色日韩网站视频| 欧美不卡激情三级在线观看| 久久综合五月| 亚洲人精品午夜| 欧美激情一区在线观看| 欧美高清视频一区二区| 亚洲精品免费网站| 亚洲免费观看视频| 国产精品久久久久久久久久三级| 午夜精品久久| 亚洲性夜色噜噜噜7777| 国产欧美短视频| 久久综合国产精品| 欧美激情一区| 亚洲欧美中日韩| 性做久久久久久| 国产精品亚洲精品| 久久成人免费电影| 午夜精品久久99蜜桃的功能介绍| 国产精品尤物| 国产精品一卡二| 久久激情婷婷| 美女免费视频一区| 亚洲美女电影在线| 亚洲精品在线免费| 亚洲一区二区在线播放| 激情成人av在线| 99热在线精品观看| 在线观看91精品国产麻豆| 亚洲精品欧洲| 好看的日韩视频| 一本久久综合亚洲鲁鲁| 一区二区在线看| 正在播放欧美视频| 在线视频观看日韩| 一本色道88久久加勒比精品| 韩国欧美一区| 亚洲午夜激情| 亚洲精品国产精品国自产观看浪潮| 日韩一级精品| 亚洲国产日韩一区二区| 午夜精品久久久99热福利| 一区二区三区你懂的| 久久精品一区二区三区中文字幕| 宅男在线国产精品| 久久综合久久综合久久综合| 午夜免费电影一区在线观看| 欧美激情一区二区三区高清视频 | 亚洲福利小视频| 国产精品美女xx| 亚洲成人在线免费| 最新日韩精品| 欧美诱惑福利视频| 亚洲女女女同性video| 免费一级欧美片在线播放| 欧美一区二区三区四区在线| 欧美精品福利在线| 欧美国产一区二区| 黄色另类av| 久久爱www久久做| 亚洲欧美日韩成人| 欧美日韩在线观看一区二区| 亚洲精品免费在线播放| 亚洲欧洲日产国产网站| 狼狼综合久久久久综合网| 久久三级福利| 激情五月综合色婷婷一区二区| 午夜视频久久久久久| 西西人体一区二区| 国产精品免费看久久久香蕉| 亚洲视频日本| 性亚洲最疯狂xxxx高清| 狠狠色综合网| 一本色道**综合亚洲精品蜜桃冫| 国产一区视频观看| 久久aⅴ国产欧美74aaa| 久久九九精品| 国产综合自拍| 久久一二三四| 亚洲精选在线| 亚洲欧美国内爽妇网| 国产精品一区二区三区观看| 午夜免费久久久久| 久久综合九色99| 亚洲激情图片小说视频| 免费高清在线一区| 99精品99| 久久一综合视频| 亚洲欧洲视频| 国产精品久久久久永久免费观看 | 亚洲一区网站| 久久久久综合| 亚洲精品一区二区网址| 欧美日韩一区二区三区在线 | 亚洲电影第1页| av不卡在线观看| 国产精品美女999| 久久亚洲精选| 99精品欧美一区| 久久夜色精品国产噜噜av| 91久久久久久| 国产精品羞羞答答xxdd| 久久综合九九| 国产精品99久久久久久白浆小说 | 午夜精品在线视频| 欧美肥婆在线| 欧美亚洲三级| 亚洲美女在线国产| 国产一区二区精品久久| 欧美精品日韩三级| 亚洲国产日韩在线一区模特| 在线观看欧美精品| 美女脱光内衣内裤视频久久影院| 日韩视频免费观看| 久久综合伊人77777蜜臀| 日韩亚洲精品在线| 激情另类综合| 国产精品一二三| 欧美多人爱爱视频网站| 香蕉国产精品偷在线观看不卡| 最新成人av网站| 久久五月激情| 亚洲欧美激情精品一区二区| 亚洲欧洲在线一区| 黄色一区二区三区| 国产精品欧美精品| 欧美日本韩国一区二区三区| 久久综合国产精品| 久久国产精品99精品国产| 这里只有精品丝袜| 日韩视频在线观看| 亚洲精品视频在线看|