跟我学android-使用Eclipse开发第一个Android应用(三)
打开Eclipse,选择 File—New –Android Application Project
Application Name 就是我们的 应用名称,也是我们在手机应用程序列表里看到的名称。
Project Name 是工程名称,就是我们在eclipse的工程列表可以看到的名字,也是我们在 workspace 里能看到的文件夹名字。
Package Name 是包名,Android系统里 包名也是一个很特殊的东西,他不仅仅是包名那个,还是 Android系统中的 项目名,在Android系统中 项目名需要唯一,所以我们在给项目定义包名的时候 一定要注意 不能重名
接下来我们给项目取个名字,在这里 我暂且给它取个名字,叫 FirstAndroid
eclipse 会帮你生成一个 默认的包名,请大家记得修改包名,一般包名采用域名倒置,如果没有域名的,可以使用com+自己的名字的缩写+分类(android 或 java)+项目名 来构成一个唯一的项目包名
接下来 一路Next,直到 finish ,第一个Android工程就创建完成。我们可以看到如图所示的项目结构
其中,layout里面存放的是我们的布局文件,我们可以看到,默认给我们创建了一个叫activity_main.xml 的布局文件,在eclipse中打开该文件,我们可以看到如果所示的界面
底部有2个选项卡,第一个选项卡是一个图形化界面,我们可以在这里拖控件进来,第二个选项卡是一个代码区域,我们可以在这边编辑控件的属性。
接下来 我们往界面中拖入一个按钮。
然后 切换到代码视图
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" > <TextView
android:id="@+id/tv_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" /> <Button
android:id="@+id/btn_change"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/tv_info"
android:layout_below="@+id/tv_info"
android:layout_marginTop="30dp"
android:text="Button" /> </RelativeLayout>
上面的XML文档的根节点是RelativeLayout,它代表一个相对布局,在这个布局中,包含了2个控件:
- TextView 表示文本框
- Button 表示按钮控件
我们会在后续章节中对各种界面布局元素进行详细的介绍。各种UI也会在后续课程中进行详细的介绍,在这里我们只对几个通用的属性进行介绍。
android:id:该属性定义了该控件的唯一标识,在Java代码中可以通过findViewById 来获取指定的界面组件。
android:layout_width:该属性指定该控件的宽度。我们可以使用固定的长度值,也可以使用 match_parent(说明该控件的宽度与父控件的宽度相同),wrap_content(说明该控件的宽度取决于该控件的内容)
android:layout_height:该属性定义该控件的高度,可以使用的值请参考android:layout_width这个属性 。
Android项目的src目录是Android源码存放的地方。
src里有个 MainActivity的类文件,代码如下
package com.zy.android.firstandroid; import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
/**
*
* @author zhangyi
* @blog http://www.cnblogs.com/blog-IT/
*
*/
public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局文件 activity_main.xml
setContentView(R.layout.activity_main);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} }
这个Java类只做了一个事情-----加载布局。
至此,这个FirstAndroid 应用就已经开发完成了。
接下来 就可以运行该工程了
通过eclipse的ADT插件来运行Android应用程序非常简单,只要如下2步即可:
- 运行指定的AVD设备,如果准备用真机作为运行、调试环境,则需要使用USB数据线连接手机,并且打开调试模式。
- 选中要运行的Android项目,鼠标右键,在弹出的菜单中选择 run as –Android Application 菜单即可。如图所示
接下来我们就可以在模拟器上看到我们的程序啦
第一个android工程已经运行成功了,接下来 我们将对android应用结构进行分析
跟我学android-使用Eclipse开发第一个Android应用(三)的更多相关文章
- 在开发第一个Android应用之前需要知道的5件事:
你能否详细讲述一下,在开发Android应用过程中每一阶段要用到的技能和编程语言? 建立一个Android应用程序可以归结为两个主要技能/语言:Java和Android系统.Java是Android的 ...
- Android的NDK开发(2)————利用Android NDK编写一个简单的HelloWorld
1.Android NDK简介 NDK全称为native development kit本地语言(C&C++)开发包.而对应的是经常接触的Android-SDK,(software devel ...
- 【Android】Eclipse自动编译NDK/JNI的三种方法
[Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th 2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...
- android菜鸟学习笔记5----第一个android程序
程序功能:点击一个按钮,然后弹出一个提示信息 Step 1:在eclipse中新建一个android application project,在创建过程中不勾选create activity,这样就创 ...
- java Android SDK安装与环境变量配置以及开发第一个Android程序
JAVA的安装与环境变量的配置 1.先下载JAVA,并且安装. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u3 ...
- Intellij IDEA开发第一个android应用教程
用惯eclipse的同学们可以试试通过Intellij IDEA来开发一个android应用.下面是具体的教程. 首先:下载Intellij IDEA.最新版本是12.官方提供两个版本.一个是Comm ...
- 0.[WP Developer体验Andriod开发]之从零安装配置Android Studio并编写第一个Android App
0. 所需的安装文件 笔者做了几年WP,近来对Android有点兴趣,尝试一下Android开发,废话不多说,直接进入主题,先安装开发环境,笔者的系统环境为windows8.1&x64. 安装 ...
- android开发------第一个android程序
好吧,现在我们就一起来写第一个android程序,看它带给了我们什么.sdk的使用和虚拟机的创建我就不说了.项目创建过程先略过,不太重要. 那第一个程序我们能学到什么知识呢?一起看吧.^-^ 在IDE ...
- eclipse中导入一个android工程有The import android cannot be resolved错误怎么办
解决方法: 右键工程→Bulid Path→Configure Build Path... 选择Android,如图,在Project Build Target里面勾选相应的SDK即可 右键工程,pr ...
随机推荐
- 从ulimit命令看socket的限制
从ulimit命令看socket的限制 在Linux下面部署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题,比如还有Squid做代理,当文 ...
- C#在父窗口中调用子窗口的过程(无法访问已释放的对象)异常,不存在从对象类型System.Windows.Forms.DateTimePicker到已知的托管提供程序本机类型的映射。
一:C#在父窗口中调用子窗口的过程(无法访问已释放的对象)异常 其实,这个问题与C#的垃圾回收有关.垃圾回收器管 理所有的托管对象,所有需要托管数据的.NET语言(包括 C#)都受运行库的 垃圾回收器 ...
- 关于aspx 页面生成html 源码顶部空行不得不说的事儿
原文引用自 http://www.360doc.com/content/12/0910/21/10504424_235418578.shtml 使用.aspx生成的页面一般都会有一个或多个空行,当然这 ...
- iOS __block用法
没有__block qualifier的primitive c types会直接在创建block的时候被capture到block里.有__block qualifier的话,会在调用block的时候 ...
- windows下python安装paramiko
Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,则需要先安装模块顺序是 ...
- zznu 1068: 进制转换
进制应该属于程序员的看家本事了,也是大家水平告别菜鸟的一个转折,所以进制转换题目是很有意义的, 这个题目是最简单的把二进制数化简成十进制,因为输入有可能有31位,所以无法使用int或者long lon ...
- Google Guava官方教程(中文版)地址
Google Guava官方教程(中文版) http://ifeve.com/google-guava/ 瓜娃啊瓜娃
- README 语法编写
推荐一个超棒的软件 haroopad Standard Markdown \ backslash ` backtick * asterisk _ underscore {} curly braces ...
- motan源码分析九:开关
在前面的文章中,我们已经发现了开关的踪影,例如cluster,motan支持多个cluster,当前的cluster因为开关关闭的情况下,就会使用下一个cluster. 1.开关相关的类和接口主要都在 ...
- 缓冲运动-1-[解决1].html
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8 ...