Android 1.2.1 使用Eclipse + ADT + SDK开发Android APP

1.2.1 使用Eclipse + ADT + SDK开发Android APP

 

1.前言

这里我们有两条路可以选,直接使用封装好的用于开发Android的ADT Bundle,或者自己进行配置 因为谷歌已经放弃了ADT的更新,官网上也取消的下载链接,这里提供谷歌放弃更新前最新版本的 ADT Bundle供大家下载!


2.直接使用打包好的Eclipse

32位版:adt-bundle-windows-x86-20140702.zip(百度网盘) 64位版:adt-bundle-windows-x86_64-20140702.zip(Google 地址) 下载解压,然后直接跳到4.来创建一个Helloworld工程!


3.自己配置Eclipse + ADT + SDK

Eclipse可自行到Eclipse官网下载:Eclipse官方下载 而SDK和ADT可以到AndroidDevTools处下载:AndroidDevTools官网 这里给我们提供了很多Android开发相关的工具,而且不用科学上网,必备开发网站!务必Mark! 不同版本配置间可能会有一些问题!笔者用的是旧版本的(很旧),又需要的也可以下载: Eclipse:eclipse-jee-helios-win32.zip ADT:ADT-15.0.0.zip SDK:android-sdk-windows.rar 搭建流程: 1.解压Eclipse:到解压的文件夹中找到eclipse.exe运行,运行后设置工程代码的存放位置(工作空间) 2.ADT配置:依次点击菜单栏:help -> Install new software -> Add -> Local... ->选中下载加压后的ADT的文件夹 ->accept -> 重启Eclipse ->看菜单栏是否出现Android小图标

d891c3a047ec2173cc47309bf35247a8.jpeg

如果出现表示安装完成 PS:期间可能出现一个waring,直接忽视~ 3.SDK解压配置:依次点击菜单栏:windows -> Rreferences -> Android ->选中解压的SDK包 -> OK ->打开重新验证 4.创建AVD(安卓模拟器):依次点击菜单栏:手机小图标 -> New -> 选定系统版本 -> Skin屏幕分辨率 ->设置下SD卡大小 -> 完成 -> start即可PS:第一次启动AVD的话可能很慢,需要等等~


4.第一个程序HelloWorld工程创建与运行

1.New -> Android App Project 如果找不到,可以去Other -> android找到,也是一样的:

5edf989662e46a22ee57e7c181981084.jpeg

2.然后依次输入工程信息:

31a1a2cee2806d5a8da92a1107564799.jpeg

3.运行创建好的程序

f218fd5a0d2ea5a9b85319be2d5dcbd4.jpeg

4.从模拟器上看到运行效果:

72731231d4b93b23c8de9c40d1f0ac53.jpeg


5.项目的目录结构分析

先来看下我们的工程目录图:

20230724024159.png?origin_url=https%3A%2F%2Fwww.runoob.com%2Fwp-content%2Fuploads%2F2015%2F06%2F36216159.jpg&pos_id=3naUu4Xj

接下来我们需要知道的部分:

  • src目录:包含App所需的全部程序代码文件,我们大多数时候都是在这里编写我们的Java代码的
  • gen目录:只关注R.java文件,它是由ADT自动产生的,里面定义了一个R类,可以看作一个id(资源编号)的字典,包含了用户界面,图形,字符串等资源的id,而我们平时使用资源也是通过R文件来调用的,同时编译器也会看这个资源列表,没有用到的资源不会被编译进去,可以为App节省空间
  • assets目录:存放资源,而且不会再R.java文件下生成资源id,需要使用AssetsManager类进行访问
  • libs目录:存放一些jar包,比如v4,v7的兼容包,又或者是第三方的一些包
  • res资源目录:存放资源的,drawable:存放图片资源;layout:存放界面的布局文件,都是XML文件; values:包含使用XML格式的参数的描述文件,如string.xml字符串,color.xml颜色,style.xml风格样式等
  • AndroidManifest.xml配置文件:系统的控制文件,用于告诉Android系统App所包含的一些基本信息,比如组件,资源,以及需要的权限,以及兼容的最低版本的SDK等

