记录第一次开发android的学习心得

Android开发项目实践(集) 想想从接触安卓到现恰好一年嘞,而我也从当初对着代码一脸懵逼逐渐成了一名朴实的代码搬运工,再根据项目的需求东平西凑也是做出了些小项目。我拿这项目去参加过比赛获奖,在猪八戒上赚过零花钱,去面试的时候加过分。我们都知道学习和实践是分不开的,而拿不出像样的东西又真的会很尴尬!而这个暑假我恰好在一家公司做Android实习,感受到了在工作中学经验和在学校里自学的区别,因此我想把我的这些分享出来,将在公司里的 阅读详情


前言

刚毕业参加工作的新手小白,自学前端,实习三个月,做过一个Vue项目,结果工作要求学习安卓开发,无奈从零开始。本文仅仅只是记录自己的学习过程,大佬勿喷!


一、自定义View

老板为了给我们增加难度,要求我们用自定义view组件化开发的模式进行开发。方法如下:

1、编写自定义view的样式

在这里插入图片描述
随便写了一个样式。

2、在activity对应的页面引用

在这里插入图片描述

3、编写自定义view java文件

在这里插入图片描述
自定义view的java文件,需要继承layout样式里最外层的控件,本文是RelativeLayout。需要有一个创建实例化的对象,实现activity页面的调用,activity调用是俩个参数的TogglePositionView(Context context, AttributeSet attrs)。

自定义view里可以创建本样式所需的一些方法,方便activity去直接调用。

二、mvp框架

MVP算是android开发中常用的基础框架了,m便是数据层例如model、bean等。v是样式层,也就是样式对应的activity文件。p也就是presenter,也就是数据处理层,网络请求要在这里面发起。
在这里插入图片描述

1.contract

contract相当于是一个桥梁,连通了activity与presenter。如下是一个contract代码:
在这里插入图片描述
在contract里定义的方法。

2、activity里继承

在这里插入图片描述
在activity引用它。就会自动生成contract里对应的方法。

3、presenter里引用

在这里插入图片描述
在basePresent或者直接在内部实例化contract,俩种方法都可以实现。

通过这种方式,presenter就可以直接调用到activity里的方法,实现数据的交互。activity调用presenter可以直接实例化对象,进行调用。

三、retrofit2网络请求框架

1、封装网络发起请求设置

在这里插入图片描述
在这里插入图片描述
RetrofitClient主要对网络请求进行配置,例如请求头,请求时长、重连等。RetrofitConst存放的是网络请求的端口。

2、APIService

在这里插入图片描述
apiservice采用注解描述和配置网络请求参数,用动态代理将该接口的注解“翻译”成一个Http请求,最后执行Http请求。设置了发起请求的bean类与响应返回接收的bean类。

3、presenter里发起请求

在这里插入图片描述
注意发起请求的bean类一定要与apiService的bean类相同,接受的bean也是一样。当请求成功时会走onsuccess,请求失败或bean解析错误都会走onerror,请求结束时都会走onfinish。请求到数据后,可以用contract调用activity方法,传递数据。

四、后端数据返回数据不同的bean类接收解决方案

因为后端偷懒,所以直接把web端的接口给了我们(顺便想说,还是前端容易啊,没有bean类的日子太好过了),传递过来的数据的层级与key值都是不一样,这种难度,直接交给我一个小白来做,我好难。最后想到了一个简单的实现方式,就是把几个表单的数据都在bean类里定义,通过判断里面某一个区分的数据,进行不同的页面赋值,但是这种方式,缺点很多,以后如果新加表单,项目还需大改。而且四张表单的数据,我一个一个的核对,差点要了我的命啊。

五、360插件化框架

因为我们所负责的只是整个项目里的一部分。根据学习,发现这种插件化开发的实现方式是基于360插件化框架,具体使用请参考这个链接:https://blog.youkuaiyun.com/AlpinistWang/article/details/86773020

总结

在开发过程中,要记得注意代码的规范,否则,最后还要返回来改自己屎一样的代码,真的是头疼。本文只是记录了自己目前开发中大方向的难点问题,还有很多技术难点例如nfc、拍照、ocr等,等后续再记录吧。

经过这个项目,我大概算是入门了吧,未来需要掌握和学习的还有很多很多。之后我会继续记录自己的学习心得,记录自己的成长。唉,打工人好难,我还是念念不忘我的前端。

