环境搭建基本上比较顺利,除了下载SDK需要花不少时间 L

比起.Net的开发环境,java总是需要DEV更多的自己动手,偶更喜欢傻瓜型的部署 J

构建HelloAndroid项目:

1. File -> New -> Android project

2. 配置项目信息

Project name – 项目名称

Build Target – 使用那个版本的android平台编译

Application name – 显示的应用名称

Package name – 包,等同于.Net里的namespace

Create Activity – 创建Activity,类似于创建一个android的form

Min SDK Version – 最低SDK版本

点击Finish开始准备Say Hello吧

3. Android项目框架自动生成了项目文件

通过package explorer来看看都生成了哪些文件

东西确实不少,那我们需要关注哪些呢,先~~

a> src:HelloAndroid 的Activity代码

b> gen:自动产生的代码,不需手动编辑,也没法手动编辑

c> Android 2.3.3:引入的SDK包

d> res:android应该需要的资源文件,其中我们先关注2个

  d1> layout\main.xml – 这个是HelloAndroid Activity的UI布局,此时可以理解一个Activity有UI和后台代码

  d2> values\strings.xml – 这个是共用的键值定义,等同于.net中app.config/web.config中<appSettings>中自定义的键值项(一看就是对.net有着深厚的感情,有木有!!!)

e> AndroidManifest.xml:这个文件非常重要,定义的整个应用的关键配置

4. 逐项看看我们关注的东东

从简单的看起吧

d2 - values\strings.xml

 

res\values\strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello Android, I am coming!</string>
<string name="app_name">Hello Android</string>
</resources>

定义了2个string类型的键值项:hello和app_name。来修改下hello,<string name="hello">Hello Android, I am coming!</string>

 

 

d1 - layout\main.xml

res\layout\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>

HelloAndroid Activity的UI采用了LinearLayout布局方式,并添加了一个TextView控件。

它可以对d2中定义的键值项进行引用:android:text="@string/hello",意思是text的内容等于d2中hello那个值。

 

 

b – gen下的R.java

R.java

package com.demo.android.HelloAndroid;

public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}

这是框架自动生成并会自动更新的java类文件,它产生对资源内容的映射属性,这样在代码中可以方便的使用我们定义的每一个资源内容。

a – src下的HelloAndroid.java

HelloAndroid.java

package com.demo.android.HelloAndroid;

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);
}
}

HelloAndroid Activity的代码文件,继承android.app.Activity,并重载(override)onCreate方法。

e - AndroidManifest.xml

AndroidMainfest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.demo.android.HelloAndroid"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="10" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloAndroid"
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>

描述了对整个应用的定义和描述,包括Activity的描述,当然还能做更多的配置,我们以后慢慢都会用到,这里先知道这个是很重要的文件就好了(知道的越多越痛苦啊,有木有!!!)。

5. 配置AVD

AVD = Android Virtual Devices,一个终端设备模拟器。点击工具栏的图标打开。

看下我已经配好的一个AVD,你能看懂的,不解释 :P

 

6. Run一下吧

Wow~ 小许的成就感油然而生,有木有!!!

最后让我们总结一下吧:第一步先了解了android应用的一个重要组件 - android.app.Activity,它有UI和后台代码,实现了编码与美工的分离。

Say hello总是很简单,在简单的背后总是有一套良好的机制让事情简单。

走的多了,就有了自己的路!

转载于:https://www.cnblogs.com/JamesL/archive/2011/06/03/2072019.html

