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

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

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

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

目录

一、下载安装IDEA

二、新建android项目

[2.1 坑](#2.1 坑)

[2.2 新建项目](#2.2 新建项目)

[2.3 设置SDK](#2.3 设置SDK)

[2.4 连接手机](#2.4 连接手机)

[2.5 编译](#2.5 编译)

[2.7 运行](#2.7 运行)

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

[3.1 项目结构](#3.1 项目结构)

[3.2 做出第一个修改](#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添加一行:

java 复制代码
        binding.textviewFirst.append("啊");

然后重新编译运行程序:

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

(这里是结束)

相关推荐
014-code34 分钟前
布隆过滤器:判断“可能存在“和“一定不存在“
java·redis
兔小盈36 分钟前
多线程篇-(二)线程创建、中断与终止
java·开发语言·多线程
jnrjian40 分钟前
Library Cache Load Lock library cache pins are replaced by mutexes
java·后端·spring
abcnull1 小时前
传统的JavaWeb项目Demo快速学习!
java·servlet·elementui·vue·javaweb
risc1234561 小时前
【lucene】PostingsEnum跟TermsEnum 的区别是啥?
java·lucene
aqi001 小时前
一文读懂 HarmonyOS 6.1 带来的十大重要升级
android·华为·harmonyos·鸿蒙·harmony
小江的记录本1 小时前
【Kafka核心】Kafka高性能的四大核心支柱:零拷贝、批量发送、页缓存、压缩
java·数据库·分布式·后端·缓存·kafka·rabbitmq
SamDeepThinking1 小时前
程序员过35岁之前,应该完成的三件事
java·后端·程序员
大数据三康2 小时前
Java字符统计:从输入到输出的完整解析
java·学习·循环结构