学习安卓APP开发,10年磨一剑,b4a/Android Studio

学习安卓APP开发
记得上次学APP都是在2016年前了,一晃就过去了10年。
当时用ANDROID studio打开一个空项目和编绎分别用了300秒,一下就用了10分钟。
后来买了一台一万多的电脑,CPU换成了I5 8600K 4.2GHZ*6核,再加上M2固态硬盘。
编绎时间从300秒变成了10秒,提高了30倍。
后面开发安卓APP反而搁置了,最近2年才想着重新学习APP开发,却一直没行动起来。

昨天开始弄了半天结果一直编绎失败,后面一检查发现SDK资源忘了下载,一个失误就弄的很辛苦。

然后早上6点多就开始起来学习了,边学边做教程,终于完成了第一个FTP客户端的小APP

---------------AI优化文章

重启Android开发之路:一位开发者的十年技术变迁

一、迟来的重逢

清晨6点的阳光透过窗帘缝隙洒在键盘上,当AS的编译进度条第一次完整跑通时,我突然意识到距离上次认真做Android开发已经整整十年。2016年的开发记忆依然鲜明——打开空项目要忍受5分钟的启动等待,每次编译都像参加300米自由泳比赛般漫长。那年咬牙购置的i5-8600K工作站,配合M2固态硬盘让编译时间从300秒骤降到10秒的惊艳体验,反而成了我搁置开发的讽刺注脚。

二、技术债的利息

重启学习的道路远比想象坎坷。昨日的开发首秀就遭遇当头棒喝:新建项目反复报错,检查三小时后才发现是SDK组件忘记下载。这个低级错误像极了十年前初次接触Android Studio时的笨拙,只不过现在的错误提示变成了全英文,Gradle版本号已经迭代到让我陌生的数字。那些曾经熟悉的API文档页面,如今都标注着"Deprecated"的黄色警告标签。

三、破晓时分的突破

在经历无数次Sync Failed后,我决定回归开发者最原始的快乐——从零构建一个FTP客户端。选择FileZilla作为协议参考,用Kotlin重写Java代码时,发现当年需要50行实现的文件列表解析,现在借助协程和扩展函数20行就能完成。当测试机成功连上局域网NAS时,晨光正好照亮手机屏幕上自制的进度条动画,这种久违的成就感让人想起2015年第一个Hello World跑通时的兴奋。

四、开发环境的世代更迭

对比今昔开发环境,恍若隔世。当年需要手动配置的NDK路径,现在Android Studio自动识别;记忆里要写半天的RecyclerView适配器,如今有ListAdapter简化处理;甚至连调试方式都从USB线升级到了无线调试。但不变的是解决BUG时的抓耳挠腮,是Stack Overflow上各路大神的奇妙解法,是每次点击Run时那份期待与忐忑交织的心情。

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

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

相关文章

调试技巧(vs2022 C语言)

