我的android学习脚步----------- 的第一个应用
刚刚开始学android开发,以前都是在别人调好的应用中修改JNI,现在需要自己一步步走
开发环境:Eclipse+ADT
配置不多讲了,引自:http://www.cnblogs.com/allenzheng/archive/2012/11/10/2762379.html
http://www.cnblogs.com/vamei/p/3889208.html
http://blog.csdn.net/jianghuiquan/article/details/8244374
我主要是一步步记录自己学习android的过程。
一、新建Android一个项目
①打开Eclipse,单击菜单栏的“File”->把鼠标光标移动到“New”->在弹出的列表框中,如果直接能看到“Android Applicaion Project”选项项,则直接单击此选项,否则选择最下面的“Other...”,在弹出的窗口中,展开“Android”项,选择“Android Applicaion Project”,然后“Next”;


其实还有一个方法就是直接点Eclipse工具栏的如下图所指示的图标:

②在新弹出的窗口中按下图提示填写相关信息,一路“Next”,直到点击“Finish”,这样第一个Android程序就创建好了,这是你会发现Eclipse左边多了一个你新创建的Android项目。



二、编译Android项目
build project 后 按下图所示选中项目->单击鼠标右键,在弹出的列表框中选择“Run As”->单击“Android Application”,这时会发现模拟器自动启动,等到模拟器完全启动好后,就可以看到项目的编译结果了。
创建新应用后,我们就到了Eclipse的主界面:

左侧的Package Explorer中可以浏览HelloWorld应用下的所有文件。点击后,文件内容将在右侧的编辑器主界面中打开。
运行第一个应用
我们可以在ADT中,控制应用的安装和运行
Run -> Run As -> Android Application

由于我们还没有注册其它的安卓设备,此时安卓将自动运行模拟器(emulator)。模拟器从你的电脑中分出计算和存储资源,生成一个虚拟的安卓设备。HelloWorld应用将安装到模拟器中。可以在右下角的Console监视整个过程。

三、Android项目工作区概览

新建一个Android项目,Eclipse会自动帮我们建立诸多文件,我们看一下:
其中:
第①部分:表示Java源程序;
第②部分:代表系统资源ID,类似于C语言的*.h文件,请千万不要手工修改R.java文件;
第③部分:Android4.2表示当前SDK是4.2,是目前最新版本;
第④部分:表示资源文件,其中layout布局你可以认为就是界面;
第⑤部分:每一个Android项目都包含一个清单(Manifest)文件--AndroidManifest.xml,它存储在项目层次中的最底层。清单可以定义应用程序及其组件的结构和元数据。
Android项目中主要文件及文件夹的作用:
(1)src:存放所有的*.java源程序。
(2)gen:为ADT插件自动生成的代码文件保存路径,其中的R.java文件将保存所有的资源ID。
(3)Android 4.2:表示现在使用的Android SDK的版本是4.2。
(4)assets:可以存放项目中一些较大的资源文件,如图片、音乐、字体等。
(5)res:可以存放项目中所有的资源文件,如图片(*.png、*.jpg)、网页(*.html)、文本等。
(6)res\drawable-hdpi:保存高分辨率图片资源。
(7)res\drawable-ldpi:保存低分辨率图片资源。
(8)res\drawable-mdpi:保存中等分辨率图片资源。
(9)res\layout:存放所有布局文件,主要是用于排列不同的显示组件,在Android程序要读取此配置。
(10)res\values:存放一些资源文件信息,用于读取文本资源,在文件夹中有一些约定的文件名称。(具体内容待以后详解)
(11)res\raw:自定义的一些原生文件所在目录,如音乐、视频等文件格式。
(12)res\xml:用户自定义的XML文件,所有的文件在程序运行时编译到应用程序中。
(13)res\anim:用于定义动画对象。
(14)activity_main:配置所有的控件。
(15)R.java:此文件为自动生成并自动维护的,用户添加的控件会自动在此文件中生成一个唯一的ID,以供程序使用。
(16)AndroidManifest.xml:主要配置文件,用于配置各个组件或一些访问权限等。
总之,看着真的够复杂,你先有个印象就可以了。至少,你应该知道源文件是放在src文件夹;布局文件在res/layout文件夹,其他以后了解也ok。
二、Android项目分析
1、布局文件(res\layout\activity_main.xml) 双击“res\layout\activity_main.xml”打开布局文件。注意①代表布局文件图形界面;②代表布局文件代码界面。