Hello Android – 迈出android开发第一步相关推荐

  1. windows phone开发第一步:搭建软件开发环境

    2019独角兽企业重金招聘Python工程师标准>>> windows phone开发第一步:搭建软件开发环境:http://www.cnblogs.com/hanjun/archi ...

  2. 微信公众开放平台开发07---java servlet 实现微信开发第一步:微信服务器验证

    微信公众开放平台开发07---java servlet 实现微信开发第一步:微信服务器验证  技术qq交流群:JavaDream:251572072 ------------------------- ...

  3. Python开发第一步:如何制作一个简单的桌面应用

    Python开发第一步:如何制作一个简单的桌面应用 前言 大家好,我是baifagg, 一个热爱Python的编程爱好者. 今天我们来学习一下, 如何用Python制作一个简单的桌面应用程序. 虽然桌 ...

  4. python安装包_迈出Python学习第一步:Python开发环境的下载与安装

    所谓"磨刀不误砍柴工"."工欲善其事,必先利其器",都在告诉我们一个道理:要做好一个事情,事先做好充分的准备工作是非常重要的.所以在我们正式学习用Python编 ...

  5. php5.6 mysql5.5,PHP开发第一步,PHP5.6 + MySQL5.5 + Apache2.4环境搭建

    前言 在web开发这个领域对php 可是早有耳闻,大家对php赞不绝口,称赞有加,这让php火了一阵子,现在也依旧流行,所以我实在是忍不住想搞搞php了,以前以为学了jsp就没必要学php了,因为用j ...

  6. React.js组件化开发第一步(框架搭建)

    开始前 安装 node.js; 安装 cnpm; 安装 yarn; 安装完成yarn后, 将镜像替换成国内的: $ yarn config set registry 'https://registry ...

  7. 迈出你的第一步——天助自助者

    来到博客园快要一年了   竟然一个字都没写的我也是挺奇葩的 然后就想如果我能每周一篇的话 积累起来也不算少了 所以还是要勇敢的迈出第一步 我是一个喜欢冒险又享受安逸    又不那么甘于平庸的人 不知道 ...

  8. Mapbox网络GIS开发第一步——Mapbox本地化

    对于使用mapbox_gl_js来进行的前端地图页面的开发,通常我们可以直接调用在线的mapbox组件资源,轻易的使用mapbox_gl_js提供的前端开发框架,但是由于网络延迟等一些列网络上的不确定 ...

  9. ios开发第一步--虚拟机安装MAC OS X

    暂时还没买Macbook,先用虚拟机练练手. 先说说准备工作,我是在win8下安装的,这个不是关键的,只要Vmware版本和MAC OS X版本确定就行了,win7下同样可以. 1.虚拟机Vmware ...

最新文章

  1. 【Android 进程保活】Low Memory Killer 机制
  2. matlab读入txt数据_教程合集 | MATLAB文件读写(以nc与txt为例)
  3. saltstack-部署
  4. Kubernetes 将何去何从?
  5. SQLSERVER的视图、函数、存储过程、触发器
  6. 独立站现在好不好做?
  7. android 对java 支持_Android在未来对 Java 8 特性的支持
  8. python kmeans聚类_K-means聚类算法的Python实现
  9. 【ECG实践篇(1)】MIT-BIH数据库数据解析的方法以及使用rdann获取人工标注注释的方法
  10. 通达OA 一个正式用户被提示软件试用过期的问题处理(图文)
  11. python语言百分号的含义_python中百分号意思的是什么
  12. FlashFXP使用说明
  13. java 读取手机sd卡_获取Android手机中SD卡内存信息
  14. MapReduce中Shuffle机制的学习案例——房屋租赁信息
  15. 【JZOJ3397】雨天的尾巴
  16. 关于请设置注册表项Framewoke.....初始化错误的解决办法
  17. 苹果备份删除有影响吗_苹果官网崩了,对手机的销售有什么影响吗?
  18. pytorch训练时前一次迭代的loss正常后一次迭代却报nan
  19. STM32 PS2游戏摇杆 测试
  20. 北京大学计算机就业报告,【计算机考研就业】北京大学2017年毕业生就业质量年度报告...

热门文章

  1. 鸿蒙台湾乌龙茶,郭碧婷生女再闹乌龙?向太守口如瓶,向佐有意回避,其实另有隐情...
  2. 【Python学习系列一】Windows下Python及其IDE(eclipse+pydev)安装
  3. Java实现图片去噪和灰度的类
  4. vue中通过数据双向绑定给video标签的src赋值,只有第一次有效,怎么解决?
  5. italic与oblique的区别
  6. Keil编译出现sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.报错的解决方法
  7. Error - section 'InterruptVectorLow' can not fit the absolute section. Section 'InterruptVectorLow'
  8. 信号公式汇总之傅里叶变换
  9. MRCTF2020]你传你码呢
  10. [YTU]_2424 C语言习题 字符串比较