调试之前首先要保证我们的脑袋是清晰的,我们调试的过程主要是看代码有没有按照我们的想法去运行调试最常使用的几个快捷键F5启动调试,经常用来直接跳到下一个断点处(F5通常和F9配合使用,打了断点按F5程序可以直接运行到断点处&…

MySQL深度理解-Innodb底层原理

1.MySQL的内部组件结构大体来说,MySQL可以分为Server层和存储引擎层两部分。2.Server层Server层主要包括连接器、查询缓存、分析器、优化器和执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数据和加密…

QFtp在切换目录、上传文件、下载文件、删除文件等一系列操作时,如何按照预期操作指令顺序执行

FTP服务初始化时,考虑到重连、以及commandFinished信号信号执行完成置m_bCmdFinished 为true; void ICore::connectFtpServer() {if(g_pFile nullptr){g_pFile new QFile;}if(g_pFtp){g_pFtp->state();g_pFtp->abort();g_pFtp->deleteLater();g_pFtp n…

JavaSE高级-02

文章目录1. 多线程1.1 创建线程的三种方式多线程的创建方式一:继承Thread类多线程的创建方式二:实现Runnable接口多线程的创建方式三:实现Callable接口三种线程的创建方式对比Thread的常用方法1.2 线程安全线程同步方式一:同步代码…

从舒适度提升到能耗降低再到安全保障,楼宇自控作用关键

在现代建筑的发展历程中,楼宇自动化控制系统(BAS)已从单纯的设备管理工具演变为集舒适度优化、能耗控制与安全保障于一体的核心技术。随着物联网和人工智能的深度应用,楼宇自控系统正以数据为纽带,重构人与建筑的关系。…

图像分类精度评价的方法——误差矩阵、总体精度、用户精度、生产者精度、Kappa 系数

本文详细介绍 “图像分类精度评价的方法”。 图像分类后,需要评估分类结果的准确性,以判断分类器的性能和结果的可靠性。 常涉及到下面几个概念(指标) 误差矩阵、总体精度、用户精度、生产者精度和 Kappa 系数。1. 误差矩阵&#…

【科普向-第一篇】数字钥匙生态全景:手机厂商、车厂与协议之争

目录 一、协议标准之争:谁制定规则,谁掌控入口 1.1 ICCE:中国车企主导的自主防线 1.2 ICCOA:手机厂商的生态突围 1.3 CCC:国际巨头的高端壁垒 1.4 协议对比 二、底层技术路线:成本与安全的博弈 2.1B…

dockerfile及docker常用操作

1: docker 编写 Dockerfile 是用于构建 Docker 镜像的文本文件,包含一系列指令和参数,用于定义镜像的构建过程 以下是关键要点: 一、基本结构 ‌FROM‌:必须作为第一条指令,指定基础镜像(如 FROM python:3.…

[vibe coding-lovable]lovable是不是ai界的复制忍者卡卡西?

在火影忍者的世界里,卡卡西也被称为复制忍者,因为大部分忍术都可以被其Copy! 截图提示:实现这个效果 -> 发给Lovalbe -> 生成的的效果如下,虽然不是1比1还原,但是这个效果也很惊艳。 这个交互设计,这个UI效果&am…

技术赋能安全:智慧工地构建城市建设新防线

城市建设的热潮中,工地安全始终是关乎生命与发展的核心议题。江西新余火灾等事故的沉痛教训,暴露了传统工地监管的诸多短板——流动焊机“行踪难觅”,无证动火作业屡禁不止,每一次监管缺位都可能引发灾难性后果。如今,…

Sublime Text 代码编辑器(Mac中文)

原文地址:Sublime Text Mac 代码编辑器 sublime text Mac一款轻量级的文本编辑器,拥有丰富的功能和插件。 它支持多种编程语言,包括C、Java、Python、Ruby等,可以帮助程序员快速编写代码。 Sublime Text的界面简洁、美观&#…

如何制定项目时间线,合理预计?

制定一份现实可行且行之有效的项目时间线,是一个系统性的分解、估算与排序过程,而非简单的日期罗列。核心步骤包括:明确项目范围与可交付成果、利用工作分解结构(WBS)进行任务拆解、科学估算各项任务的持续时间、识别并…

RSA详解

一、RSA 简介RSA 是一种公钥密码体制,由罗纳德・李维斯特(Ron Rivest)、阿迪・萨莫尔(Adi Shamir)和伦纳德・阿德曼(Leonard Adleman)于 1977 年提出,算法名称由他们三人姓氏的首字母…

Linux获取物理硬盘总容量

获取物理硬盘总容量: 1.查看单个硬盘: 使用 lsblk 或 fdisk -l (需要 sudo) 命令。它们会直接列出物理硬盘 (sda, nvme0n1 等) 和它们的分区,并显示硬盘的总物理容量。 abcd四块物理盘,只挂载使用3块,留一块未使用 最常见的原因通常是配置了热备盘(RAID 1/5/6/10 等冗余…

STM32学习笔记14-I2C硬件控制

I2C外设简介STM32内部集成了硬件I2C收发电路(硬件收发器:自动生产波形,自动翻转电平等),可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能,减轻CPU的负担——软件只需要写入控制…

电子电气架构 --- 软件开发数字化转型

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…

我国空间站首次应用专业领域 AI大模型

据中国载人航天工程办公室消息,北京时间2025年8月15日22时47分,经过约6.5小时的出舱活动,神舟二十号乘组航天员陈冬、陈中瑞、王杰密切协同,在空间站机械臂和地面科研人员的配合支持下,圆满完成既定任务,出…

WPF真入门教程35--手搓WPF出真汁【蜀味正道CS版】

1、项目介绍 本项目采用多层架构设计,使用wpf,Panuon.UI.Silver控件库,AduSkin皮肤,MVVM等技术开发具有复杂交互和视觉效果的CS应用程序。WPF适用于企业级桌面应用:如ERP、CRM系统,需复杂表单和报表。WPF适…

JMeter与大模型融合应用之构建AI智能体:评审性能测试脚本

JMeter与大模型融合应用之构建AI智能体:评审性能测试脚本 一、引言 随着DevOps和持续测试的普及,性能测试已成为软件开发生命周期中不可或缺的环节。Apache JMeter作为最流行的开源性能测试工具之一,被广泛应用于各种性能测试场景。然而&…

K8s 和 Docker的区别

一、各自诞生背景——为什么需要两个东西Docker(2013,Docker Inc.) • 目的:解决“我的代码在你机器跑不起来”的经典环境问题。 • 做法:用 Linux 内核的 cgroup/namespace 做轻量隔离,把“应用 依赖”打…