Android App应用程序类似于.net的Winform程序,其中①和②相当于标题栏,①为标题栏的图标,②为标题;③代表标签<TextViw>,类似于众多程序的Label。

我们再来看一下代码:
<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>
希望你在探讨本段代码之前,至少至少要有XML文件的概念,如果没有请了解这后再来继续学习。
本段代码包含了两个重要标签:<RelativeLayout>和<TextView>,<RelativeLayout>代表线性布局管理器;<TextView>代表标签组件。其它的皆为两个标签的属性。
我们着重来看一下:android:text="@string/hello_world",我们的运行结果是“Hello world!”而不是“hello_world”!
Why?
2、strings文本资源文件(res\values\strings.xml)
双击“res\values\strings.xml”打开文本资源文件。与布局文件一样:①代表文本资源图形界面;②代表文本资源代码界面。


我们打开文本资源strings.xml文件之后,当我们看到:
<string name="hello_world">Hello world!</string>
前面的疑虑应该顿消,原来如此啊!hello_world是文本资源文件中的一个标签而已,其真正的内容是“Hello world!”。
你可以通过图形界面或者字符界面添加一个字符串资源,究竟你选择哪种,随你高兴!
3、R.java文件(gen/com.genwoxue.hello/R.java)
双击“gen/com.genwoxue.hello/R.java”打开资源ID文件。

R.java资源文件保存所有资源的ID,譬如前面所讲的hello_world,在这里就是一个整数0x7f040001而已。
如果你感觉这个文件很奇怪也很正常,除非你曾经学习或者写过C for windows应用程序就早已习以为常了。
这个文件你最好只是看看,不要动它!!!
4、AndroidManifest.xml文件
双击“AndroidManifest.xml”项目配置文件。

所有的Activity程序都在AndroidManifest.xml文件中进行注册,故该文件是整个Android项目的核心配置文件。
在<application>节点中配置的android:icon="@drawable/ic_launcher",表示引用drawable(drawable-hdpi、drawable-ldpi、drawable-mdpi三个文件夹中导入)资源配置的图标,引入图标的名称为ic_launcher。现在你可以更换应用程序图标了,你知道了它在哪!
在<application>节点中配置的android:label="@string/app_name",表示此应用程序的标签名称从strings.xml文件中读取,内容为app_name对应的内容。现在你也可以更换应用程序标题了,你知道了它在哪!
当然,你还可以更改Activity的标题,什么是Activity?
Activity就是一个活动的窗体,一个项目应用程序可以包含多个Activity。
5、MainActivity.java(src/com.genwoxue.hello/MainActivity.java)
双击“src/com.genwoxue.hello/MainActivity.java”程序文件。

