1.1创建Android Project
Project name:项目名
Build Target:Android版本
Application name:程序名,显示在程序列表中,以及程序启动后的标题栏
Package name:包名,程序的唯一标识
Create Activity:选择程序启动时是否创建一个窗体,设置主窗体名字
Min SDK Version:设置运行该程序所需的最低版本
2.1Eclipse安装
右键点击工程 – Run as – Android Application
2.2虚拟机卸载
设置 – 应用程序 – 管理应用程序 – 选中要卸载的程序 – 卸载
3.1 src:源代码
3.2 gen:系统自动生成的文件
R.java 中记录了项目中各种资源ID(包括图片、各种View的ID等等)
3.3 res:系统资源,所有文件都会在R文件生成资源ID
drawable:图片
layout:界面布局 main.xml、各种自定义的layout的xml文件
values:数据 strings.xml文件,存放各种国际化的字符串ID
anim:定义动画的XML
raw:原生文件
3.4 assets:资源路径,不会在R文件注册
3.5 libs:外部的jar包(此文件夹根据需要手工创建)
3.6 project.properties:供Eclipse使用,读取该项目使用Android版本号。早期版本名为:default.properties
3.7 AndroidManifest.xml:清单文件,在软件安装的时候被读取
Android中的四大组件(Activity、ContentProvider、BroadcastReceiver、Service)都需要在该文件中注册
程序所需的权限也需要在此文件中声明,例如:电话、短信、互联网、访问SD卡
3.8 bin:二进制文件,包括class、资源文件、dex、apk等
3.9 proguard.cfg:用来混淆代码的配置文件,防止别人反编译
package com.test.app1;
import android.app.Activity;
import android.os.Bundle;
/**
* eclipse自动创建出来的activity,实现了Activity类。
* @author chen
*
*/
public class HelloWorldActivity extends Activity {
/**
* onCreate方法,在Activity开启时自动调用onCreate方法。重写此方法,
* 即可让android虚拟机在开启此程序的activity时自动调用此方法。
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);//开启窗口相关设置信息
/**
* 将res文件夹下的layout文件夹中的main.xml设置的相关控件设置到
* 窗口对象的内容中去,即便于显示出来。
*/
setContentView(R.layout.main);
}
}
<?xml version="1.0" encoding="utf-8"?>
<!-- 布局文件,Linear layout为线性的布局。可以横排或竖排 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!-- 五大布局:LinearLayout线性、RelativeLayout相对、FrameLayout针式、TableLayout表格、AbsoluteLayout绝对布局
都是可以嵌套的。比如LinearLayout布局,还可以指定orientation排列方向的值为vertical垂直式或horizontal水平式
当layout_width的值可以选择:
wrap_content 根据内容大小填满宽度
fill_parent 根据上级控件宽度填满
match_parent 与fill_parent作用一致,都是根据上线控件宽度而来填充满本级宽度。
-->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<!-- android:text:控制文本,可国际化到strings.xml文件中。
android:inputType:输入内容的类型,可以为phone、textPersonName、textPassword、textEmailAddress等等值
android:singleLine:指定是否为单行 true|false,默认是多行即false。
android:layout_gravity :指定摆放位置,可取值:left、right、center等等也可取多值如 bottom|right。
android:hint :用于EditText等控件中,指提示用户输入内容,当用户光标点击入此框中,提示内容消失。
android:id 指定此控件的id,以便在java文件中,用可通过findViewById拿到此控件对象进行操作。
android:paddingLeft:相关的padding内边距多少dp等,与css中很相似
android:layout_marginLeft:相关的margin外边距多少dp等,与css中很相似
RelativeLayout页面中,还有特殊的相关属性
android:layout_toRightOf:值为某一控件的ID号。代表此控件的摆放位置在,某一控件的右边。
android:layout_toLeftOf:值为某一控件的ID号。代表此控件的摆放位置在,某一控件的左边。
android:layout_above:值为某一控件的ID号。代表此控件的摆放位置在,某一控件的上边。
android:layout_below:值为某一控件的ID号。代表此控件的摆放位置在,某一控件的下边。
android:layout_alignParentRight:值为true|false。代表是否与上级控件的右边对齐。
-->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/test" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<!-- 存放国际化的一些相关资源 -->
<resources>
<!-- 其中文件中用到字符串,strings.xml文件中若有定义可以这样直接引用 : @string/hello -->
<string name="hello">真的很好呢</string>
<string name="test">你好吗</string>
<string name="app_name">第一个应用呢</string>
<string name="app_name_title">第一个应用主界面</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<!-- package属性即为应用唯一的id号了。一个手机就只能有package不能重名。最后被发布到手机的
/data/data文件夹下。在手机的设置-应用程序-中可依据此管理程序应用。安装或卸载等。
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.xml"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<!-- android junit test的相关配置,targetPackage必须指定,
若是本工程要填写本工程mainfest要标签package属性的值中
若是其它的工程,若打到其它工程后,找到其它工程的manifest文件,并把其中的package属性值拷贝复制到targetPackage中-->
<instrumentation android:targetPackage="com.test.xml" android:name="android.test.InstrumentationTestRunner" />
<!-- 配置声明相关的权限,写sd卡要外存储设置的写权限即 WRITER_EXTERNAL_STORAGE
程序中用到电话了,则需要配置声明CALL_PHONE的权限
发短信需要用到SEND_SMS的权限等等
-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<!-- application中的android:label为应用名称,在手机的设置-应用程序-安装/卸载时看成到的名称 -->
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<!-- uses-library android:name="android.test.runner" 声明此项目需要用到junit的类库 -->
<uses-library android:name="android.test.runner" />
<!-- activity中的android:label,就手机菜单界面和打开时的标题名称 、一般与application中的label是相同的,当然也可不同-->
<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>
<!--四大组件 Activity、BroadcastReceiver、ContentProvider、Service都需要此配置 -->
</application>
</manifest>
4.1 Eclipse将.java源文件编译成.class
4.2 使用dx工具将所有.class文件转换为.dex文件
4.3 再将.dex文件和所有资源打包成.apk文件
4.4 将.apk文件安装到虚拟机完成程序安装
4.5 启动程序 – 开启进程 – 开启主线程
4.6 创建Activity对象 – 执行OnCreate()方法
4.7 按照main.xml文件初始化界面