环境已经配置好了,按照我的思路,无论如何也得先把最简单的例子跑一遍,分析一下结构及源码,才去做其他的。做为开发人员,可能我的习惯并不算太好,因为我不是很关注它底层如何实现,我更关注的是,如何开发出能运行的应用程序,至少,在刚开始接触的时候是这样的。或许在开发了一段时间后,我会去研究实现原理……
二、简单的应用程序 Hello Android!
虽然这个程序非常简单,但也算是非常经典的程序,就像刚学语言时写的Hello World一样,有种亲切感。麻雀虽小,五脏俱全,让我们来建立这个简单的麻雀吧。
2.1 建立android工程
之前我也提过,我会以winXP+eclipse来开发。
打开eclipse,新建一个android工程,如图
这里我选择了Google APIs,因为在之前(笔记一里有提到)已经建立了一个Google APIs的AVD了,所以我这里就用它的sdk。Application name是可以不写的,名字都是自己取的哦。然后要注意这里的Package name,遵循java规范,要求至少有两层,也就是说,最少要有一个. 接下来这个Create Activity勾上,就是让插件自动帮我们创建Activity的子类,名字就是后面写的HelloAndroid。
点击finish,一个android工程就创建完了。
2.2 结构目录
工程创建完毕后,我们看一下创建好的结构目录:
这里,src目录下面就是我们开发主要要用的源码。gen目录下的R.java大家如果没有必要不要去修改它,因为它是工程所有资源文件的一个索引,系统会自动帮我们生成,以后有什么改变,系统会自动修改这个文件哦。好奇的朋友们就打开看看,都是些内部静态类和静态的int,所以不去管它,至少现阶段我是不会去理会它的。
然后是res目录,这里面就是所有的资源文件了,drawable--看到下面的图片了吧,知道放什么的了哦?layout--从字面上来看就知道是放布局文件的,里面是一个xml文件,那么很明显,android应用程序是可以使用xml布局的。values--顾名思义,放值的,放什么值呢,下面再解释。
2.3 编写代码
打开src下面的那个HelloAndroid.java文件,我们开始写代码了。
刚打开,我们看到就那么一点代码:
package com.test;
import android.app.Activity;
import android.os.Bundle;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
并且很显然,是继承自Activity这个类。其实这个类比较重要的,android里面,一个现实在你面前的东东,就是一个activity……等我们以后再讨论吧,先把HA(Hello Android)做出来。
我们改写唯一的重写的 onCreate方法。代码如下:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textview = new TextView(this);
textview.setText("Hello Android!! HaHa, I'm Here");
setContentView(textview);
}
这里系统会自动给我们导入1个类:
import android.widget.TextView;
如果没有自动导入,可以按下eclipse的快捷键Ctrl+shift+o
2.4 运行程序
然后,右键点击工程,选择Run as--> Android Application就会启动AVG(没有建立的朋友这个时候会有提示让你建立,就相应地建立对应sdk版本的avg就可以了)
稍等一会儿,avg启动貌似有点慢的,开始似乎android_的字样,然后是Android的闪动图标,然后进入主界面,再然后自动进入了HA界面……
大家看到了,屏幕上就出现了想要的东西了吧。经典的程序在初学的时候还是很有用的。
2.5 修改代码
刚才运行的代码“很成功”。但是每个开发人员都不会提倡用这种编写代码的方式。因为它把逻辑层和展现层放在了一起,现在我们没有用到逻辑的东西,所以只需要View层即可。那么,我们的HA完全可以用布局来实现哦。
把HelloAndroid.java代码改回来,下面我来玩xml的布局,并产生同样的效果!
打开res中layout目录下的main.xml文件,会发现其中的代码也是超简单的(可能有些朋友出现的是可视化界面,请点击下面的main.xml标签切换到代码视图):
<?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"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
给大家稍做解释:
LinearLayout 是一种布局格式。 xmlns:android是指明命名空间,非必须,但第一个节点必须写明
android:orientation指出了LinearLayout的布局格式
android:layout_width="fill_parent" 说明该元素的宽度填满整个父元素
android:layout_height="wrap_content" 说明该元素的高度以把自己内部的全部包住就好了
TextView 就是我们前面代码里面写过的那个,它是一个文字展现的元素。
android:text="@string/hello" 这个才是比较关键的,它指明了要引用values目录下Strings.xml文件中name="hello"的string节点的值。
当然我们直接在里面写android:text="Hello Android!HaHa"也是可以的,那就直接显示Hello Android!HaHa了。
好,既然系统帮我们都做好了代码,那么我们直接去values目录下的Strings.xml中看看吧
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, HelloAndroid!</string>
<string name="app_name">Hello Android</string>
</resources>
我们改改name="hello"的值,顺便改改app_name的值看看有什么效果:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, We R Chinese!</string>
<string name="app_name">Hello Android - I changed it</string>
</resources>
保存后启动avg模拟器,显示效果:
可以很明显地看到哪些地方有变化了哦?
如此,我们仅仅使用布局就实现了这个效果。
2.6 深入一点点
一般的教程可能到上面就结束了,但我们是富于创新地chinese,所以即使是初学,也要搞点花头精……
那么我们再来修改下吧,先在main.xml中给TextView加个id上去,这样以后我们就可以认识它了。
<?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"
>
<TextView android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
然后我们再修改java文件的onCreate方法
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.tv);
tv.setText("Now I Change It!");
}
保存后,再启动avg看看效果(注意,我可没改String里面的东西哟):
呵呵,简单且有些无聊……
今天笔记就做到这吧,其实我还在这个基础上有写了很多好玩的逻辑,大家自己发挥想象力创造里咯。
好像谁说过要激发强大的民族创造力,我来激发一下……哈哈
- 大小: 73.1 KB
- 大小: 23.1 KB
- 大小: 102.9 KB
- 大小: 9.2 KB
- 大小: 10.1 KB
- 大小: 5.1 KB
分享到:
相关推荐
"Android学习笔记" Android学习笔记是Android开发者的必读书籍,书中涵盖了Android系统架构、Activity、Intent、资源管理等多方面的知识。本笔记对应的学习资源《第一行代码》是Android开发者的入门必读书籍,书中...
Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的...
### Android开发学习笔记 #### Button按钮的实现与交互 在Android开发中,`Button`控件是最常用的用户界面元素之一,用于触发特定的操作或事件。本文档将详细讲解如何创建并自定义一个简单的按钮,并设置点击事件...
Android学习笔记(1)-永远不变的Hello World Google的Android SDK发布也有一段时间了,一直想研究一下却苦于找不到时间。利用这个周未,开始强迫自己再次进入学习状态,原因很简单:我看好开放的gPhone。 SDK的下载...
Android开发学习笔记(整理),整理论坛android学习笔记,较完整的讲解了android的内容。包括:view、activity、service、intent、广播机制、http连接、数据sqllite存储、后台线程、各种layout、偏好、本地文件操作、...
这篇学习笔记主要涵盖了关于布局的一些基本概念,特别是`fill_parent`和`wrap_content`这两种尺寸指定方式,以及如何通过XML布局文件来精确控制组件的位置。 首先,`fill_parent`和`wrap_content`是Android布局中的...
根据给定的信息,我们可以从Java和Android学习笔记中提取出一系列重要的知识点,下面将逐一进行详细解释。 ### Java基础知识 #### 1. 命令行基础操作 - **`javacmd`**: 这个命令是Java命令行工具的一部分,用于...
在“android学习笔记之二”中,我们主要探讨的是如何在Android平台上实现一个用户登录的模拟工程。这个项目,名为“UserLoginTestProject”,旨在帮助开发者理解和实践Android应用中的用户认证流程。通过这个实例,...
Android学习笔记整理.pdf
Android学习笔记全全整理,是针对想要深入理解并掌握Android开发技术的学习者们的一份宝贵资源。这份笔记涵盖了从基础到高级的多个方面,旨在帮助读者建立起完整的Android知识体系。以下将详细介绍其中可能包含的...
本篇学习笔记主要涵盖了ArcGIS for Android的基础配置和核心组件MapVie的使用。 首先,配置ArcGIS for Android项目需要在`Project`级别的`build.gradle`文件中添加Esri的仓库,确保能获取到所需的库。接着,在`...
Android基础学习笔记主要涵盖了一系列关于Android开发的基本概念和关键组件,以下是这些知识点的详细解析: 1. **Activity**: 是Android应用程序的基本单元,它代表用户在屏幕上看到的一个界面。每个Activity都必须...
目录,整理论坛android学习笔记,较完整的讲解了android的内容。包括:view、activity、service、intent、广播机制、http连接、数据sqllite存储、后台线程、各种layout、偏好、本地文件操作、apdapter等几乎全部内容...
《Android学习笔记》 在移动应用开发领域,Android操作系统占据着重要的地位,为开发者提供了丰富的API和工具,使得创建各种应用程序变得可能。本压缩包文件包含了一位学习者从第一天到第五天,以及一个特定项目...