Android应用开发学习心得 在过去的几个月里,我深入学习了Android应用开发,并成功地撰写和发布了自己的Android应用。本文将分享我在Android应用开发中的一些学习心得,并提供一些编程思路和技巧,以帮助其他人更好地开始他们的Android应用开发之旅。希望这些学习心得可以对其他。另外,编写单元测试和集成测试可以确保应用的稳定性和质量,并提前发现潜在的问题。另外,优化图片资源的大小和格式可以减少应用的体积和加载时间。在Android开发中,可以将界面、逻辑和数据分离,使用合适的设计模式和封装技巧,使得代码更易于理解和维护。 阅读详情

相关推荐

安卓应用开发学习心得

学习Android应用程序的架构和组件:了解安卓应用程序的生命周期、活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)和内容提供者(ContentProvider)等关键组件。它们是应用程序的基础,需要深入了解。了解应用程序UI设计的基本原则,熟悉安卓应用程序的UI组件和布局管理,掌握如何使用XML和Java代码编写UI。实践项目:尝试着完成自己的小应用,例如益智游戏或工具应用,这些项目能够让你学习如何使用安卓应用程序架构、组件和UI设计来实现自己的构想。

weixin_68312902的博客 428

Android应用开发学习心得分享:从新手到应用开发者的成长之路

本文分享了我在Android应用开发学习过程中的心得和经验。首先,建立扎实的基础知识是成功的关键,包括掌握Java编程语言和XML布局语言。其次,深入学习Android开发框架和工具,如Android Studio、Android SDK和Gradle,可以提高开发效率。重要的一点是通过实践项目来提升自己的技能,从简单到复杂逐步提高。同时,阅读官方文档和参与开发者社区是获取宝贵资源和经验的途径。最后,持续学习和追求创新是在Android应用开发领域中不断进步的关键,要关注最新技术和趋势,并不断提升自己的开发

nuanshu520的博客 1033

DELPHI 安卓开发小手段

本文主要记录一些安卓开发时,使用的小功能,我称之为小手段,算是一个学习笔记吧,而本文中关于一些公共的功能,我仅在第一次需要时编写,后面将不再重复,比如动态权限申请之类的。{$ENDIF}目录前言如何调用手机震动功能申请震动权限建立震动函数调用震动函数如何调整手机音量如何关闭EDIT虚拟键盘动态控件属性修改无边窗体如何拖动。

1342

第一个开源的Android项目

一直都想在工作之余做一个开源的项目,哪怕是练手学习之用。 最近在找工作,面试官说我缺少Android项目,刚好借此机会,做了一个IM即时通讯的项目。 github链接地址:https://github.com/gong-shuang/andriod-open 项目介绍 这个是仿微信实现的,先看一下视频: https://www.ixigua.com/i673098374042...

gs344937933的专栏 531

安卓开发学习

onCreate() → onStart() → onResume() → (运行中) → onPause() → onStop() → onDestroy()→ (运行中) → onPause() → onStop() → onDestroyView() → onDestroy() → onDetach()往往我们在实际项目中使用到的屏幕分辨率,安卓不会自带所以需要我们自定义一个安卓的屏幕,然后去在电脑上虚拟测试,如我再项目中使用到的3840*720。

weixin_74344340的博客 774

安卓开发心得+简易记账本

Android作为新兴的手机操作系统,适应潮流的发展,在一定程度上迎合了现代人们最求效率和最求完美的心态,再加上的它的先进之处,所以 Android 的发展很快,Android 的应用资源也越来越广泛,现在的 Android 正在快速形成一个只能手机王国,给人们提供日常娱乐和办公的平台,无论在哪些方面,Android 的表现总是能够让人满意, 它正在快速地占领手机终端,未来的智能手机领域将是 Android 的天下,越来越多的人选用 Android平台的手机。最后,与其他开发者和社区保持联系也非常重要。

weixin_71777765的博客 1321

Android开发学习心得

(1). Android Studio:Android Studio 是由 Google 官方推出的 Android 应用开发集成开发环境,包括代码编辑器、调试器、版本控制系统等,是 Android 应用开发的主要工具。在 Android 应用开发中,有许多常见的开发模式,如 MVC、MVP、MVVM 等,需要了解它们的优缺点以及适用场景,选择最适合自己的开发模式。Android 应用开发的基本流程包括应用设计、UI 设计、数据存储、网络通信等,需要掌握这些基本流程,才能开发出高质量的应用。

m0_71821376的博客 601

100道测试工程师笔试的Linux笔试题及答案_网络安全工程师关于linux的笔试大题

