`
yidongkaifa
  • 浏览: 4060796 次
文章分类
社区版块
存档分类
最新评论

Android入门(4) 开发第一个Android程序

 
阅读更多

1.创建Android程序



1.1创建AndroidProject

Projectname:项目名

BuildTargetAndroid版本

Applicationname:程序名,显示在程序列表中,以及程序启动后的标题栏

Packagename:包名,程序的唯一标识

CreateActivity:选择程序启动时是否创建一个窗体,设置主窗体名字

MinSDKVersion:设置运行该程序所需的最低版本

2.安装、卸载程序

2.1Eclipse安装

右键点击工程–Runas–AndroidApplication

2.2虚拟机卸载

设置–应用程序–管理应用程序–选中要卸载的程序–卸载

3.了解项目目录结构

3.1 src:源代码

3.2gen:系统自动生成的文件

R.java中记录了项目中各种资源ID(包括图片、各种ViewID等等)

3.3 res:系统资源,所有文件都会在R文件生成资源ID

drawable:图片

layout:界面布局 main.xml、各种自定义的layoutxml文件

values:数据 strings.xml文件,存放各种国际化的字符串ID

anim:定义动画的XML

raw:原生文件

3.4 assets:资源路径,不会在R文件注册

3.5libs外部的jar(此文件夹根据需要手工创建)

3.6 project.properties:供Eclipse使用,读取该项目使用Android版本号。早期版本名为:default.properties

3.7 AndroidManifest.xml:清单文件,在软件安装的时候被读取

Android中的四大组件(ActivityContentProviderBroadcastReceiverService)都需要在该文件中注册

程序所需的权限也需要在此文件中声明,例如:电话、短信、互联网、访问SD

3.8 bin:二进制文件,包括class、资源文件、dexapk

3.9 proguard.cfg:用来混淆代码的配置文件,防止别人反编译

3.2.1HelloWorldActivity类的介绍

packagecom.test.app1;

importandroid.app.Activity;

importandroid.os.Bundle;

/**

*eclipse自动创建出来的activity,实现了Activity类。

*@authorchen

*

*/

publicclassHelloWorldActivityextendsActivity{

/**

*onCreate方法,在Activity开启时自动调用onCreate方法。重写此方法,

*即可让android虚拟机在开启此程序的activity时自动调用此方法。

*/

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);//开启窗口相关设置信息

/**

*将res文件夹下的layout文件夹中的main.xml设置的相关控件设置到

*窗口对象的内容中去,即便于显示出来。

*/

setContentView(R.layout.main);

}

}

3.2.2Res文件夹下layout文件夹中的main.xml的介绍

<?xmlversion="1.0"encoding="utf-8"?>

<!--布局文件,Linearlayout为线性的布局。可以横排或竖排-->

<LinearLayoutxmlns: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>

3.2.3.Res文件夹下values文件夹中的strings.xml的介绍

<?xmlversion="1.0"encoding="utf-8"?>

<!--存放国际化的一些相关资源-->

<resources>

<!--其中文件中用到字符串,strings.xml文件中若有定义可以这样直接引用:@string/hello-->

<stringname="hello">真的很好呢</string>

<stringname="test">你好吗</string>

<stringname="app_name">第一个应用呢</string>

<stringname="app_name_title">第一个应用主界面</string>

</resources>

3.2.3根目录中AndroidManifest.xml清单文件的介绍

<?xmlversion="1.0"encoding="utf-8"?>

<!--package属性即为应用唯一的id号了。一个手机就只能有package不能重名。最后被发布到手机的

/data/data文件夹下。在手机的设置-应用程序-中可依据此管理程序应用。安装或卸载等。

-->

<manifestxmlns:android="http://schemas.android.com/apk/res/android"

package="com.test.xml"

android:versionCode="1"

android:versionName="1.0">

<uses-sdkandroid:minSdkVersion="10"/>

<!--androidjunittest的相关配置,targetPackage必须指定,

若是本工程要填写本工程mainfest要标签package属性的值中

若是其它的工程,若打到其它工程后,找到其它工程的manifest文件,并把其中的package属性值拷贝复制到targetPackage中-->

<instrumentationandroid:targetPackage="com.test.xml"android:name="android.test.InstrumentationTestRunner"/>

<!--配置声明相关的权限,写sd卡要外存储设置的写权限即WRITER_EXTERNAL_STORAGE

程序中用到电话了,则需要配置声明CALL_PHONE的权限

发短信需要用到SEND_SMS的权限等等

-->

<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permissionandroid:name="android.permission.CALL_PHONE"/>

<!--application中的android:label为应用名称,在手机的设置-应用程序-安装/卸载时看成到的名称-->

<application

android:icon="@drawable/ic_launcher"

android:label="@string/app_name">

<!--uses-libraryandroid:name="android.test.runner"声明此项目需要用到junit的类库-->

<uses-libraryandroid:name="android.test.runner"/>

<!--activity中的android:label,就手机菜单界面和打开时的标题名称、一般与application中的label是相同的,当然也可不同-->

<activity

android:name=".MainActivity"

android:label="@string/app_name">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

<categoryandroid:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

<!--四大组件ActivityBroadcastReceiverContentProviderService都需要此配置-->

</application>

</manifest>


4.程序启动过程

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文件初始化界面


分享到:
评论

相关推荐

    ANDROID从入门到精通

    每一个实例都经过精心挑选,解释详尽,使读者在实例学习中掌握Android的编程思想和编程技巧。本书配有源代码,读者可快速、无障碍地学习Android实战开发技术。, 《Android从入门到精通》适合具备一定软件开发经验,...

    android开发入门与实战(下)

    第1章 掀起你的盖头来——初识Android 1.1 认识Android 1.2 Android的背景 1.2.1 Android的历史 1.2.2 Android的发展 1.3 我的Android我做主 1.3.1 开发基于Android平台的应用 1.3.2 参加Android开发者大赛 1.3.3 ...

    android开发入门教程

    第1章 掀起你的盖头来——初识Android 1.1 认识Android 1.2 Android的背景 1.2.1 Android的历史 1.2.2 Android的发展 1.3 我的Android我做主 1.3.1 开发基于Android平台的应用 1.3.2 参加Android开发者大赛 1.3.3 ...

    [14本经典Android开发教程]-4-Android应用程序开发36技

    [14本经典Android开发教程]-4-Android应用程序开发36技 本书共分为4篇: ※ 第一篇:介绍应用框架概念、原理和特性。 ※ 第二篇:阐述应用框架之设计技巧。亦即,如何打造应用框架。 (注:如果你的职务是「使用」...

    Android4.0开发入门经典学习文档合集

    第七部分(1):数据存储【】Android4开发入门经典 ? 第七部分(2):数据存储【】Android4开发入门经典 ? 第三部分【】Android4开发入门经典 ? 第九部分【】Android4开发入门经典 ? 第二部分【】Andr 资源太大,传...

    android开发入门与实践体验-光盘代码

    《android开发入门与实践体验》一书的代码部分

    Android开发入门经典

    第一部份 Android的入门基础 第二部份 Android应用核心基础知识 第三部份 理解Activity 第四部份 用户界面 第五部份 Service 第六部份 BroadCast Receiver 第七部份 数据存储 第八部份 数据库操作

    android开发入门与实战(上)

    第1章 掀起你的盖头来——初识Android 1.1 认识Android 1.2 Android的背景 1.2.1 Android的历史 1.2.2 Android的发展 1.3 我的Android我做主 1.3.1 开发基于Android平台的应用 1.3.2 参加Android开发者大赛 1.3.3 ...

    android入门快速入门第一天

    完全学习android技术快速入门第一天

    Android开发应用从入门到精通光盘

    本书内容新颖、知识全面、讲解详细,全书分为4篇17章,第1—4章是基础知识与环境搭建篇,讲解了android的发展前景和开发环境的搭建过程:第5—10章是核心技术篇,详述了android的各类组件和intent、broadcast、...

    Google Android开发入门与实战

    , 特点:, * 第一本国内开发团队原创的Android图书, * 完全基于Android最新的SDK1.5, * 著名台湾技术专家高焕堂、Google Android工程师何峰、InfoQ站长霍泰稳鼎力推荐!, * 全书除了大量小型案例之外还包含了5个...

    《Google Android开发入门与实战》.pdf

    第1章 掀起你的盖头来——初识android. 1 1.1 认识android 1 1.2 android的背景 2 1.2.1 android的历史 2 1.2.2 android的发展 2 1.3 我的android我做主 2 1.3.1 开发基于android平台的应用 3 ...

    《Google Android开发入门与实战》

    第1章 掀起你的盖头来——初识Android 1.1 认识Android 1.2 Android的背景 1.2.1 Android的历史 1.2.2 Android的发展 1.3 我的Android我做主 1.3.1 开发基于Android平台的应用 1.3.2 参加Android开发者大赛 1.3.3 ...

    Android开发入门经典pdf

    系统的、循序渐进的学习Android开发所需的知识 n 第一部分:Android的入门基础 包括:Android是什么、有什么、能干什么,Android开发的环境构建、 HelloWorld开发,HelloWorld基本分析等 n 第二部分:Android应用核心...

    企业级安卓开发_入门+进阶 大话企业级Android开发

    01大话企业级Android开发第一部分_简介 02大话企业级Android开发第二部分_环境搭 03大话企业级Android开发开发流程及项目管理 04大话企业级Android开发_Android项目的目录结构、执行流程及其他基础分析 05大话企业级...

    Android入门教程-第一个Android工程HelloAndroid

    Android入门教程-第一个Android工程HelloAndroid

    Android开发实战经典程序源代码.rar

    软件介绍: 魔乐科技Android开发实战经典程序代码资源合集:第一部分:走进Android的世界第二部分:Activity程序开发第三部分:Android高级开发第四部分:Android应用开发

    Google Android开发入门与实战.(配书源码)

    本文档是《Google Android开发入门与实战》(人民邮电出版社.靳岩.姚尚朗)一书的配套源代码,内容不含教学视频部分。

    [14本经典Android开发教程]-7-Android编程入门教程

    [14本经典Android开发教程]-7-Android编程...[14本经典Android开发教程]-1-Android开发从入门到精通 http://download.csdn.net/detail/cleopard/8355245 [14本经典Android开发教程]-2-Android开发手册—API函数详解 ...

Global site tag (gtag.js) - Google Analytics