本程序是Android整个项目的主程序,Activity是项目的基本组成部分。
MainActivity继承Activity类,onCreate()方法是启动Activity地默认调用的方法。
super.onCreate(savedInstanceState):调用父类的onCreate()方法;
setContentView(R.layout.activity_main):调用布局文件。给MainActivity设置了要显示的视图R.layout.activity_main,视图由R类寻找并加载(感觉很像mvc,Activity相当于Controller而要显示的layout就相当于具体的页面)。
可以看到Android.jar里面包含了很多包,常见包的作用如下:
android.app-----------提供高层的程序模型、提供基本的运行环境
android.content-------包含各种的对设备上的数据进行访问和发布的类
android.database------通过内容提供者浏览和操作数据库
android.graphics-------底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
android.location-------定位和相关服务的类
android.media---------提供一些类管理多种音频、视频的媒体接口
android.net------------提供帮助网络访问的类,超过通常的java.net.* 接口
android.os-------------提供了系统服务、消息传输、IPC 机制
android.opengl--------提供OpenGL 的工具
android.provider-------提供类访问Android 的内容提供者
android.telephony-----提供与拨打电话相关的API 交互
android.view-----------提供基础的用户界面接口框架
android.util------------涉及工具性的方法,例如时间日期的操作
android.webkit---------默认浏览器操作接口
android.widget---------包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用
我的android学习脚步----------- 的第一个应用的更多相关文章
- 我的android学习脚步----------- Button 和监听器setonclicklistener
最基本的学习,设置一个按钮并监听实现实时时刻显示 首先XML布局,在layout中的 activity_main.xml中拖一个Button按钮到相应位置 然后在xml文件中做修改 <Rela ...
- android学习三---创建第一个程序
1.创建一个Helloworld程序 1.1 new-android application 点击file-new-android application出现如下界面 填上应用名,项目名,包名,选择所 ...
- 一、Android学习第一天——环境搭建(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第一天——环境搭建 Android 开发环境的搭建 ...
- Android学习之基础知识十二 — 第一讲:网络技术的使用
这一节主要讲如何在手机端使用HTTP协议和服务器端进行网络交互,并对服务器返回的数据进行解析,这也是Android中最常用的网络技术. 一.WebView的用法 有时候我们可能会碰到比较特殊的需求,比 ...
- 【Android学习】《Android开发视频教程》第一季笔记
视频地址: http://study.163.com/course/courseMain.htm?courseId=207001 课时5 Activity基础概念 1.Android开发技术结构 ...
- Android学习路线总结,绝对干货
title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...
- Android学习——第一个NDK程序
在前面的学习中,我们已经讲解了关于NDK编程的环境搭建流程,简单的使用我们也通过官网本身自带的例子进行说明了.可是相信大家一定还存在这么的一个疑惑:“如果我要自己利用NDK编写一个Android应用, ...
- Android学习——windows下搭建Cygwin环境
在上一篇博文<Android学习——windows下搭建NDK_r9环境>中,我们详细的讲解了在windows下进行Android NDK开发环境的配置,我们也讲到了在NDk r7以后,我 ...
- Android学习——windows下搭建NDK_r9环境
1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个 ...
随机推荐
- Mybatis插件原理和PageHelper结合实战分页插件(七)
今天和大家分享下mybatis的一个分页插件PageHelper,在讲解PageHelper之前我们需要先了解下mybatis的插件原理.PageHelper 的官方网站:https://github ...
- C#连接ACCESS的一个问题
C# 连接ACCESS数据库有时候报 "Microsoft.Jet.Oledb.4.0"没有注册,其实,并不是真的没注册,可能是下面的原因 在菜单 “项目”的最下面 工程属性 菜单 ...
- VBS基础篇 - 对象(7) - TextStream对象
VBS基础篇 - 对象(7) - TextStream对象 TextStream对象是用于访问文本文件的对象,它是FileSystemObject一个独立的附属对象,但在使用TextStream对 ...
- java字符串格式化
转自:JAVA字符串格式化-String.format()的使用(转) 常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语 ...
- js 时间
<html> <head> <meta charset="utf-8" /> <title></title> <s ...
- Storm官方文档翻译之创建Storm项目
本文将讲述如何在开发环境创建一个Storm项目,下面是步骤: 1.将Storm的相关jar包添加到classpath中: 2.如果使用多语言开发,也要将多语言目录添加到classpath; 点击sto ...
- elasticsearch快照和恢复
摘要:es可以通过简单的命令对索引或者整个集群进行快照和恢复 快照和恢复 Snapshot and restore 模块允许创建单个索引或者整个集群的快照到远程仓库. 在初始版本里只支持共享文件系统的 ...
- mac 命令行读取 u盘
mac 系统命令行读取u盘
- WdatePicker默认日期为当天
不说废话,直接上代码: <input id="d4311" class="Wdate" onfocus="WdatePicker({maxDat ...
- Python 协程/异步IO/Select\Poll\Epoll异步IO与事件驱动
1 Gevent 协程 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到 ...