android开发:用IDEA建立你的第一个APP

news2024/11/18 11:47:57

        主要是记录一下各种小坑。

        IDEA目前是第一流行的java开发工具,同时也支持android开发,可以替代安卓官方的andriod studio,不过仍然要依赖android sdk。

        本例指导你完成第一个app,需要一台Windows PC和一部android手机。

目录

一、下载安装IDEA

二、新建android项目

2.1 坑

2.2 新建项目

2.3 设置SDK

2.4 连接手机

2.5 编译

2.7 运行

三、理解项目目录,添点小功能

3.1 项目结构

3.2 做出第一个修改


一、下载安装IDEA

        用https访问官网www.jetbrains.com/zh-cn/idea/:

        点击下载:

 

        上面是收费的旗舰版,下面是免费的社区版,不需要注册,直接点击下载安装程序,执行安装。 

二、新建android项目

2.1 坑

        一定要坚持用新建项目来完成第一个流程,不要直接打开现成项目,否则提示缺少android SDK,这里只提供android的官网链接,但是官网下载很困难,我用了各种网络竟然都不能顺利下载。但是用IDEA新建项目却没问题,下载很顺利。

2.2 新建项目

        打开IDEA,如果提示有升级就先升级,不升级也没关系。

        新建项目:

        依次选择【Android】、【Phone and Tablet】、【Basic Activity】,就是一个基本的APP,然后点击【Next】按钮。

 

        作为第一个app,名称、位置不是很有所谓,【Minimum SDK】是支持的SDK版本,如果还没有安装任何SDK,这里会提示安装,遵照指示安装即可。

        前面说了,如果是打开已经存在的项目,只会让你去官网自己下载,难度很高,这里就没什么可操心的,按照提示做就可以了。

        选择SDK版本越低能兼容的设备也越多,下面的文字告诉你能兼容多少设备。

        选择一个能支持你的手机的版本,不然没法在手机上测试。

        然后点击【Create】按钮,就会创建好项目进入开发状态。

2.3 设置SDK

        进入项目后是这个样子的:

        有提示没有设置SDK,建立项目的时候不是设置了吗?是挺迷惑的,不过先不管了,点击后面的【Setup SDK】:

         选择【Android API.....】中的某一个,选完之后就没有这个提示了。

        如果此步做完后运行目标不是,那就是有问题啊。需要在项目设置里面重新设置:

         打开之后:

         重新设置之后应该变成了。

        这算是个坑吧。

2.4 连接手机

        首先要打开手机的开发者模式,操作方式一般是在【关于手机】【软件信息】【内核版本】上连续点击七次以上,然后用USB连接到电脑,允许USB调试。

        正确连接之后手机型号会出现在调试目标里面:

         我用的是三星A54。

2.5 编译

        此时工具栏上应该是这样的:

        第一个圈是编译,锤子图标,第二个是运行配置,这里显示的应该是机器人脑袋和【app】字样,表明是android App,第三个是已经连接的手机。

        点击锤子图标进行编译,可能需要自动下载很多东西,有些可能下载很慢,除了忍没别的办法,所以建议等几分钟如果进度太慢就先去吃个饭打个球呗。

        运气好的话回来就发现是这样了:

        因为我之前已经编译过了,所以这里显示的是10s,实际第一次编译了两个小时。

        吐槽一下:现在开发工具什么都在线下载,简直就是犯罪。

2.7 运行

        点击三角图标运行程序,点了之后又在build,要好一会。

         然后手机上程序就跑起来了:

         这就算大功告成。

三、理解项目目录,添点小功能

3.1 项目结构

         红圈那个文件是项目配置,AndroidManifest.xml,以后要添加权限就是在这个文件里面添加。

        红圈上面展开的三个文件:FirstFragment、MainActivity、SecondFragment是java代码,程序入口和两个页面。

        res/layout是界面的设计文件,图上打开的就是第一个界面对应的文件。

3.2 做出第一个修改

        打开FirstFragment.java,做出如下修改:

        在onCreateView添加一行:

        binding.textviewFirst.append("啊");

        然后重新编译运行程序:

        哈哈,代码效果已经看到了。

(这里是结束) 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「Verilog学习笔记」状态机-非重叠的序列检测

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 根据题意 定义一个五位的中间变量lock 每次始终上升沿来临时 判断当前寄存器的低四位新数据是否等于10111 如果等于 则下一时刻lock应被清空 否则lock等于当前的lock的低四…

【刷题笔记】两数之和II_二分法||二分查找||边界||符合思维方式

两数之和II_二分法||二分查找 1 题目描述 https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/ 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设…

相机标定张正友、opencv和halcon对比(1)

本文将从基本标定开始,结合实际工作经验,分析张正友、opencv和halcon三者相机标定的深层原理与不同之处,内容比较多,如果出现错误请指正。 相机光学模型 我们使用的镜头都是由多组镜片组成,它实际上是一种厚透镜模型…

企业微信应用文本消息

应用支持推送文本、图片、视频、文件、图文等类型,本篇主要实现发送应用文本消息。 获取企业凭证 发送应用消息首先需要获取调用凭证access_token,此处的凭证为企业凭证,可通过企业授权安装时返回的授权信息中获取access_token;之…

nexus 制品库管理

目录 一、nexus 介绍 二、nexus 支持的仓库 三、nexus 部署 四、nexus 数据备份 五、创建一个内网yum源 六、创建一个代理yum仓库 七、jenkins 使用 nexus插件 7.1 jenkins 安装插件 7.2 配置 maven 工程 7.3 查看构建和上传 一、nexus 介绍 Nexus 是一个强大的仓库管…