6.几个常用的视图

点击菜单栏上的:Windows -> show view打开对应的视图即可:

 

0e2e990e641034ef8bf27ef451510e9e.jpeg

点击other,下述是Android中一些常用的视图:

 

9c9baa25d87577325546ca21e9f2c8f3.jpeg

其实主要的还是Logcat的使用,因为和Java不同,我们的App运行在虚拟机上,而我们的控制台却并不会显示相关信息,只有安装状态而已,所以我们会在Logcat上查看程序运行的日志信息:

 

2b6ae17c968be2f3d5d9163f0be3dcdf.jpeg

7.本节小结

本节我们学习了使用Eclipse搭建我们的Android开发环境,懒人版和动手搭建版,两者都可以; 接着我们又介绍了下Eclipse开发Android项目的目录结构的一些信息,在下一节中我们将深入HelloWorld工程,了解其中的代码!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/119473.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第12节——生命周期

一、概念 生命周期指 React 组件从装载至卸载的全过程,这个过程内置多个函数供开发者在组件的不同阶段执行需要的逻辑。 状态组件主要通过 3 个生命周期阶段来管理,分别是 挂载阶段(MOUNTING),更新阶段(U…

TIA博途从V15.1版本升级到V16后,下载配方时出错,动作异常终止

TIA博途从V15.1版本升级到V16后,下载配方时出错,动作异常终止 1. 读取配方的时候没有问题,完全正常,没有任何错误提示。 2. 但是在下载的时候,就提示了“出错。动作异常终止” 根据以往的经验分析,有可能是配方变量里面没有相对应的地址时候下载会出错,但是配方画面相对…

Windows NUMA编程实践 – 处理器组、组亲和性、处理器亲和性及版本变化

Windows在设计之初没有考虑过对大数量的多CPU和NUMA架构的设备的支持,大部分关于CPU的设计按照64个为上限来设计。核心数越来越多的多核处理器的进入市场使得微软不得不做较大的改动来进行支持,因此Windows 的进程、线程和NUMA API在各个版本中行为不一样…

基于Java+SpringBoot+Vue前后端分离大学生智能消费记账系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

国产10米分辨率的卫星介绍、下载和处理教程

10米分辨率的资源卫星介绍、下载和处理教程 简介 说起免费的10米分辨率卫星影像,大家首先想到的是sentinel卫星。但其实还有我国的中巴地球资源卫星04星(CBERS04)。 中巴地球资源卫星(China Brazil Earth Resources Satellite, CBERS)是中国和巴西共同投资、联合研制的地球…

PCIe DL_Feature详解

DL_Feature的引入 Data Link Control and Management State Machine在PCIe Gen4引入了DL_Feature这个状态,该状态主要用来协商PCIe link 两端是否支持新的DL Feature,目前为止DL Feature只引入了Scaled Flow Control 来提高Gen4及以上的效率。   DL_Fe…

qt信号与槽

输入账户密码成功则跳转界面 widget.cpp #include "widget.h" //自己的头文件Widget::Widget(QWidget *parent) //构造函数的定义: QWidget(parent) …

自建音乐服务器Navidrome之一

这里写自定义目录标题 1.1 官方网站 2. Navidrome 简介2.1 简介2.2 特性 3. 准备工作4. 视频教程5. 界面演示5.1 初始化页5.2 专辑页 前言 之前给大家介绍过 Koel 音频流服务,就是为了解决大家的这个问题:下载下来的音乐,只能在本机欣赏&…

纽扣电池/锂电池UN38.3安全检测报告

根据规章要求,航空公司和机场货物收运部门应对锂电池进行运输文件审查,重要的是每种型号的锂电池UN38.3安全检测报告。该报告可由的三方检测机构。如不能提供此项检测报告,将禁止锂电池进行航空运输. UN38.3包含产品:1、 锂电池2…

Typora导出的PDF目录标题自动加编号

Typora导出的PDF目录标题自动加编号 在Typora主题文件夹增加如下文件后,标题便自动加上了编号: https://gitcode.net/as604049322/blog_data/-/blob/master/base.user.css 例如: 但是导出的PDF中,目录却没有编号: 这…

qt day 5

1>实现闹钟功能 ---------------------------------------------------------------------- .pro ---------------------------------------------------------------------- QT core gui texttospeechgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# T…

CEF内核和高级爬虫知识

(转)关于MFC中如何使用CEF内核(CEF初解析) Python GUI: cefpython3的简单分析和应用 cefpython3:一款强大的Python库 开始大多数抓取尝试可以从几乎一行代码开始: fun main() PulsarContexts.createSession().scrapeOutPages(&q…

【项目源码】一套基于springboot+Uniapp框架开发的智慧医院3D人体导诊系统源码

智慧医院3D人体导诊系统源码 开发语言:java 开发工具:IDEA 前端框架:Uniapp 后端框架:springboot 数 据 库:mysql 移 动 端:微信小程序、H5 “智慧导诊”以人工智能手段为依托,为…

JVM介绍

一、介绍 1. JVM是什么 JVM是Java Virtual Machine的缩写,即咱们经常提到的Java虚拟机。虚拟机是一种抽象化的计算机,有着自己完善的硬件架构,如处理器、堆栈等,具体有什么咱们不做了解。目前我们只需要知道想要运行Java文件&…

基于Matlab实现生活中的图像信号分类(附上源码+数据集)

在我们的日常生活中,我们经常会遇到各种各样的图像信号,例如照片、视频、图标等等。对这些图像信号进行分类和识别对于我们来说是非常有用的。在本文中,我将介绍如何使用Matlab来实现生活中的图像信号分类。 文章目录 介绍源码数据集下载 介…

Pinely Round 2 (Div. 1 + Div. 2) G. Swaps(组合计数)

题目 给定一个长度为n(n<1e6)的序列&#xff0c;第i个数ai(1<ai<n)&#xff0c; 操作&#xff1a;你可以将当前i位置的数和a[i]位置的数交换 交换可以操作任意次&#xff0c;求所有本质不同的数组的数量&#xff0c;答案对1e97取模 思路来源 力扣群 潼神 心得 感…

科创板50ETF期权交易:详细规则、费用、保证金和开户攻略

科创板50ETF期权是指以科创板50ETF为标的资产的期权合约。科创板50ETF是由交易所推出的一种交易型开放式指数基金&#xff08;ETF&#xff09;&#xff0c;旨在跟踪科创板50指数的表现&#xff0c;下文介绍科创板50ETF期权交易&#xff1a;详细规则、费用、保证金和开户攻略&am…

2022年09月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:stack or queue 栈和队列都是常用的线性结构,它们都提供两个操作: Push:加入一个元素。 Pop:弹出一个元素。 不同的是,栈是”先进后出”,而队列则是”先进先出”。 给出一个线性结构的进出顺序,判定这个结构是栈还是队列。 时…

RT-Thread I/O设备模型(一)

I/O设备模型 绝大部分的嵌入式系统都包括一些I/O&#xff08;Input/Output&#xff0c;输入/输出&#xff09;设备&#xff0c;例如仪器上的数据显示屏&#xff0c;工业设备上的串口通信、数据采集设备上用于保存数据的 Flash 或 SD 卡&#xff0c;以及网络设备的以太网接口等…

Mapbox-gl 关闭所有Popup,以及关闭按钮出现黑色边框bug

1.官方示例 var popup new mapboxgl.Popup().addTo(map);popup.remove(); 很明显&#xff0c;需要记录popup对象&#xff0c;管理起来比较麻烦。 2.本人采用div的方式关闭所有的popup&#xff0c;在map对象上新增加方法 map.closePopupmapView.popupClear function(){$(&q…