android的项目,简单的安卓项目
Android多项目打包之路
因为公司开发的APP大多给B端用户使用,不同项目都多多少少会有一些定制化的修改,例如
创新互联云计算的互联网服务提供商,拥有超过13年的服务器租用、成都棕树电信机房、云服务器、虚拟空间、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、虚拟空间、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
APP名称、logo、部分页面布局,服务器地址等,所有针对每个项目都需要单独打包。一步步下来也经过了四个阶段:
第一阶段:按项目直接修改
如果项目1需要修改服务器地址和APP名称,那就拉个分支直接修改完打包
如果项目2要修改APP的部分页面和logo,那就再拉个分支修改
问题:
随着项目增多,修改越来越多,分支越来越多,维护难度很大
第二阶段:共用一个分支,包含各个项目的修改
针对资源和部分页面逻辑的定制化,按项目进行不同处理,app的build.gradle部分如下
'''
sourceSets {
'''
问题:
服务器地址、企业标识码等虽然独立于功能之外,还是要单独拉分支修改,项目较多时,重复工作依然较多
第三阶段:抽取企业标识码、服务器地址、相关的key(地图key、推送key)等做成公共变量
这样就可以将所有项目配置信息保存下来,如果有新的项目需要打包,也只需增加配置信息就可以直接打包了
第四阶段:项目配置信息放到公有云服务器,通过企业表示码获取项目配置信息
公有云后台保存各个私有云的配置信息,包括企业标识码、服务器地址、应用名称等
然后APP输入企业标识码后去公有云获取项目的配置信息,然后再在app里设置项目信息,后续逻辑就直接连项目相关的服务器了。
这样就基本能一包通用了,改地址、名称等基本的信息就不用重新打包了
Android开发项目过程是怎样
第一步,先打开eclipse。打开后的界面如如图所示,学过java的人肯定都熟悉这个编程环境,没学过java的请先去学习java,因为android使用的是java的语法。
点击左上角的filenewandroid application project , 以此开始新建一个android项目。
点击新建后悔出现如下所示的窗口。第一个红框是让你写你应用的名字,就是软件的名字;第二个红框是写这个项目的名字;第三个红框是写java代码包的名字。第四个大的红框是让你选择你要新建的android项目的一些信息,开发的sdk版本和面向的android版本和使用的主题。完成后,点击NEXT。
这个窗口是在询问你是不是创建一个自定义图标的软件,是否要创建activity等。完成后,点击NEXT
这个窗口允许你更换你软件的图标。和其它的一些信息。完成后,点击NEXT
这个窗口让你选择一种你软件activity要使用的样式。完成后,点击NEXT
这个窗口让你输入你想要的activity的名字和你想要的layout的名字。完成后,点击NEXT
好了一切设置好惦记finish后悔出现如下所示的窗口,最左侧是你项目的分层结构等信息,左上角大部分显示的是软件当前默认的layout和操作layout的工具栏等。到此为止,你已经成功的创建了一个android项目。
机友分享 | 导入机智云Android开源项目的正确姿势
以下文章来源于小雨编程 ,作者小雨tt
“使用机智云AIoT平台支持项目自生成APP源码,即可轻松解决Android开源项目啦,”开发者下载源码后,只需要优化UI和设计设备控制界面控制逻辑,源码的控制页面编写了机智云SDK控制设备的标准流程,APP源码二次开发过程中只需按照该流程进行相关代码的优化即可快速完成针对自身产品的智能控制APP。
因此只要我们将源码工程文件成功导入Android Studio,那么我们便可以自由定制我们的应用程序,那么如何正确导入到Android Studio中,编译成功并在真机上运行呢?
01下载项目
在机智云官网,我们定义好数据点后,在服务-应用开发子菜单中,下载工程文件。
机智云APP代码自动生成服务介绍:
02方法
由于本地环境与开源工程文件中不同,理论上我们把开源工程文件中的环境修改成和我们本地相同的就可以顺利导入了。
为了正确修改开源工程配置文件,我们可以新建一个本地工程文件夹,对照参考。
第一步
修改根目录下的build.gradle文件
将开源工程项目中的build.gradle与本地工程保持一致。
第二步
修改gradle/wrapper文件夹里gradle-wrapper.properties配置文件
将distributionUrl中的gradle版本保持与本地项目一致;
第三步
我们再修改app目录下的build.gradle文件
这时候开源项目与我们的本地项目区别就有点大了,我们只需择其重点进行修改
将机智云版 本的 compileSdkVersion , buildToolsVersion , minSdkVersion , targetSdkVersion 与本地保持一致;这里由于自2018年底开始Android已经抛弃了 compile ,所以这里我们需要将 compile 换成 implementation ,同时将 com.android.support:design , com.android.support:appcompat 换成与本地版本相一致的28.0.0版本
下面是修改之后的版本:
第四步
导入项目再配置
打开AndroidStudio修改 基本的配置参数已经修改的差不多了,这时我们导入项目试一试,打开Android Studio欢迎界面,点击Open an existing Android Studio project;
在工程界面工具栏,点击编译按钮,这时候可能还会 报 一些小错误,比如:
它表示最小开发版本不需要在清单文件中解释,我们只需点击蓝色下划线,跳转到如下界面。
点击方框内容,打开清单文件
删除改行,再Try Again重新同步一下gradle工程。
第五步
修改部分过时的函数
点击小锤子重新编译一下工程,此时仍会报如下错误:
这里报错(找不到符号变量 MAXRIX_SAVE_FLAG ) 这是因为我们的sdk版本较高,新的sdk已经对之前老版本里的方法进行了修改,调用 canvas.save(Canvas.CLIP_SAVE_FLAG) ;方法编译器报错,我们只需要 save() 方法里的参数删除即可,直接调用 canvas.save() 方法就编译通过了。
此时,我们的APP已经可以运行啦!
end..
这篇教程是以使用机智云AIoT平台的源码为例,如何正确的编译项目。其实对于大多数网上的Android开源项目都可以用这种方法来导入。
错过了#秋天的第一杯奶茶,那我们一起来敲代码吧
今日份推荐,安排加购鸭..
中移Cat.1 4G DTU模组ML302-GC211支持OTA免开发快速接入机智云
彻底理解Android架构,打造一个令人眼前一亮的项目架构
架构究竟是什么?如何更好的理解架构?
我们知道一个APP通常是由class组成,而这些class之间如何组合,相互之间又如何产生作用,就是影响这个APP的关键点。
细分的话我们可以将其分为类、接口、任务流。
我们在进行架构设计的时候,通常具有一定的目的性,用一句话来概括就是: 架构设计的真正目的是为了解决软件系统的复杂度带来的问题, 所谓高性能、高可用、高扩展。
我们将其大致可以分为:易扩展、易维护、可定制、可伸缩
现在我们在进行设计的时候,一般都会有要求 高内聚、低耦合 ,以此来保证APP的高质量
为了方便大家理解,这边举个栗子:
低内聚,高耦合:
高内聚,低耦合:
大家觉得谁更好维护?更容易调整?出错了更容易排查?
我们在架构设计中最本质的目的就是管理复杂度,你听过的各种思想、原则、方法大多都是为了控制复杂度而设计出来的。
像依赖注入就是项目组件解耦中非常重要的一个手段,Dagger2 和 Hilt 都是在 Android 中最主要的依赖注入框架。
依赖注入其实并不是一个很神秘的概念,往往在不经意间我们就使用了依赖注入。依赖注入应用了IOC控制反转的原理,简单来说就是在类的外部构造依赖项,使用构造器或者 setter 注入。
使用依赖注入可以为我们带来什么好处呢?
我们都知道Dagger是一个早期的依赖注入库,但确实不好用,需要配置很多东西。虽然它能很好帮我们解耦各个模块之间的强关联性,提高项目的健壮性。但其却以羞涩难懂、难用而闻名,吓退了很多的开发者。
Hilt是 Dagger2 的二次封装, Hilt 本质上是对 Dagger 进行场景化 。是一个功能强大且用法简单的依赖注入框架,同时也可以说是近期 Jetpack 家族中最重要的一名新成员。但Hilt涉及的知识点也是相当繁多,即使它将 Dagger2 的用法进行了大幅的简化,如果你之前对于依赖注入完全没有了解,直接上手 Hilt 还是会有不少的困难。
在这里问大家几个问题,看看能不能回答上来:
说了这么多,那么我们如何学习Hilt,将IOC技术融入进我们的架构设计中呢?
为了帮助大家站在高级工程师的角度,深度理解IOC技术在移动端的实战应用,同时掌握移动端流行IOC框架Hilt与Dagger2的实战应用与实现原理。
在这里分享一份由大佬亲自收录整理的 学习PDF+架构视频+面试文档+源码笔记 , 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料
这些都是我现在闲暇时还会反复翻阅的精品资料。里面对近几年的大厂面试高频知识点都有详细的讲解。相信可以有效地帮助大家掌握知识、理解原理,帮助大家在未来取得一份不错的答卷。
当然,你也可以拿去查漏补缺,提升自身的竞争力。
真心希望可以帮助到大家,Android路漫漫,共勉!
如果你有需要的话,只需 私信我【进阶】即可获取
文章标题:android的项目,简单的安卓项目
文章链接:http://scyanting.com/article/dseespg.html