47.Linux系统中,一般把命令 ls 定义为 ls --color 的别名,以便以不同颜色来标识不同类型的文件。但是,如何能够使用原先的ls命令?83.在xdm的配置目录中,哪个文件用来设置在用户通过xdm登录后自动起动的应用程序?45.你的系统使用增量备份策略,当需要恢复系统时,你需要按什么顺序恢复备份数据?84.命令 netstat -a 停了很长时间没有响应,这可能是哪里的问题?51.Linux中,提供TCP/IP包过滤功能的软件叫什么?88.TCP/IP中,哪个协议是用来进行IP自动分配的?

2401_84247760的博客 1054

【安卓Java原生开发学习记录】一、安卓开发环境的搭建与HelloWorld(详细图文解释)

1. 下载Android Studio安装包 2. 安装Android Studio 3. 初始化Android Studio 4. 创建一个HelloWorld项目

qq_38874164的博客 4775

Debian下Rust环境极速安装指南:国内镜像+避坑配置(附清华/中科大源对比)

本文详细介绍了在Debian系统上快速安装和配置Rust开发环境的完整指南。针对国内网络环境,重点对比评测了清华大学、中国科学技术大学等主流镜像源,提供了详细的安装配置步骤、Cargo优化技巧以及常见问题排查方案,帮助开发者显著提升依赖下载和编译效率。

s8t9u0v1w的博客 1161

在实战中学AI-车流量统计项目-YOLOV11车辆检测-YOLOV11模型的部署

考虑实际落地中部署推理资源消耗,速度与模型精度之间的均衡,同时,车辆属于比较通用场景的目标检测,我们将YOLOV11作为最终的模型选择,目前官方开源的模型基于coco数据集训练,里面已经包含了车辆相关类别,经测试,在监控视角下效果基本可用,所以,在落地过程中,我们先用这个模型来打通部署链路,后面再逐步优化模型性能。在Nvidia的硬件下做部署,部署框架优先选择官方框架TensorRT,下面重点讲述如何用TensorRT部署YOLOV11模型。

Aleo_优快云的博客 2167

Android详细开发教程,本文章将带你更深入的学习安卓开发

安卓开发是一项充满挑战和乐趣的技能,它可以让你创建各种类型的移动应用,从简单的工具到复杂的游戏,本文章将为你提供一个详细的学习路线,参考内容,应用场景,实用案例及代码示例,以及一些优秀的GitHub开源项目,帮助你深入掌握安卓开发!

HSX的博客 4720

【Matlab】从零开始掌握 MATLAB 安装激活:从环境搭建到问题解决全指南

打开 MATLAB,点击 “主页 - 设置路径”;点击 “添加文件夹”,选择自定义的工作文件夹,点击 “保存”,重启 MATLAB 生效。MATLAB R2024a 的安装与激活是开启 MATLAB 学习的第一步,也是构建稳定学习环境的基础。本文从安装前准备、分步操作、验证测试、问题解决到环境优化,完整覆盖了新手所需的所有知识点 —— 核心要点在于:确认系统兼容、使用合法授权、选择纯英文安装路径、完成功能验证。

unber的博客 596

Qt搭建安卓开发平台详细步骤

Qt搭建安卓开发平台详细步骤

Hard_Yao的博客 1万+

【Py/Java/C++/C/JS/Go六种语言OD独家2024E卷真题】20天拿下华为OD笔试之【固定滑窗】2024E-考勤信息【欧弟算法】全网注释最详细分类最全的华为OD真题题解

可上练习华子OD、大厂真题绿色聊天软件戳oj1441了解算法冲刺训练(备注【优快云】否则不通过)

weixin_48157259的博客 619

ROS2入门到精通—— ROS2实战专栏(实时更新)

Nav2专栏介绍

BigDavid123的博客 2369

qt6.6.0开发Android应用记录1

笔者尝试使用qt6.6.0的版本进行第一次Androd开发,记录一下学习步骤。上述的配置和运行,最终在安卓模拟器上运行成功,后续需要使用usb调试在真机上运行。

weixin_43889994的博客 4249

三菱FX5U气缸控制功能块(完整ST源代码+示例程序)

如果机器包含100个气缸,我们只需要修改数组的元素数量就可以了,效率非常的高。待续....博途PLC 面向对象系列之“双通气缸功能块“(SCL代码)_plc面向对象-优快云博客文章浏览阅读667次。本文介绍了博途PLC中面向对象编程的应用,重点讲解了双通气缸的功能块设计,包括双通电磁阀功能块、双通气缸的UDT数据类型以及SCL代码实现。同时,对比了双通与单通电磁阀的差异,并讨论了将单通气缸改造为双通气缸的方法,强调了双通气缸在安全性上的优势。

