重构是啥对软件内部结构的调整,在不改变软件行为的前提下,提高可理解性,降低修改成本。重构的目的:更易于理解、修改,对其外部行为几乎不造成影响。两种不同行为:添加新功能与重构添加新功能和重构,两者不能同时进行。添加新功能时只管添加新功能、重构时只管重构。为何重构简单来说重构可以帮助我们更好的改进程序的内部结构,使代码更容易理解,可以帮助修改bug,可以提高编程速度何时重构重构是因为你想做别的什么事,
转载
2023-07-21 10:50:24
80阅读
1.代码重构android:singleLine=”true”过时解决方法:使用android:maxLines=”1”代替(后来经证实,这个方法有坑,android:maxLines只能保证所有内容在只显示一行,但是任然可以换行输入)在给TextView赋值时非Stringl类型的值使用”+”进行字符串拼接例如:tvCount.setText(detail.getCount+”“)这样的代码会出
转载
2023-07-10 23:51:40
107阅读
在上次,我思考了关于结构方面的Android项目重构之路:架构篇 读后思考,那么这次,我在读了Android项目重构之路:实现篇之后,也有了新的收获由于现在所在的公司比较小,android studio是没有使用的,不过在看着那篇文章之后,对于其中的模块原理有了一个基础的了解,原本对于网上分享的一些在android studio项目中界面特效的代码我是无法一下子理解的,现在,我理解了,一边实践一边
转载
2023-06-29 21:31:49
2阅读
1、配置改变时,会导致Activity被杀死并且重新创建,那么我们要如何避免该情况的发生?第一种解决思路:设置配置文件中Activity的configChanges属性。 我们可在AndroidManifest.xml中对应的Activity中设置android:configChanges="orientation|screenSize"。再次
转载
2024-01-10 20:43:58
11阅读
我们都知道,技术是优质产品的必要条件,要满足用户不断变化的需求,必须有弹性的技术实现框架;android开发平台正是提供给开发者一个清晰且有弹性的架构,正如我们在eclipse开发环境中心建一个android开发项目时,生成的不同文件夹,如src是存放源代码的目录,res是存放资源的目录,这就是为了单纯化界面修改模式,将界面描述部分的程序代码,抽取到程序外部的xml说明文件中。简而言之,即jav
转载
2023-07-27 22:13:43
167阅读
开头在一般的互联网公司的技术人员的面试中,大概会经历3到4轮的面试,差不多2-3轮的技术面,还有1轮的HR面试,有人面试题是有关“目标”,有的关于“方法”,有的关于“算法”,有的关于“基础”。在小编看来,面试是找工作的第一道难关,原本以为面试都会问很难的问题,如果是更好的公司,可能问的问题越难。组件化1.1 组件化初衷APP版本不断的迭代,新功能的不断增加,业务也会变的越来越复杂,维护成本高。业务
转载
2024-01-04 15:32:14
18阅读
重构这个话题是老生常谈的了,当项目大的,没有重构,就会导致复制粘贴的情况。保持一个良好的编码习惯和一个写文档的习惯相当重要。
什么是重构?
重构是在保证不改变外部行为的前提下,对内部结构进行改变,使之易于修改和理解。 ——————Martin Fowler
换句话说,重构就是保证我们的程序对于外部使用者来说是一致的,但是内部的代码做了优化。
为何要重构?
这个问题其实很简单,就是代码写的不好。
转载
2021-06-12 19:11:22
758阅读
## Android重构Gradle流程
在进行Android项目开发过程中,我们经常需要对Gradle进行重构来满足需求的变化和优化项目结构。本文将介绍重构Gradle的流程,并提供每一步需要执行的代码示例。
### 1. 确定重构目标
在开始重构之前,我们需要先确定重构的目标是什么,比如优化构建速度、引入新的库或插件等。
### 2. 分析当前项目结构
在进行重构之前,我们需要了解当
原创
2023-11-18 06:31:59
45阅读
对于android开发,实际上大部分工作都是在应用层,但为了体现"技术含量",以及"知其所以然",以便在遇到问题是不至于束手无策。因此有必要了解底层的工作机制。由于android是开源的系统,因此学习其内部的工作机制是非常容易的,目前也有一些关于android源码分析的书籍。我一直认为,应用层的开发和底层没什么太大的关系,不过有一次因为应用权限的问题,也算是对android framework层有
前言先简单交代一下背景吧,本人毕业于某不知名985的本硕,17年毕业加入阿里,今年下半年跳槽到了头条,一直从事后端研发相关的工作。之前没有实习经历,算是两年半的工作经验吧。这两年半之间完成了一次晋升,换了一家公司,有过开心满足的时光,也有过迷茫挣扎的日子,不过还算顺利地从一只职场小菜鸟转变为了一名资深划水员。在这个过程中,总结出了一些还算实用的划水经验,有些是自己领悟到的,有些是跟别人交流学到的,
转载
2024-01-31 06:28:39
33阅读
转载
2023-12-26 15:38:37
68阅读
在Android的技术发展过程中,Jetpack和AndroidX的引入为开发者提供了更好的功能支持和更清晰的架构设计。然而,许多开发者在项目中仍然使用旧版支持库,造成了在重构过程中遇到各种问题。本文着重记录了“Android重构到AndroidX”过程中的重要经验与教训,介绍了背景定位、核心维度、特性拆解、实战对比、深度原理和选型指南等内容。
## 背景定位
自Android系统发布以来,各
# Android Studio 项目重构教程
欢迎来到 Android 开发者的世界!在这里,我会教你如何使用 Android Studio 进行项目重构。作为一名经验丰富的开发者,我会一步一步地引导你完成整个流程。首先,我们来看一下整件事情的流程:
## Android Studio 项目重构流程
```mermaid
pie
title Android Studio 项目重构流程
"准
原创
2024-03-07 04:42:16
250阅读
Fragment必须被嵌入Activity中使用,因此虽然Fragment也拥有自己的生命周期,但是会受它所在的生命周期的控制,例如,当Activity暂停时,其当中的所有的Fragment都会被暂停,Activity销毁时,其中所有的Fragment也会被销毁。只有当Activity处于活动状态时,程序员才可以通过独立的方法操作Fragment。特征: 1.Fragment总是作为Acti
转载
2024-10-21 17:16:59
15阅读
什麼是重構可以運作的程式跟可以維護的程式之間,還有一道難以言說的鴻溝。一個程式設計之初,是用來解決特定問題。就像在段程式被寫出來,之後我們所要做
原创
2022-11-04 16:52:16
186阅读
前言:从个人经历来说的话,从事APP开发这么多年来,所接触的APP的体积变得越来越大,业务的也变得越来越复杂,总来来说只有一句话:这是一个APP臃肿的时代!所以为了告别APP臃肿的时代,让我们进入一个U盘时代,每个业务模块都是一个具备独立运行的盘,插在哪里都可以完美运行,这就是推进业务组件的初衷也是一个美好的愿景。需求背景:随着公司的快速发展,版本不断的迭代,业务变得也越来越复杂,业务模块的数量有
# Android老项目重构
## 引言
随着技术的快速发展,Android应用的开发也变得越来越迅速。然而,随着时间的推移,一些老的Android项目开始显现出一些问题,比如代码质量低下、性能瓶颈、难以维护等等。重构是解决这些问题的一种有效手段,本文将介绍如何对Android老项目进行重构,并给出一些示例代码来帮助读者更好地理解。
## 什么是重构
"重构"是指在不改变代码外部行为的情况下对
原创
2024-01-03 11:25:00
182阅读
本人Android实际开发工作经验3年,新加入一家互联网公司负责项目重构,用户100W+,app已经迭代开发2年之久,存在代码结构不清醒,业务逻辑混乱,命名不规范,所以进行项目重构,重构是一个不断完善的过程,这是我前期根据项目需求定的一个框架,新手很多不足,希望多多指教哈! 工程介绍:1:项目业务集成基于mvp+proxy结构2:大部分模块含有core为当前模块核心结构2:除以下模块还有en
在我这几年的学习和成长中,慢慢的意识到搭建一个优秀的 Android 开发框架是一件非常困难以及痛苦的事情,它不仅需要满足不断增长的业务需求,还要保证框架自身的整洁与扩展性,这让事情变得非常有挑战,但我们必须这样做,因为健壮的 Android 开发框架是一款优秀APP的基础。Why do I need a framework?在我们开发的初期往往并不需要什么框架,因为 Android Framew
转载
2023-10-16 11:38:23
57阅读
上一节我们已经搭建好了本地的Gitlab的代码托管平台。在创建好将要开发的项目后,我们选择是否配置项目CI(Continuous integration 持续集成)。了解CICI与敏捷开发首先,持续集成并不是为了敏捷开发而发明的,或者说本意并不是如此。早在敏捷开发形成思路之前,持续开发就被作为最佳实践(best practice)而运用到对产品质量的监控中了。项目中一般都需要定期的对产品质量进行监
转载
2023-06-29 17:45:55
99阅读