我的Android第一章
一、android是什么
基于linux系统下开发的开源系统
二、android的具体架构是什么
硬件[智能设备底层的硬件],驱动[软件和硬件之间沟通的桥梁],Linux系统[一款功能强大代码开源的系统],Java类库[java中的一些依赖类],jvm虚拟机
简单的说,我们如果做安卓的软件开发,需要java知识+sdk+ecplise工具 来做到Android的开发
三、android的开发环境是什么
sdk[android开发需要的依赖],Android模拟器[我们开发android最出名的就是手机,所以要一款软件能够模拟手机,例如海马玩模拟器,夜神模拟器]
,jdk[android目前开发还是在java代码的编写下的,所以jdk必不可少],ecplise[学过java的同学都很熟悉了,这是一款java开发的集成工具软件,要注意的是,我们要下载的是专门为android开发使用的ecplise所以与一般的ecplise不同]
说一下Android中的几个术语:
android sdk:android sdk 包含了一个调试器、库、一个模拟器、文档、示例代码和教程
adt:用于eclipse的Android开发工具、插件是eclipse ide的扩展,用以支持Android应用程序的创建和调试
android操作系统:是一种基于Linux的开源的收集操作系统
apk是Android package的所系,即是Android安装包
Android的四大组件(activity,service,broadcast receiver,content provider)
四、Android开发的一些概念
android中手机被当做服务器,接受各种请求,而客户端则由sdk中的adp.exe来充当
试着寻找adp.exe:
第一步骤:
第二步骤:
第三步骤:
以上就是寻找adp.exe的步骤,这里声明一点,当我们使用android开发使用的sdk和ecplise的时候会自动使用
sdk中的命令,所以我们只需要了解sdk中目录下的文件的作用就行了,不需要去用它
五、环境的配置
1)需要jdk:
下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html
或者解压已经有的jdk
2)配置环境便量
JAVA_HOME=D:\java\jdk1.7.0_79 -->jdk所在目录
path=%JAVA_HOME%/bin; -->jdk中bin目录作用是为了在任意目录下调用jdk中的命令
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\rt.jar->这里我们直接可以复制
ANDROID_HOME=E:\学习\android\adt-bundle-windows-x86_64-20140702\sdk -->sdk所在目录
3.校验
win+r 输入cmd 进入命令行 输入 java -version 验证jdk是否配置成功
六、简单的连接手机
做了那么多,我们终于要试一下怎么把 ecplise 与 手机[海马模拟器]连接起来
需要的配置:1.一部手机。2.ecplise。3.sdk。4.jdk
1.一部手机[我们在电脑中可以使用下载海马模拟器来模拟手机,这款软件可以模拟一台手机的使用]
2.ecplise[需要指定为android整合开发的ecplise]
3.sdk[这是android开发所需要的包]
4.jdk[这是android开发的环境变量]
执行步骤:
1.打开ecplise , 指定工作空间
2.安装模拟器[海马玩模拟器,夜神模拟器]
3.进入ecplise
4.进入ddms视图连接
以上就是ddms视图
如图所示,ddms视图中会自动搜索海马模拟器,或者我们的手机,当我们的手机被搜索到的时候,图片如下所示
整个ecplise连接手机模拟器的步骤就是这样
七、打印输出HelloWorld【android小案例】
第一步骤:确保你的手机和ecplise连接中
第二步骤:切换ecplise中的java页面
第三步骤:新建项目
在Package Exploer视图中右键
统一选择了4.4,这里我的海马模拟器是4.2的,之后我们可以看一下有什么样的异常
下一步
我们来了解一下完成后的项目中的目录结构
开始做一个在android中的helloworld
下面我们开始:
第一步骤:选中控件
第二步骤:改变控件中的值为 "你好 Android"
1)打开src中的MainActivity.java文件
2)编写的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//前面的代码不变
//后面添加代码由于继承自Activity,使用它的方法
//参数R.id.button1找的是R.java中的id.button1
//每当我们在activity_main.xml中生成一个控件R.java
//也会在id中生成对应的整形句柄用来标识这个控件
//那么此时t1就是button1 ,button1 又等于之前我们生成的控件
TextView t1 = (TextView)this.findViewById(R.id.button1);
//调用方法设置值
t1.setText("你好 Android"); }
3)右键项目
注:这时候会遇到版本问题
按照图片来走
这里我们需要将版本改回可以搜索到的4.2 即是 17 版本的sdk
重新执行项目
现在我们的模拟器就可以搜索到了
这里我们需要等待
此时切换我们的模拟器
这样我们整个简单的demo就完成了,希望大家能够互相交流,这里我们要注意如果连接不上或者出现文件缺失等情况,可以重新启动ecplise和模拟器,或者删除项目重新创建来做到搭建项目,希望有所帮助
我的Android第一章的更多相关文章
- 疯狂Android第一章:Android环境配置以及基本概念
第一章 无关痒痛:Android Studio安装,配置,基本功能介绍! 重点内容:Android应用基本结构分析. 基础概念部分(只需知道作用,原理后见代码): Activity:安卓系统中负责与用 ...
- 我的Android第一章:Android环境搭建
今天是Android第一天的学习,对于学习任何一门课程时我们都要对该课程要有基本的了解和认识,了解该课程学点什么内容,学了这门知识我门能够做些什么,这也是对于我们这些刚入门的学习人员来说是一个必须要弄 ...
- 第一章 Android系统移植与驱动开发概述
本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容. 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程.自己开发一些程序(移植)装载在设备上,使得Andro ...
- [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍
注:为了看上去比较清晰这里只转载了中文 原地址: [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍 本章将引导您完成安装和设置开发环境,然后你就可 ...
- Android群英传》读书笔记 (1) 第一章 Android体系与系统架构 + 第二章 Android开发工具新接触
第一章 Android体系与系统架构 1.Dalvik 和 ARTDalvik好比是一辆可折叠的自行车,平时是折叠的,只有骑的时候,才需要组装起来用.ART好比是一辆组装好了的自行车,装好就可以骑了. ...
- Android系统移植与驱动开发----第一章
第一章 Android系统移植与驱动开发 Android源代码定制完全属于自己的嵌入式系统,但是支持的设备不多,所以要移植,而在移植的过程中使用的不得不提的是驱动开发. Android系统构架主要包括 ...
- Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式
Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...
- Android群英传笔记——第一章:Android体系与系统架构
Android群英传笔记--第一章:Android体系与系统架构 图片都是摘抄自网络 今天确实挺忙的,不过把第一章的笔记做一下还是可以的,嘿嘿 1.1 Google的生态圈 还是得从Android的起 ...
- 第一章 Android系统的编译和移植实例
第一章 Android系统的编译和移植实例 这一章节主要介绍了Android系统的编译和移植技术,作为建立在Linux内核的基础上的Android操作系统,它的编译和移植不论在过程还是技术方面都和嵌入 ...
随机推荐
- HTML与CSS
HTML中DTD是什么?是一套关于标记符的语法规则.DTD是一种保证html格式正确最有效的方法.一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则. ...
- ios导航器跳转动画
出栈或压栈简单实现动画 CATransition *animation1=[CATransition animation];//类方法创建一个切换对象 animation1.duratio ...
- JMeter学习-038-JMeter Linux 环境配置
1.1.下载 Download URL:http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-3.0.tg ...
- typealias和泛型接口
typealias 是用来为已经存在的类型重新定义名字的,通过命名,可以使代码变得更加清晰.使用的语法也很简单,使用 typealias 关键字像使用普通的赋值语句一样,可以将某个已经存在的类型赋值为 ...
- Python开发【十二章】:ORM sqlalchemy
一.对象映射关系(ORM) orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却 ...
- cocos2d-x 运行时xcode提示错误:"vtable for XXX", referenced from 问题已解决;
vtable/引用和虚函数相关,今天在添加一个层的时候报了这个错误,很低级的错误,忘了实现虚函数了(谨记!!) 若如果实现了虚函数还依然如此的话,可能是创建的时候忘了钩上 -desktop 选项了,把 ...
- iOS,几种设计模式
1.单例模式 2.观察者模式 3.委托代理 4.block回调 5.反射机制 单例模式 iOS单例模式的2种方式.根据线程安全的实现来区分,一种是使用@synchronized ,另一种是使用GCD的 ...
- Windows Azure - Troubleshooting & Debugging: Role Recycling
每年总会碰到几次Role Recycling,处理完记录下 :) 1. 和往常一样先排查系统日志,修复异常.> 没效果 :( 2. 排查Event Viewer中的Logs,没有发现比较奇怪Lo ...
- mysql入门
mysql:关系型数据库的一种,用来存储数据: 一个仓库------一个数据库: 一个箱子------ 表: 进入mysql命令行:mysql -uroot -p(密码):查看数据库中所有表:show ...
- PAT——乙级真题1003代码
#include<iostream> #include<string> using namespace std; int getLength(string str0); int ...