RXXW_Dor的博客 1028

Android开发学习心得体会

文章目录写在前面一、Android开发是什么?1.android开发面向那些应用?2. 现在移动应用开发得项目架构方式?3.怎么去尽快入门?初学者要搞清楚的问题?二、总结项目开发1. 此次项目开发过程中用到的技术总结如下 写在前面 先来总结总结一下最近的情况。从毕业到找到工作然后到入职前前后后用了不到半个月的时间。报道第一天,公司领导对我很热情,又是嘘寒问暖,有是问问自己做过哪些东西。再到第二天以至后来的半个月里,都是让我单独搭建一个公司的测试服务器,在上面安装好所需要的环境和软件工具以及做一些领导安排的

qq_32403043的博客 7180

cuRobo 入门教程(二)基于CUDA的机器人运动规划加速库

cuRobo是一款基于CUDA加速的机器人算法库,提供正向/逆向运动学、碰撞检测、数值优化等核心功能,支持在NVIDIA Jetson Orin等平台上实现毫秒级运动规划。该库创新性地采用并行轨迹优化技术,结合nvblox工具实现深度摄像头避障功能,并通过多层ESDF结构处理动态障碍物。性能测试显示,在RTX 6000 Ada显卡上可实现99.85%的成功率,平均规划时间仅39毫秒。cuRobo还提供Python API支持神经网络集成,并具备批量环境处理能力,特别适用于工业机器人应用场景。最新版本通过算法

2506_90492529的博客 1303

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

记录第一次完整安卓逆向过程笔记

文章目录前言一、安卓逆向的准备二、刷机+配置+安装app1.安卓系统版本2.手机root+面具安装3.xposed安装三.逆向app总结 前言 作为新时代爬虫er,逆向技能是必不可少的,在博主精心学习了几个月js逆向之后,又把矛头指向了安卓逆向,同为逆向,虽然相同点很多,都是不同点也不少,这里记录一下博主初学安卓逆向步入的几个大坑,和完整逆向的过程,希望能够帮助到安卓逆向新人,望周知!! 一、安卓逆向的准备 工欲善其事,必先利其器,这里给大家推荐一下我在本文中使用过的工具(都在网盘链接里,都给你们安排好.

Ig_thehao的博客 3521

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【Android】安装2025版AndroidStudio开发工具开发老安卓旧版App

为了开发老旧的安卓App,这里记录一下2025版AndroidStudio的安装过程,如果卸载以后,可以按照此文章的步骤顺利重新安装继续使用。

2092

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

记录开发一款安卓便签的过程

ps:初识安卓是在很久三年前高中第一次拥有了一部天语的ktouch2,然后开始了解root,刷机等等。直到今天进入大学选择了这个专业。因为之前给老师写过一个设备管理的app,发现自己有很多的不足。因此开博客记录自己重新学习安卓的过程。目前还是小白,之前写的应用都是本地端的。所以重新学习,包括编程规范以及包的分类等。记录自己所遇到的问题,希望有大神可以指正。 开发原因 希望慢慢的学习改善自己把东...

wenlxh的博客 5254

记录:Qt Creator 10配置安卓开发环境

Qt Creator 现在的安卓开发环境配置相比老版本方便了不少,本文以目前在线安装版的 Qt Creator 10.0.2 + Qt 5.15 / Qt 6.5 为例做演示(有些文件可能会因为网络问题需要科学上网才能下载)。

龚建波 7831

安卓开发记录(一)

计划开发一个名为timeTracker的安卓应用,用于记录手机软件使用时间和路径(如抖音、快手等),通过悬浮球手动标记使用行为,并生成任务清单。

2401_87473474的博客 981

开发安卓app游戏_我的第一次安卓app开发经历

从想做APP开发到今天差不多半年时间了,现在已经有3个APP发布在谷歌应用商店上面。是时候给自己做个总结了。本人想做app的想法是源于想找一个拨打电话的应用,能够显示相对较大的头像。我使用的安卓手机,所以所有的经验都是基于安卓的开发。经过搜索,我没有找到,大部分的快速联系人都是一般大小的图标,或者是联系人姓名。我就想能不能自己开发一个应用,能够显示大的头像,让视力不好的,比如老年人可以一眼认出联系...

weixin_39947396的博客 1443
下一篇: 【Android 技術點】
九个太阳_zhou
博客等级 码龄6年 2粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值