Hello Android – 迈出android开发第一步
环境搭建基本上比较顺利,除了下载SDK需要花不少时间 L
比起.Net的开发环境,java总是需要DEV更多的自己动手,偶更喜欢傻瓜型的部署 J
构建HelloAndroid项目:
1. File -> New -> Android project
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
<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
<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
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
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
<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的描述,当然还能做更多的配置,我们以后慢慢都会用到,这里先知道这个是很重要的文件就好了(知道的越多越痛苦啊,有木有!!!)。
AVD = Android Virtual Devices,一个终端设备模拟器。点击工具栏的图标打开。
看下我已经配好的一个AVD,你能看懂的,不解释 :P
Wow~ 小许的成就感油然而生,有木有!!!
最后让我们总结一下吧:第一步先了解了android应用的一个重要组件 - android.app.Activity,它有UI和后台代码,实现了编码与美工的分离。
Say hello总是很简单,在简单的背后总是有一套良好的机制让事情简单。
走的多了,就有了自己的路!
转载于:https://www.cnblogs.com/JamesL/archive/2011/06/03/2072019.html
Hello Android – 迈出android开发第一步相关推荐
- windows phone开发第一步:搭建软件开发环境
2019独角兽企业重金招聘Python工程师标准>>> windows phone开发第一步:搭建软件开发环境:http://www.cnblogs.com/hanjun/archi ...
- 微信公众开放平台开发07---java servlet 实现微信开发第一步:微信服务器验证
微信公众开放平台开发07---java servlet 实现微信开发第一步:微信服务器验证 技术qq交流群:JavaDream:251572072 ------------------------- ...
- Python开发第一步:如何制作一个简单的桌面应用
Python开发第一步:如何制作一个简单的桌面应用 前言 大家好,我是baifagg, 一个热爱Python的编程爱好者. 今天我们来学习一下, 如何用Python制作一个简单的桌面应用程序. 虽然桌 ...
- python安装包_迈出Python学习第一步:Python开发环境的下载与安装
所谓"磨刀不误砍柴工"."工欲善其事,必先利其器",都在告诉我们一个道理:要做好一个事情,事先做好充分的准备工作是非常重要的.所以在我们正式学习用Python编 ...
- php5.6 mysql5.5,PHP开发第一步,PHP5.6 + MySQL5.5 + Apache2.4环境搭建
前言 在web开发这个领域对php 可是早有耳闻,大家对php赞不绝口,称赞有加,这让php火了一阵子,现在也依旧流行,所以我实在是忍不住想搞搞php了,以前以为学了jsp就没必要学php了,因为用j ...
- React.js组件化开发第一步(框架搭建)
开始前 安装 node.js; 安装 cnpm; 安装 yarn; 安装完成yarn后, 将镜像替换成国内的: $ yarn config set registry 'https://registry ...
- 迈出你的第一步——天助自助者
来到博客园快要一年了 竟然一个字都没写的我也是挺奇葩的 然后就想如果我能每周一篇的话 积累起来也不算少了 所以还是要勇敢的迈出第一步 我是一个喜欢冒险又享受安逸 又不那么甘于平庸的人 不知道 ...
- Mapbox网络GIS开发第一步——Mapbox本地化
对于使用mapbox_gl_js来进行的前端地图页面的开发,通常我们可以直接调用在线的mapbox组件资源,轻易的使用mapbox_gl_js提供的前端开发框架,但是由于网络延迟等一些列网络上的不确定 ...
- ios开发第一步--虚拟机安装MAC OS X
暂时还没买Macbook,先用虚拟机练练手. 先说说准备工作,我是在win8下安装的,这个不是关键的,只要Vmware版本和MAC OS X版本确定就行了,win7下同样可以. 1.虚拟机Vmware ...
最新文章
- 【Android 进程保活】Low Memory Killer 机制
- matlab读入txt数据_教程合集 | MATLAB文件读写(以nc与txt为例)
- saltstack-部署
- Kubernetes 将何去何从?
- SQLSERVER的视图、函数、存储过程、触发器
- 独立站现在好不好做?
- android 对java 支持_Android在未来对 Java 8 特性的支持
- python kmeans聚类_K-means聚类算法的Python实现
- 【ECG实践篇(1)】MIT-BIH数据库数据解析的方法以及使用rdann获取人工标注注释的方法
- 通达OA 一个正式用户被提示软件试用过期的问题处理(图文)
- python语言百分号的含义_python中百分号意思的是什么
- FlashFXP使用说明
- java 读取手机sd卡_获取Android手机中SD卡内存信息
- MapReduce中Shuffle机制的学习案例——房屋租赁信息
- 【JZOJ3397】雨天的尾巴
- 关于请设置注册表项Framewoke.....初始化错误的解决办法
- 苹果备份删除有影响吗_苹果官网崩了,对手机的销售有什么影响吗?
- pytorch训练时前一次迭代的loss正常后一次迭代却报nan
- STM32 PS2游戏摇杆 测试
- 北京大学计算机就业报告,【计算机考研就业】北京大学2017年毕业生就业质量年度报告...
热门文章
- 鸿蒙台湾乌龙茶,郭碧婷生女再闹乌龙?向太守口如瓶,向佐有意回避,其实另有隐情...
- 【Python学习系列一】Windows下Python及其IDE(eclipse+pydev)安装
- Java实现图片去噪和灰度的类
- vue中通过数据双向绑定给video标签的src赋值,只有第一次有效,怎么解决?
- italic与oblique的区别
- Keil编译出现sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.报错的解决方法
- Error - section 'InterruptVectorLow' can not fit the absolute section. Section 'InterruptVectorLow'
- 信号公式汇总之傅里叶变换
- MRCTF2020]你传你码呢
- [YTU]_2424 C语言习题 字符串比较