【重点文章】将Java程序打包成exe文件,无Java环境也可以运行(解决各种疑难杂症)

文章目录 一、将Java程序打成jar包二、将Jar打成exe三、加壳改造成安装包 编译器为IDEA 一、将Java程序打成jar包 2. 3. 你打的包一般会出现在根目录下面的out文件夹下面  当然你也可以用maven的package功能打包,效果是一样的   二、将Jar打成exe 使用工具e…

AD4209 双路LED、集成充电一体 可做双色温芯片调节 适用于台灯、手电筒

AD4209 是一款双路输出的可调色温的 台灯控制芯片,集成了锂电池充电管理模块、 LED 功能控制模块和保护模块,关机待机电流仅 3uA。 AD4209 为双路输出控制,每一路最大输出 电 流 为 1.2A 开 关 模 式 :CH1→CH2→CH1CH2→OFF。…

Qt MVC示例 simpletreemodel 树模型

Qt MVC示例 simpletreemodel 树模型 从文本中读取树模型数据&#xff0c;缩进代表子项 TreeItem 表示一行字符串数据 treeitem.h #ifndef TREEITEM_H #define TREEITEM_H#include <QList> #include <QVariant>//! [0] class TreeItem { public:explicit Tree…

EasyRecovery2024免费强大的电脑文件恢复软件

文件的保存一直是我们对电子化数据较为关注的一个环节&#xff0c;毕竟这是一份文件或数据的根本所在。但是在计算机操作中难免会出现有文件丢失或文件误删的现象&#xff0c;给我们的日常和工作带来不必要的困扰。 今天小编就要和大家分享一款功能超级强大的文件恢复软件&…

DCGAN 使用指南:将卷积神经网络和对抗网络结合,适用于生成小尺寸的图像

DCGAN 使用指南&#xff1a;将卷积神经网络和对抗网络结合 网络结构细节设计 论文地址&#xff1a;https://arxiv.org/abs/1511.06434 项目代码&#xff1a;https://github.com/tensorlayer/DCGAN.git DCGAN 适用于生成小尺寸的图像&#xff0c;并且具有简单易用的优势 Styl…

使用 Webshell 访问 SQL Server 主机并利用 SSRS

本文将指导您使用RDS SQL Server实例的主机账号登录和管理SQL Server Reporting Services&#xff08;SSRS&#xff09;数据库。 背景信息 RDS SQL Server提供Webshell功能&#xff0c;用户可以通过Web界面登录RDS SQL Server实例的操作系统。通过Webshell&#xff0c;用户可…

中国毫米波雷达产业分析3——毫米波雷达市场分析(1~3)

一、总体市场 &#xff08;一&#xff09;总规模 近几年&#xff0c;得益于汽车智能化的高速发展与雷达芯片制作工艺的进步&#xff0c;国内毫米波雷达整体市场增速较快。根据初步测算&#xff0c;2022年中国毫米波雷达市场总规模达到86亿元&#xff0c;实现同比增长24.6%。 图…

加密挖矿、AI发展刺激算力需求激增!去中心化算力时代已来临!

2009年1月3日&#xff0c;中本聪在芬兰赫尔辛基的一个小型服务器上挖出了比特币的创世区块&#xff0c;并获得了50BTC的出块奖励。自加密货币诞生第一天起&#xff0c;算力一直在行业扮演非常重要的角色。行业对算力的真实需求&#xff0c;也极大推动了芯片厂商的发展&#xff…

安装vmware_esxi 超详细

安装vmware_esxi 超详细 </h2><div id"cnblogs_post_body" class"blogpost-body blogpost-body-html">esxi安装手册 1、esxi介绍 ESXI原生架构模式的虚拟化技术&#xff0c;是不需要宿主操作系统的&#xff0c;它自己本身就是操作系统。因此…

Maven 进阶学习指南---setting详解

前言 当我们在开发项目时&#xff0c;有时需要用到外部依赖组件&#xff0c;例如当我们需要 Json 序列化的时候需要用到 FastJson 组件&#xff0c;我们可以通过下载对应 jar 包加载到项目中。但当一个大的项目同时需要依赖各种各样的外部服务&#xff0c;就存在着配置繁琐、依…

Ubuntu22.04 server版本关闭DHCP,手动设置ip

在Ubuntu 22.04 中&#xff0c;网络配置已迁移到 Netplan&#xff0c;因此可以使用 Netplan 配置文件来手动设置 IP 地址并关闭 DHCP。 以下是在 Ubuntu 22.04 上手动设置 IP 地址并禁用 DHCP 的步骤&#xff1a; 打开终端&#xff0c;使用 root 权限或 sudo 执行以下命令&…

004:Direct 2D离屏渲染(Qt中实现)

简介&#xff1a; 用QT开发图像显示的小程序&#xff0c;需要一些标注工具&#xff0c;由于用的是opengl渲染&#xff0c;所以就在内存中进行绘制&#xff0c;然后纹理贴图贴出去&#xff0c;发现Qt绘制的效果太差&#xff0c;且速度一般&#xff0c;于是就想着用direct2d来绘制…

48、Flink DataStream API 编程指南(3)- 完整版

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

【element-plus使用】el-select自定义样式、下拉框选项过长等问题解决

1、自定义样式 <template><el-select v-model"value" style"width: 150px"><el-option label"选项一" value"option1"></el-option><el-option label"选项二" value"option2"><…

C++ 抽象类和接口 详解

目录 0 引言1 抽象类2 接口2.1 Java与C接口的区别 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;C专栏&#x1f4a5; 标题&#xff1a;C 抽象类和接口 详解❣️ 寄语&#xff1a;书到用时方恨少&#xff0c;事非经过不知难&#xff01;&#x1f…