Andorid开发第一个程序HelloWorld
来源:互联网 发布:gif图片制作软件 编辑:程序博客网 时间:2024/04/29 08:34
Andorid开发HelloWorld之旅
在搭建完Andorid开发环境之后,首先实现HelloWorld程序。
一、新建HellloWorld
打开配置好android开发环境的eclipse,new->other->Android Application Project,弹出如下对话框:
输入应用名字、工程名字、包名 、targetSdk等,然后默认一直next,在弹出如下activity对话框时:
输入相应的Activity Name及Layout Name,最后点击Finish,HelloWorld工程创建完成,初始目录结构如下:
PS:Android工程结构
src:源代码,我们的代码。
gen:Android开发工具所生成的文件,我们不能编辑这个文件。
R.java,标识程序中使用的各种资源。没有被此文件标识的资源,不会被打包到APK文件中。
assets:应用系统需要使用到的文件,比如mp3、视频...。这些文件会被原样打包到APK中。
res:资源目录,向此目录添加资源时,会被R.java自动记录。
drawabel-?dpi:图标文件(*.png、*.jpg)
layout:界面布局文件(main.xml)与WEB应用中的HTML类同
values:软件上所需要显示的各种文字。可以存放多个*.xml文件,还可以存放不同类型的数据。比如arrays.xml、colors.xml、dimens.xml、styles.xml...。
AndroidManifest.xml:项目的总配置文件,记录应用中所使用的各种组件。如果应用中使用到手机中的功能,需要在此声明使用权限。
default.properties:记录项目中所需要的环境信息,比如Android的版本等。
AndroidManfest.xml分析
manifest
根节点,描述了package中所有的内容
xmlns:android
包含命名空间的声明。
xmlns:android=http://schemas.
android.com/apk/res/android,使得
Android中各种标准属性能在文件中使用,
提供了大部分元素中的数据
Package
声明应用程序包
application
包含package中application级别组件声
明的根节点。此元素也可包含application
的一些全局和默认的属性,如标签、icon、
主题、必要的权限,等等。一个manifest
能包含零个或一个此元素(不能大余一个)
android:icon
应用程序图标
android:label
应用程序名字
Activity
用来与用户交互的主要工具。Activity是用
户打开一个应用程序的初始页面,大部分
被使用到的其他页面也由不同的activity所
实现,并声明在另外的activity标记中。
注意,每一个activity必须有一个<activity>
标记对应,无论它给外部使用或是只用于
自己的package中。如果一个activity没有
对应的标记,你将不能运行它。另外,
为了支持运行时查找Activity,可包含一个
或多个<intent-filter>元素来描述activity所支持的操作
android:name
应用程序默认启动的activity
intent-filter
声明了指定的一组组件支持的Intent值,从
而形成了IntentFilter。除了能在此元素下指
定不同类型的值,属性也能放在这里来描
述一个操作所需的唯一的标签、icon和其他信息
action
组件支持的Intent action
category
组件支持的Intent Category。这里指定
了应用程序默认启动的activity
uses-sdk
该应用程序所使用的sdk版本相关
二、修改代码
程序的运行由主配置文件开始AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.helloworld"
android:versionCode="1"
android:versionName="1.0" >
<!-- 本程序使用AndoridSDK的最低版本 -->
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<!--
@drawable/icon:
@代表R.java
drawable是R.java的静态内部类
icon是drawable的常量,指定图片资源的ID。
-->
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!--
.MainActivity指向package="com.example.helloworld"下面的MainActivity类。
我们可以在此添加子包.sub.xxxClass,但不能添加上级包。
-->
<activity android:name=".MainActivity" 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>
</manifest>
接下来从MainActivity类开始(新建class类集成activity,类名取于创建activity时的名字一致):
package com.example.helloworld;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
// 在此方法中完成界面的绘制
super.onCreate(savedInstanceState);
// 显示R.java文件中的layout静态内部类的main常量。它指向mail.xml
setContentView(R.layout.main);
}
}
然后再我们再看看res->layout中的main.xml(初始没有,可以新建Android XML File):
<?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" ,它的高度为它所包含的内容高度。如果内容中有一行,就是一行的高度。
android:text="@string/hello",它包含(显示)的文本内容,指向R.java中string静态内部类的常量hello所指向的文本资源ID,文本资源文件是strings.xml。
-->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"/>
</LinearLayout>
再看看Strings.xml:
<resources>
<string name="app_name">HelloWorld</string>
<string name="hello">HelloWorld,Hello World!</string>
</resources>
现在让我们看看掌管资源的主文件R.java:
R.java文件中的所有资源ID全部是自动生成的,我们不可以手动编辑。当我们添加一个图片时,ADT插件,会以图片的名称为常量的名称,然后自动生成对应的资源ID。当我们向strings.xml中添加一个字符串时,ADT插件会以符串的名称为常量的名称,然后自动生成对应的资源ID。
R.java文件不需要我们手动编辑,我们只需要在需要使用到资源的地方引用这个文件里标识的资源即可!
三、运行HelloWorld
出
现
Starting:
Intent
{
act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER]
cmp=cn.itcast/.MainActivity
}
表示运行了。
这时观察模拟器,
既可以看到出现了不同。
表示模拟器已经正常运行,程序已经发布到手机上,此时模拟器如下图所示:
至此,HelloWorld之旅圆满结束!
表示运行了。
这时观察模拟器
- Andorid开发第一个程序HelloWorld
- 开发第一个Java程序 HelloWorld!
- 第一个helloworld程序
- 第一个程序:HelloWorld
- 第一个程序HelloWorld
- 第一个程序:HelloWorld
- 安卓开发第一个小程序HelloWorld
- Android开发环境配置及运行第一个程序Helloworld
- 安卓开发之——第一个程序HelloWorld!
- 第一个JAVA程序 helloworld
- 第一个FreeMarker HelloWorld程序
- 第一个android程序:helloworld
- 第一个android程序--helloworld
- Android第一个程序"HelloWorld"
- 第一个JAVA程序HelloWorld
- 第一个Android程序HelloWorld
- log4cpp第一个程序HelloWorld
- 第一个servlet程序---helloworld
- JAVAH的用法,WINDOWS下找不到类文件的错误
- JSP页面中文乱码问题
- 详解Cocos2d-X中宏CC_DLL
- Ubuntu使用Shadowsocks client 客户端 总结
- sed命令详解
- Andorid开发第一个程序HelloWorld
- Android:onTouch()和onTouchEvent()的区别?
- Word、WPS 文字背景颜色无法去除
- 测试计划与测试方案的区别
- CSS3简明教程-3.1.CSS3背景之 绘制区域background-clip
- java网页验证码实现
- Android native问题定位
- SEMQ的一个不符合时序控制的传输现象
- android 快速查询通讯录