![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安卓
文章平均质量分 59
QY’UniverseSpace
这是思维的乐园,火花的生源地
展开
-
API规范
接口规范,前后端交互规范原创 2022-07-19 17:08:17 · 526 阅读 · 0 评论 -
android之开源图片加载框架
android,图片加载原创 2022-07-19 17:03:08 · 554 阅读 · 0 评论 -
Tomcat部署APK程序步骤
APK发布Tomcat发布apk原创 2022-05-27 14:00:26 · 522 阅读 · 0 评论 -
Android shrinkResources 问题
一、shrinkResources 作用android {buildTypes {debug {minifyEnabled falseshrinkResources false}release {minifyEnabled trueshrinkResources true}}}shrinkResources = true作用是删除无用的Resource,是与minifyEnabled 一起使用,minifyEnabled =true是开启混淆。二、使用shrinkResource原创 2021-09-10 17:51:02 · 1515 阅读 · 0 评论 -
Sonatype Nexus Maven仓库搭建和管理
安装从 http://www.sonatype.org/nexus/ 下载最新的 Nexus 压缩包, 现在已经不提供war包的下载解压到服务器目录, 例如我是放到/opt/nexus 目录下, 如果不打算用root用户启动服务, chown到相应的用户注: 如果有点强迫症, 不想chown整个目录, 至少要chown以下目录的权限:/opt/nexus/sonatype-work/nexus/opt/nexus/nexus-2.11.1-01/logs/opt/nexus/nexu翻译 2021-09-08 17:49:41 · 725 阅读 · 0 评论 -
android如何统一aar/jar/moudle中引用依赖库版本不一致的问题
我们在做Android项目开发过程中,经常会遇到这种情况,我们需要引入的aar、jar等所依赖的第三方依赖库与我们本地的依赖库的版本号不一致,造成我们项目编译失败,遇到这种情况时,我们只需要在module下的build.gradle文件中添加如下代码即可,它不包含在android{}标签中,而是和android{}及dependencies{}两个标签同级,内容如下:// aar、jar及项目中统一使用下面的引用configurations.all {resolutionStrategy {forc翻译 2021-09-08 17:37:37 · 1276 阅读 · 0 评论 -
android studio找不到aar问题解决
引入aar步骤1.将aar文件复制在lib目录下2.在该module下的build.gradle文件里加入如下代码:android {…repositories {flatDir {dirs ‘libs’}}}3.在 该module下的build.gradle 添加 dependenciesimplementation(name: ‘name-of-aar’, ext: ‘aar’)假如是把 aar 文件放在 Library 的 Module 中,会造成引用该 Module 的其他翻译 2021-09-06 16:39:53 · 1847 阅读 · 0 评论 -
Android--数据库GreenDao使用基础篇
一、简介greenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单、更方便。如下图所示:Github地址:https://github.com/greenrobot/greenDAO推荐博文:https://www.jianshu.com/p/53083f782ea2GreenDao 优点:1.性能高,号称Android最快的关系型数据库2.内存占用小3.库文件比较小,小于100K,编译时间低,而且可以避免65K方法限翻译 2021-07-25 19:17:36 · 959 阅读 · 0 评论 -
Android隐藏桌面图标实现
Android 10 及以上版本,暂未找到好的方案,原因如下:Android 10 及以上版本系统限制了在启动器中隐藏应用图标的功能。可隐藏图标的满足条件如下:系统应用,即使是更新后的应用。托管式配置文件管理应用(工作资料所有者)。未请求任何权限。不包含任何组件(例如,Activity、内容提供程序、广播接收器和服务)。像去掉无法安装启动程序,换成也无济于事。Android 10 以下系统版本可行方案:<category android:name=“androi原创 2021-07-22 10:11:03 · 2822 阅读 · 1 评论 -
Android签名验证漏洞POC及验证
poc实际上就是一段漏洞利用代码,以下是最近炒得很火Android签名验证漏洞POC,来自https://gist.github.com/poliva/36b0795ab79ad6f14fd81 #!/bin/bash2 # PoC for Android bug 8219321 by @pof3 # +info: https://jira.cyanogenmod.org/browse/CYAN-16024 if [ -z $1 ]; then echo “Usage: $0 <file.ap翻译 2021-07-07 16:42:35 · 923 阅读 · 0 评论 -
com.esri.arcgis.android:arcgis-android:10.2.9-100.x资料库
ArcGIS SDK——Android v10.2.9~v100.1.0官方开发包,附带pdf文档说明,详细实用。链接:https://download.csdn.net/download/qq_26280383/18804181原创 2021-05-17 14:59:03 · 216 阅读 · 0 评论 -
Android - 解决软件弹窗遮盖View的问题
页面实现接口implements IkeyBoardCallback,详细资料见结尾注记。初始化:@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_xx); getWindow().setSoftInputMode(WindowManager.LayoutP原创 2021-04-23 18:09:11 · 381 阅读 · 0 评论 -
设置View渐隐渐显
private static AlphaAnimation mHideAnimation = null;private static AlphaAnimation mShowAnimation = null;private static final long ANIM_DURATION = 999;private static final long CLOSE_DURATION = 1500;/** * View渐隐动画效果 */public static void setHideAnim.原创 2021-04-23 17:54:35 · 243 阅读 · 0 评论 -
Android自定义TextView实现必填项前面的*号
首先新建一个类继承TextView,然后重写setText,代码如下: @Override public void setText(CharSequence text, BufferType type) { Spannable span = new SpannableString("*" + text); span.setSpan(new ForegroundColorSpan(Color.RED), 0, 1, Spannable.SPAN_EXCLUSI...原创 2021-03-31 09:11:17 · 1150 阅读 · 0 评论 -
Android APP更新下载,实现Notification通知栏进度通知,下载完成后点击安装
简单做一个APP检测更新的小工具,有点粗糙。不能断点续传,只用为个人觉得没有必要,自己可根据大家的想法添加更多的功能,这里只是为了想我一样的初学者和比较简约的人所提供。效果如下:基本思路先理一理,以我的实际开发为例:首先当然要一个网络去请求我们的服务器,获得仓库中的apk版本信息和下载路径,在和自己当前的版本号进行比较,当自己的版本号小于仓库中的版本号,就提示用户下载,在根据更新等级进行下载强度操作(是否强制下载还是什么的)。在下的时候监听文件下载的Progress 来更...翻译 2021-03-22 09:47:15 · 1773 阅读 · 0 评论 -
Android运行时报错:com.android.builder.dexing.DexArchiveBuilderException
解决方案一:在项目的build.gradle里面的android里面添加这个依赖:compileOptions { targetCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8}解决方案二:在项目的 build.gradle 文件中android下面的 defaultConfig 配置中添加配置:multiDexEnabled true解决方...原创 2021-03-19 15:07:05 · 954 阅读 · 2 评论 -
常用的正则表达式方法
1、邮箱const EMAIL = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/function validatePhone(str) { const regex = new RegExp(PHONE) return regex.test(str)}2、手机号码const PHONE = /^134[0-8]\d{7}$|^13[^4]\d{8}$|^14[5-9]\d{8}$|^1...原创 2021-03-18 17:21:02 · 125 阅读 · 0 评论 -
解决Android studio每次打开新项目build-gradle问题
在做Android项目的时候,经常遇到的一个问题就是打开一个新的项目然后就各种下载gradle,解决Google库编译加载问题.在build.gradle文件中修改为如下语句:maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } //gradle 国内镜像仓maven { url 'https://maven.aliyun.com/repository/google' } //google 国内镜像仓maven { u原创 2021-03-18 17:18:04 · 1748 阅读 · 0 评论 -
Android 加密解密的几种方式总结
经常使用加密算法:DES、3DES、RC4、AES,RSA等;对称加密:des,3des,aes非对称加密:rsa不可逆加密:md5加密模式:ECB、CBC、CFB、OFB等;填充模式:NoPadding、PKCS1Padding、PKCS5Padding、PKCS7Padding一、几种方式的加密和解密(Base64,RSA,DES,AES)实现类 MainActivity public class HomeActivity extends AppCompat.原创 2021-03-18 16:32:37 · 948 阅读 · 1 评论 -
告别XML,使用Compose Theme为你的app轻松换皮
1. Compose挑战赛第三周关注过我前面文章的朋友应该对最近举行的Compose挑战赛有所了解,本周挑战赛进入到第三轮。#AndroidDevChallenge Week 3与前两轮规则不同,本轮主要是比拼速度。只有第一个按要求完成并提交的人能胜出,奖品是Pixel 5手机一台。题目要求基于Compose完成以下三个页面,Google会提供完成页面必须的一些资源以及视觉设计稿。题目本身难度不高,主要是拼手速。自从结婚后老夫的手速退化严重,top1出线就不指望了,但本着重在参与的精神仍然坚持完成翻译 2021-03-17 09:25:52 · 449 阅读 · 0 评论 -
自动换行的Textview,自定义view
package com...view;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Paint;import android.text.TextUtils;import android.util.AttributeSet;import android.widget.TextView;@SuppressLint("AppCompatCustomVie.原创 2021-03-16 09:36:48 · 142 阅读 · 0 评论 -
判断是否快速点击事件
private static long lastClickTime;// 两次点击间隔不能少于1000msprivate static final int FAST_CLICK_DELAY_TIME = 1500;/** * 是否连续点击 */public static boolean isFastClick() { long currentTime = System.currentTimeMillis();//当前时间 long timeInterval = currentTi.原创 2021-03-16 09:21:46 · 210 阅读 · 0 评论 -
权限适配工具类,自定义封装
package com...;import android.app.Activity;import android.content.pm.PackageManager;import android.support.v4.app.ActivityCompat;import android.support.v4.content.ContextCompat;import java.util.ArrayList;/** * 权限申请 */public class PermissionUti.原创 2021-03-16 09:29:36 · 85 阅读 · 0 评论 -
Android小项目——新闻APP
前言:在公司学习了一段时间Android知识,决定做一个小项目,目的是学会运用所学的基础知识,在这里记录一下开发历程,大家可以把它看成一款入门级练手的 Demo 应用吧~项目概述:类型:新闻APP(低仿今日头条)基本功能:欢迎页面加载(3s,点击可跳过)——Activity相关用户注册/登录 ——SQLite运用横向滑动列表显示新闻类别——TabLayout、ViewPager、FragmentPagerAdapter的应用底部菜单栏 切换——Fragment运用–-主页(.翻译 2021-03-04 17:32:21 · 3484 阅读 · 4 评论 -
使用AndroidStudio开发一个简易的音乐播放器
一、软件成品展现:1.登录首页界面2.在线音乐界面3.播放界面4.系统提示与跳转界面4.退出提示界面二、编写流程概要1.编写登录首页界面,完成对手机中已下载的音乐文件进行读取,获得每个音乐文件的专辑名称,专辑图片,歌唱者并展现出来。2.编写在线音乐界面,本来想完成联网读取音乐文件的功能,但暂时能力有限,只能用文本直接填充数据。3.编写播放界面,完成对音乐的暂停、下一曲、上一曲、进度条、播放模式等的设置。这里代码相对叫多教复杂。4.编写系统提示与跳转界面,完成翻译 2021-03-04 17:24:13 · 6415 阅读 · 3 评论 -
开发一款Android App,从零开始详细讲解
入门篇:第一篇:开发环境篇第二篇:材料设计篇第三篇:规范开发篇第四篇:从项目开发到上架篇(篇章调整,最后更新)进阶篇:第五篇:设计模式篇第六篇:网络请求篇(上) 网络请求篇(下)第七篇:图片处理篇第八篇:数据库篇第九篇:开源资源篇高阶篇:第十篇:自定义控件篇第十一篇:跨进程篇关于Demo写这个系列的文章的同时,也在做一个小Demo。功能很简单,利用豆瓣电影Api实现一款基于Android的电影集合的App。star me on GitHub! 该项目的数据源来自于豆瓣;翻译 2021-03-04 17:18:41 · 50509 阅读 · 6 评论 -
cesium实现加载城市三维建筑物
方法一首选将shp文件转换为cesium可以加载的geojson文件,在线转换工具,使用cesium的GeoJsonDataSource接口类,根据建筑物高度上色加载geojson文件代码如下 var geojsonOptions = { clampToGround : true //使数据贴地 }; var entities; var promise =Cesium.GeoJsonDataSource.load(...翻译 2021-03-02 17:21:53 · 1913 阅读 · 0 评论 -
Android Apk瘦身方案2——gradle插件将png自动压缩为web
实现思路在 mergeRes 和 processRes 任务之间插入 WebP 压缩任务,如下图所示:使用开源框架Cwebp,使用命令行对所有的图片进行遍历处理,然后将结果输出Google 官方提供的下载地址:https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html 下载的 cwebp 二进制可执行文件 64 位版本。由于 WebP 格式在 14 <= minSdkVersion &l翻译 2021-02-25 21:48:19 · 457 阅读 · 0 评论 -
简单的Android端新闻App的实现
先上效果图:图一 : 图二: 总体思路概述:如图本app界面简单,图一的最顶端是安卓原生的标题栏,图二的最顶端是我自己定义的标题栏,具体代码后面再说。图一标题栏下面是五个TextView表示五个板块,再下面是Fragment+ViewPager的滑动页面,Fragment里面是Recyclerview控件,当滑动页面滑到相应版块时上面的相应的TextView会变成浅蓝色。当点击RecyclerView里的item时可以进入到图二:因为所用的api没有返回相应的内容信...翻译 2021-02-25 21:36:34 · 3445 阅读 · 0 评论 -
安卓智能地图开发与实施:三维地图 - ArcGIS Runtime SDK for Android
三维地图三维地图多了一个维度来基于位置表达信息,100.1的版本中已经整合了完整的三维展示方案。新版本发布,我们先看效果。和二维地图的MapView相比,三维地图使用SceneView。三维地图布局文件<?xml version="1.0" encoding="utf-8"?><com.esri.arcgisruntime.mapping.view.SceneView xmlns:android="http://schemas.android.com/apk翻译 2021-02-25 21:22:58 · 904 阅读 · 0 评论 -
安卓智能地图开发:展示三维场景 - ArcGIS Runtime SDK for Android
SceneViewRuntime100是用了一个GeoView类作为地图的基类直接继承于ViewGroup,然后MapView和SceneView分别作为二维和三维地图的容器继承于GeoView。其实把SceneView当做MapView,把ArcGISScene当做ArcGISMap就行,于是我们简单尝试下。首先是在XML文件里添加SceneView: <com.esri.arcgisruntime.mapping.view.SceneView android:id翻译 2021-02-25 21:23:34 · 1160 阅读 · 1 评论 -
学点简单的Django之第一个Django程序
学点简单的Django之第一个Django程序这里采用PyCharm专业版可以直接创建Django项目,这里面自动部署了Django的基本环境。在创建项目时选择Django项目:第一次建立Django项目时可能需要一段时间去等待下载相关的依赖环境。我们可以在Terminal中输入python -m django --version来查看当前的Django版本,或者也可以在PyCharm的系统偏好设置中查看相关版本信息。建立完成后自动生成了如下的一些文件。不知道是环境问题还是什么问题,Django翻译 2021-02-25 21:23:45 · 105 阅读 · 0 评论 -
快速集成华为AGC云存储服务-Android
华为AppGallery Connect提供了一个云存储(CloudStorage)的服务,号称提供了一个便捷的云端存储服务,应用开发者使用的时候,可以不用关注服务器的部署,直接使用就行。目前这个功能还在bate阶段,我先抢先体验了一下。如果你想快速体验云存储服务的功能,请参考demo。1、环境与应用信息版本名称 集成环境 测试设备 agconnect-storage:1.3.1.100 Android Studio 荣耀Magic 2 AGC地址:https:/翻译 2021-02-24 09:23:51 · 7282 阅读 · 0 评论 -
Android11 无Root 访问data目录实现、Android11访问data目录、Android11解除data目录限制、Android11 data空白解决
Android11 无Root 访问data目录 实现正文开始 关于Android11权限变化 作为普通安卓用户该如何方便快速地访问Android/data目录 开发者该如何实现无ROOT访问Data目录 正式开始解决Android/data问题 获取某个文件目录的权限 回调并永久保存某个目录的权限 通过DocumentFile Api访问目录 实现遍历或管理Android/data文件目录 重要的坑:为什么不直接使用路径Path来实现文件浏览呢? 解决方案翻译 2021-02-24 09:13:44 · 46991 阅读 · 10 评论 -
Android面试吃透这一篇就没有拿不到的offer
1. 战略定位:Android面试都会问些什么?要打败敌人首先需要摸清敌人。Android面试有它固有的套路。一般大厂的面试包括 技术面 * 3 + HR面 * 1。技术面中一面考察基础知识,这一面相对容易,只要你把我下面给出的武林秘籍背熟就易如反掌。这一面大约占40%;二面侧重项目经历/应对问题能力,这一面要求普遍较高,需要学会应用知识,更注重于优化、性能等方面。但其实也没那么可怕,举个栗子:我介绍自己车辆监控项目时,面试官首先让我去思考有没有什么不足。我总结了2点,其一是传输数据量过大会翻译 2021-02-24 09:15:02 · 327 阅读 · 0 评论 -
Android基础知识集锦——字节跳动Android研发岗
三金四银,又到了一年一度的跳槽季。也许有不少Android程序员开始摩拳擦掌蠢蠢欲动了。结合以往自己的经历,今天给大家总结下Android面试题,希望有帮助。1:Activity生命周期?这几乎是个老少咸宜,永远不会过时的问题,而且极有可能是第一个问题。这个问题当然没什么好讲的啦,死记硬背是没什么用的了,关键是理解。本人就曾遇到这个问题的变种问题,问onStart(),与onResume()有什么区别?如果面试官抛出这个问题,是不是有点措手不及。今天又听说有同学遭遇了更变态的问题:什么情况下Acti翻译 2021-02-24 09:15:11 · 175 阅读 · 0 评论 -
2021金三银四,你准备好挑战这份最新腾讯、字节跳动、阿里巴巴Android面试题集了吗?
导语这一份Android面试题集,适应于实习 & 初级工程师 & 中级工程师,高级工程师勉强吧。笔者在搜集问题的同时,也花了大半年的时间整理答案。目前我就职于某大厂安卓高级工程师职位,在当下大环境下也想为安卓工程师出一份力,通过我的技术经验整理了面试经常问的题,答案部分会是一篇文章或者几篇文章,都是我认真看过并且觉得不错才整理出来,大家知道高级工程师不会像刚入门那样被问的问题一句话两句话就能表述清楚,所以我通过过滤好文章来帮助大家理解。希望Android求职者认真研读,准备面试,并顺翻译 2021-02-24 09:15:16 · 486 阅读 · 0 评论 -
面试官:啊?做了三年Android,这些性能优化的问题都答不上来吗...
前言各位小伙伴们新年好呀,度过了愉快的春节假期,不知道大伙儿又长了几斤肉肉呢~哈哈,开个玩笑,春节过去,马上就要迎来我们的年后金三银四跳槽季了,大家做好面试造火箭,进厂拧螺丝的准备了嘛?在此特意给大家整理了2020年度,性能优化相关面试频率最高的知识点,给大家面试复习做个参考。后续也会更新其他知识板块的面试题集,各位大佬点个关注呗~好了,废话不多说,直接冲冲冲!前排温馨提示:阅读本文前,请自备豆浆!如果你已经有 2 - 3 年以上Android开发经验还不懂的怎么去优化自己的..翻译 2021-02-23 11:16:02 · 504 阅读 · 0 评论 -
Android,WebView与Vue.js的互相调用
Android原生与Vue.js的互相调用最近研究了一下HybridApp的相关实现技术.主要是Vue与Android原生的交互,看了一些网上这方面的案例,大部分都是寥寥几笔,有很多地方非常不完善,无法实现我们希望实现的功能,因此做了许多关于Vue和Android native交互的调研,Demo代码在文章末尾.总结了几个我碰到的坑:1,Android如何将自己的消息发送至Vue的每个子Component 2,Android如何传递String类型到Js 3,Js如何加载Android n翻译 2021-02-23 11:10:20 · 925 阅读 · 0 评论 -
Android项目编译问题解决方案
Android Studio项目加载奇葩问题,编译报错:一般情况Build->Clen Project可以解决大部分的问题若还是不行可以尝试File -> Invalidate Caches / Restart -> Invalidate and Restart,该方法会使缓存无效并重启Android Studio,一般重启后就OK。...原创 2021-02-23 09:13:21 · 155 阅读 · 1 评论