通常我们在学习一门语言是的第一个应用程序就是Hello world,我们这学习Android 也不例外,好了,开始我们的第一个Android程序:

在package Explorer 页面右键 new ->Android Aplication Project,如图:


在弹出的对话框中,我们设置好Android应用的应用名:Helloworld、工程名,包结构名;以及配置Android应用的最低Android API版本和编译我们Android程序的版本,以及目标版本,如图:


一直点击next,各个页面的选项都用默认的,直到可以点击Finish按钮为止,点击Finish按钮,此时我们的第一个Android程序就这么简单的创建成功,真的很简单。

在模拟器中部署我们的Android程序

在工程右键选择 Run as 选择Android Application,或者点击工具栏上的按钮来运行我们的程序;等待模拟器呈现出来(如果没有配置模拟器,则按照前面模拟器的配置方法配置一个模拟器),在模拟器出来时,我们可以看到如图:


可以看出我们的第一个Android应用已经成功部署到了模拟器上面了。

我们在创建应用的时候没有设置Hello world ,应用程序中的Hello world是哪里来的呢。

我们先看下工程的目录结构:


src目录不用说就是保存我们的源程序的文件夹;

这里主要说下res文件夹和AndroidManifest.xml文件

res 看字面意思就知道是保持我们应用的资源的

drawable-hdpi、drawable-ldpi等为保存我们不同分辨率大小图片资源的文件夹。(主要是适配不同分辨率和尺寸的屏幕)

layout 是用来布局我们的Activity的,通过配置,我们就不需要去修改源代码而直接修改Activity对应的layout文件就可以对其进行重新布局。

如:

<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"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" /></RelativeLayout>
这里我们看到首先声明了布局为RelativeLayout(相对布局,相对布局就是,你在我的左边,我在你的右边,我在它的上面等等这样的关系),还有个有个TextView ,就是我们刚才在模拟器中看到的Hello world ,喔,原来是在这里配置的。在我创建工程时,程序默认就给我们生成了这个文件。是否只要我们定义了这个main_activity.xml文件我们就可以看到效果呢?答案是否定的,我们还必须得指定哪一个activity来使用这个布局文件。在MainActivity源代码中我们看到有这么一个方法:

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }

这个方法就是说,在当前activity初始化(oncreate)的时候,通过setContentView来指定了当前的布局文件,即activity_main.xml文件。当然如果你不使用布局文件也可以,那就就得在该文件下直接编写代码了。R.layout.activity_main怎么就表示为activity_main.xml文件了呢?我们看到在gen包下有R.java文件,R就是Resource的缩写。在R文件中包含了我们定义的各种资源,比如values文件夹下strings.xml里定义的各种字符串,drawable文件里的图片资源,都为这些资源定义了一个int型的数值引用。

Android中的TextView 对应java swing这种的Label 。这里指定了TextView的widht(宽)、height(高)属性,以及文本内容,该值引用了values文件夹下的string中的hello_world的值。

menu 是保存我们菜单配置的文件夹

values 是保存一系列资源文件比如字符串、颜色等的定义

AndroidManifest.xml文件描述应用程序的基本特征和定义它的每个组件。我们写的每一个Activity要呈现给用户就必须在这里面进行声明,如:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.helloword"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="18" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="com.example.helloword.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>

标签uses-sdk用来定义当前应用所需的SDK版本信息,我们可以看到最低版本为8即Android API 2.2 目标版本为18即Android API 4.3

Acitivity标签即是对我们的Activtiy的声明,我们写的每一个Activity如果要想呈现给用户就必须在这里进行声明。

上面的都是系统默认给我们生成的,现在我们来对文件进行修改:

我修改为一个文本输入框(EditView),和一个按钮(Button),效果如下图:


这是怎么实现的呢?

第一,对layout下的main_activity.layout文件进行编辑,我们首先修改了布局样式为LinearLayout,并指定方向为横向( android:orientation="horizontal");

第二,添加EditView 对象和Button对象,如下:

<EditText         android:id="@+id/edit_text"        android:layout_weight="1"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:text="@string/default_value"        android:inputType="textShortMessage"/>    <Button         android:id="@+id/button"        android:layout_width="80dp"        android:layout_height="wrap_content"        android:text="@string/button_send"/>

android:id定义了组件的ID属性,在第一次定义时,需在id前添加一个“+”号,表示新建一个id,其他地方引用的时候就不需要再加“+”了。

完整的布局文件如下:

<LinearLayout 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"    android:orientation="horizontal"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <EditText         android:id="@+id/edit_text"        android:layout_weight="1"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:text="@string/default_value"        android:inputType="textShortMessage"/>    <Button         android:id="@+id/button"        android:layout_width="80dp"        android:layout_height="wrap_content"        android:text="@string/button_send"/></LinearLayout>
在编写好布局文件后,我们可以通过Tab选项卡切换到Graphical Layout,就可以立即看到我们的布局效果,如图:


更多相关文章

  1. AdroidManifest文件介绍
  2. Android(安卓)Studio导入第三方类库的方法
  3. 【Android自动化打包】01. aapt的用法
  4. Android(安卓)使用selector设置button字体颜色无效
  5. Android资源管理中的Runtime Resources Overlay-------之overlay
  6. 格局中@null的代码实现方式
  7. android学习笔记一(基础篇)
  8. Android绘制流程窗口启动流程分析(中)
  9. 【转载】Android(安卓)Studio大课堂 - 6.1.打包 - 详解build.gra

随机推荐

  1. android java 文件的读写
  2. android表格效果--ListView隔行变色
  3. android studio 获取android app sha1
  4. Android EditText失去焦点可以干的事情
  5. android onTouch
  6. android自由改变Dialog窗口位置的方法
  7. Android动态加载框架DL的架构与基本原理
  8. android 开发第三库
  9. android svg
  10. Android(安卓)studio:报错String index o