日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android helloworld程序

發(fā)布時間:2025/5/22 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android helloworld程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、單擊菜單 File > New > Project 彈出的窗口選擇創(chuàng)建一個新的 Android 項目。

在安裝好的Eclipse插件的新建項目,如圖所示:

?

?

2、并在創(chuàng)建 Android 項目的對話框里填寫項目的詳細信息,確認無誤后按下 finish 按鈕一個工程就被順利的創(chuàng)建成功了。

項目結(jié)構(gòu)圖示 :

?

?

簡單介紹一下幾個比較重要的目錄。
(1)src 目錄用于存放代碼。
(2)gen 目錄用于存放對應(yīng)該資源文件的代碼。
(3)res 目錄用于存放資源文件。
(4)res\layout 目錄用于存放布局描述文件。
(5)res\values 目錄用于存放常量定義文件。

?

src里cn.wangmeng.test下有一個helloworld,他的名字就來自于我們新建項目的時候填寫的Acivity name, 這個HelloWorld就繼承自Activity(Android Framework里面最重要的一個類,詳細信息可以參考 -> (Activity ), 我們簡單地理解為它是一個UI的容器,直接跟用戶打交道最前端的類。 還有一個R.java,這個類是系統(tǒng)根據(jù)res文件夾中的內(nèi)容自動為你生成的,我們先講一下res文件夾,res是resources的縮寫,顧名思義,你程序中所需要的文字,圖片,布局文件等等資源都是放在這個文件夾下面的,你現(xiàn)在看到這個文件夾下面有
drawable - 這個是放圖片的
layout - 這個是放布局文件的
values - 下面放字符串(strings.xml ) 最后是AndroidManifest.xml. 你每次添加一個Acivity都需要在這個文件中描述一下,整個項目的結(jié)構(gòu)都由這個文件控制。 布局是由XML控制的,內(nèi)容如下:

  • <?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"
  • >
  • <TextView
  • android:layout_width="fill_parent"
  • android:layout_height="wrap_content"
  • android:text="@string/hello"
  • />
  • <Button android:id="@+id/button"
  • android:text="@string/click_me"
  • android:layout_width="wrap_content"
  • android:layout_height="wrap_content">
  • </Button>
  • </LinearLayout> 所有的android程序都是用XML布局的,而且布局分為很多種,布局中有兩個元素,一個是文本顯示框,一個是按鈕,一般LinearLayout,還有相對布局,這是官方提供的布局圖:

?

?

?

strings.xml是存放我們常用的常量,在JAVA里面用Resources.getText()獲取,在UI里android:text="@string/click_me"獲取,演示內(nèi)容如下:

  • <?xml version="1.0" encoding="utf-8"?>
  • <resources>
  • <string name="hello">Hello World, helloworld!</string>
  • <string name="app_name">helloworld</string>
  • <string name="click_me">click_me</string>
  • </resources> 我們在按鈕添加了一個簡單的響應(yīng)事件,代碼如下:
  • package cn.wangmeng.test;
  • 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.button);
  • button.setOnClickListener(new OnClickListener()
  • {
  • public void onClick(View v) {
  • 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();
  • }
  • }

    最后運行結(jié)果如下:

?

?

Run As Android Application,點擊右側(cè)的Home鍵,進入主界面,點擊主界面中間的按鈕,出現(xiàn)應(yīng)用列表,運行Hello, Android應(yīng)用即可。(請耐心等候運行結(jié)果,時間會比較長)

?

?

?

PS:

Android工程結(jié)構(gòu)

src:源代碼,我們的代碼。

gen:Android開發(fā)工具所生成的文件,我們不能編輯這個文件。

R.java,標識程序中使用的各種資源。沒有被此文件標識的資源,不會被打包到APK文件中。

assets:應(yīng)用系統(tǒng)需要使用到的文件,比如mp3、視頻...。這些文件會被原樣打包到APK中。

res:資源目錄,向此目錄添加資源時,會被R.java自動記錄。

drawabel-?dpi:圖標文件(*.png*.jpg)

layout:界面布局文件(main.xml)WEB應(yīng)用中的HTML類同

values:軟件上所需要顯示的各種文字。可以存放多個*.xml文件,還可以存放不同類型的數(shù)據(jù)。比如arrays.xmlcolors.xmldimens.xmlstyles.xml...

AndroidManifest.xml:項目的總配置文件,記錄應(yīng)用中所使用的各種組件。如果應(yīng)用中使用到手機中的功能,需要在此聲明使用權(quán)限。

default.properties:記錄項目中所需要的環(huán)境信息,比如Android的版本等。

AndroidManfest.xml分析

manifest

根節(jié)點,描述了package中所有的內(nèi)容

xmlns:android

包含命名空間的聲明。

xmlns:android=http://schemas.

android.com/apk/res/android,使得

Android中各種標準屬性能在文件中使用,

提供了大部分元素中的數(shù)據(jù)

Package

聲明應(yīng)用程序包

application

包含package中application級別組件聲

明的根節(jié)點。此元素也可包含application

的一些全局和默認的屬性,如標簽、icon、

主題、必要的權(quán)限,等等。一個manifest

能包含零個或一個此元素(不能大余一個)

android:icon

應(yīng)用程序圖標

android:label

應(yīng)用程序名字

Activity

用來與用戶交互的主要工具。Activity是用

戶打開一個應(yīng)用程序的初始頁面,大部分

被使用到的其他頁面也由不同的activity所

實現(xiàn),并聲明在另外的activity標記中。

注意,每一個activity必須有一個<activity>

標記對應(yīng),無論它給外部使用或是只用于

自己的package中。如果一個activity沒有

對應(yīng)的標記,你將不能運行它。另外,

為了支持運行時查找Activity,可包含一個

或多個<intent-filter>元素來描述activity所支持的操作

android:name

應(yīng)用程序默認啟動的activity

intent-filter

聲明了指定的一組組件支持的Intent值,從

而形成了IntentFilter。除了能在此元素下指

定不同類型的值,屬性也能放在這里來描

述一個操作所需的唯一的標簽、icon和其他信息

action

組件支持的Intent action

category

組件支持的Intent Category。這里指定

了應(yīng)用程序默認啟動的activity

uses-sdk

該應(yīng)用程序所使用的sdk版本相關(guān)

?

Android程序運行過程

程序的運行由主配置文件開始AndroidManifest.xml

?

  • <?xml?version="1.0"?encoding="utf-8"?>?
  • ? ?
  • <manifest?xmlns:android="http://schemas.android.com/apk/res/android"?
  • ? ?
  • package="com.changcheng.android"?
  • ? ?
  • android:versionCode="1"?
  • ? ?
  • android:versionName="1.0">?
  • ? ?
  • <!-- ?
  • ? ?
  • @drawable/icon: ?
  • ? ?
  • @代表R.java ?
  • ? ?
  • drawable是R.java的靜態(tài)內(nèi)部類 ?
  • ? ?
  • icon是drawable的常量,指定圖片資源的ID。 ?
  • ? ?
  • -->?
  • ? ?
  • <application?android:icon="@drawable/icon"?android:label="@string/app_name">?
  • ? ?
  • <!-- ?
  • ? ?
  • .HelloWorld指向package="com.changcheng.android"下面的HelloWorld類。 ?
  • ? ?
  • 我們可以在此添加子包.sub.xxxClass,但不能添加上級包。 ?
  • ? ?
  • -->?
  • ? ?
  • <activity?android:name=".HelloWorld"?
  • ? ?
  • android:label="@string/app_name">?
  • ? ?
  • <!--?意圖過濾,程序加載由此開始向外。?-->?
  • ? ?
  • <intent-filter>?
  • ? ?
  • <action?android:name="android.intent.action.MAIN"?/>?
  • ? ?
  • <category?android:name="android.intent.category.LAUNCHER"?/>?
  • ? ?
  • </intent-filter>?
  • ? ?
  • </activity>?
  • ? ?
  • </application>?
  • ? ?
  • <!--?本程序使用AndoridSDK的最低版本?-->?
  • ? ?
  • <uses-sdk?android:minSdkVersion="7"?/>?
  • ? ?
  • </manifest>?
  • 接下來從HelloWorld類開始:

    ?

  • package?com.changcheng.android; ?
  • ? ?
  • ? ?
  • ? ?
  • import?android.app.Activity; ?
  • ? ?
  • import?android.os.Bundle; ?
  • ? ?
  • ? ?
  • ? ?
  • /** ?
  • ? ?
  • *?我們的HelloWorld類,繼承自Activity類。 ?
  • ? ?
  • * ?
  • ? ?
  • */ ?
  • ? ?
  • public?class?HelloWorld?extends?Activity ?
  • ? ?
  • { ?
  • ? ?
  • /**?Called?when?the?activity?is?first?created.?*/ ?
  • ? ?
  • @Override ?
  • ? ?
  • public?void?onCreate(Bundle?savedInstanceState)?{ ?
  • ? ?
  • //?在此方法中完成界面的繪制 ?
  • ? ?
  • super.onCreate(savedInstanceState); ?
  • ? ?
  • //?顯示R.java文件中的layout靜態(tài)內(nèi)部類的main常量。它指向mail.xml ?
  • ? ?
  • setContentView(R.layout.main); ?
  • ? ?
  • } ?
  • ? ?
  • } ?
  • 然后再我們再看看mail.xml

    ?

  • <?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"?
  • ? ?
  • >?
  • ? ?
  • <!-- ?
  • ? ?
  • 文本視圖控件 ?
  • ? ?
  • android:layout_width="fill_parent"?,它的父窗口是屏幕,所以寬度為整個屏幕。 ?
  • ? ?
  • android:layout_height="wrap_content"?,它的高度為它所包含的內(nèi)容高度。如果內(nèi)容中有一行,就是一行的高度。 ?
  • ? ?
  • android:text="@string/hello",它包含(顯示)的文本內(nèi)容,指向R.java中string靜態(tài)內(nèi)部類的常量hello所指向的文本資源ID,文本資源文件是strings.xml。 ?
  • ? ?
  • -->?
  • ? ?
  • <TextView?
  • ? ?
  • android:layout_width="fill_parent"?
  • ? ?
  • android:layout_height="wrap_content"?
  • ? ?
  • android:text="@string/hello"?
  • ? ?
  • />?
  • ? ?
  • </LinearLayout>?
  • 再看看Strings.xml:

    ?

  • <?xml?version="1.0"?encoding="utf-8"?>?
  • ? ?
  • <resources>?
  • ? ?
  • <string?name="hello">HelloWorld,Hello?World!</string>?
  • ? ?
  • </resources>?
  • 現(xiàn)在讓我們看看掌管資源的主文件R.java

    ?

  • package?com.changcheng.android; ?
  • ? ?
  • ? ?
  • ? ?
  • public?final?class?R?{ ?
  • ? ?
  • public?static?final?class?attr?{ ?
  • ? ?
  • } ?
  • ? ?
  • //?圖片資源 ?
  • ? ?
  • public?static?final?class?drawable?{ ?
  • ? ?
  • public?static?final?int?icon=0x7f020000; ?
  • ? ?
  • } ?
  • ? ?
  • //?界面布局資源 ?
  • ? ?
  • public?static?final?class?layout?{ ?
  • ? ?
  • public?static?final?int?main=0x7f030000; ?
  • ? ?
  • } ?
  • ? ?
  • //?字符串資源 ?
  • ? ?
  • public?static?final?class?string?{ ?
  • ? ?
  • public?static?final?int?app_name=0x7f040001; ?
  • ? ?
  • public?static?final?int?hello=0x7f040000; ?
  • ? ?
  • } ?
  • ? ?
  • } ?
  • R.java文件中的所有資源ID全部是自動生成的,我們不可以手動編輯。當我們添加一個圖片時,ADT插件,會以圖片的名稱為常量的名稱,然后自動生成對應(yīng)的資源ID。當我們向strings.xml中添加一個字符串時,ADT插件會以符串的名稱為常量的名稱,然后自動生成對應(yīng)的資源ID

    ?

    R.java文件不需要我們手動編輯,我們只需要在需要使用到資源的地方引用這個文件里標識的資源即可!

    轉(zhuǎn)載于:https://blog.51cto.com/linzheng/1081806

    總結(jié)

    以上是生活随笔為你收集整理的android helloworld程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 黑人巨大精品欧美黑寡妇 | 东北少妇av | 欧美成人aaaaa | 久久伊人成人 | 97人人爽人人爽人人爽 | 欧美在线xxxx | 亚洲精品伦理 | 免费看黄色片子 | 中文人妻一区二区三区 | 多男调教一女折磨高潮高h 国内毛片毛片毛片毛片毛片 | 国语播放老妇呻吟对白 | 国产视频一区二区视频 | 久久久久久久久久久av | 不卡视频免费在线观看 | 国产精品视频在线看 | 国产乱淫a∨片免费视频 | 国产精品久久久免费观看 | 日韩精品一区二区三区电影 | 97超碰精品 | 精品一区电影国产 | 亚洲免费精品视频在线观看 | 久久激情小说 | 亚洲午夜精品久久久久久app | 久久久久亚洲AV成人无在 | 久久久久久香蕉 | 狠狠干夜夜骑 | 亚洲av无码一区二区二三区 | 麻豆传媒mv | 天天色综合天天 | 亚洲欧美在线免费观看 | 亚洲精品喷潮一区二区三区 | 亚洲成人三区 | 色婷婷av一区二区三区麻豆综合 | 全黄一级播放 | 毛片国产 | 国产男女猛烈无遮挡a片漫画 | 色婷婷狠狠 | 欧美亚洲 | 永久免费看mv网站入口亚洲 | 欧美日韩中文字幕在线观看 | 先锋影音av在线资源 | 亚洲欧美在线观看 | 丁香婷婷在线 | 午夜福利电影一区 | 极品少妇在线 | 91精品又粗又猛又爽 | 高清中文字幕av | 午夜不卡视频 | 午夜在线播放视频 | 综合久久一区二区 | 天海翼av在线播放 | 国产av成人一区二区三区 | 在线观看免费视频国产 | 三级国产在线 | 亚洲爽爆av| 精品99在线 | 69人妻一区二区三区 | 污污内射在线观看一区二区少妇 | www色综合 | 成人一级免费视频 | 欧美性生活视频 | 国产欧美日韩精品一区二区三区 | 国产极品尤物 | 亚洲人无码成www久久 | wwww日本60 | 天天插天天狠 | 在线精品视频一区 | 一区二区三区在线观看视频 | www.av在线播放 | 美女扒开内看个够网站 | 日韩黄色一区二区 | 亚洲欧美日韩在线 | 国产日韩二区 | 午夜精品亚洲 | 日韩经典在线 | 丝袜性爱视频 | 成人影片网址 | h视频在线免费观看 | 日本成人在线不卡 | 最全aⅴ番号库 | 男女男精品视频站 | 欧日韩av | 女人高潮特级毛片 | 亚洲最黄网站 | 新疆毛片| 亚洲熟女乱综合一区二区 | 草草草在线视频 | 农村妇女一区二区 | 日韩毛片在线免费观看 | 伊人伊人鲁 | 亚洲视频456 | 97看片吧 | 久久精品视频网站 | 老司机精品福利视频 | 森泽佳奈中文字幕 | 超碰免费在线播放 | 日韩影视一区二区三区 | 张柏芝54张无删码视频 | 粗了大了 整进去好爽视频 日本女优中文字幕 |