轻描时光

点滴记录,时光美好,岁月飞逝,幸福依旧!

  • 博客(825)
  • 资源 (5)
  • 收藏
  • 关注

原创 2023 年 APP 从备案到上架全过程

备案需要去工信部门办理,提交备案申请表和相关资料,等待审核。备案审核需要1-3个工作日,一旦备案通过,就可以继续提交其他申请。一旦支付成功,APP就会正式上架,用户就可以在App Store或Google Play上下载和使用。需要注意的是,以上流程仅供参考,具体情况可能因国家法律法规、平台政策和管理制度的不同而略有差异。同时,随着技术和政策的不断变化,APP备案和上架的流程也可能会发生变化。在开发阶段,开发者需要遵守苹果公司或Google的相关规定和条款,进行APP开发和测试。

2023-12-01 08:56:47

原创 Android保活系列之——进程优先级

进程保活说白了就是保证自己App进程不死,或者说死了又悄悄的‘起死回生’,然后偷偷摸摸的做一些羞羞的事情。App被杀死有以下几种可能:被系统杀死和被用户杀死我们还可以理解,被竞争对手杀死是什么鬼?这些都会在稍后的文章中讲解如何针对被竞争对手杀死,或者可以私聊我。本文主要针对被系统杀死的情况做相对应的优化。

2023-11-27 16:48:14 257

原创 Android二维码扫描开源库 - BGAQRCode-Android

在自己项目里集成时记得在 onDestroy 方法中调用 mQRCodeView.onDestroy(),在 onStop 方法中调用 mQRCodeView.stopCamera(),否则会出现黑屏。根据之前公司的产品需求,参考 barcodescanner 改的,希望能帮助到有生成二维码、扫描二维码、识别图片二维码等需求的猿友。* 同步创建指定前景色、白色背景色、带logo的二维码图片。* 同步创建指定前景色、指定背景色、带logo的二维码图片。* 同步创建指定前景色、白色背景色的二维码图片。

2023-11-23 15:14:24 34

原创 ConstraintLayout使用详解

下面是ConstraintLayout的使用详解。约束(Constraint):Constraint指的是控件与父容器或其它控件之间的关系,比如:控件的上边缘与其父容器的上边缘对齐、控件的左边缘与另一个控件的右边缘对齐等。约束线(Constraint Line):Constraint Line指的是两个控件之间的连接线,每个控件都有四条Constraint Line,分别是上、下、左、右。接下来,我们就可以开始使用约束来布局了。

2023-11-17 13:15:25 43

原创 移动端APP版本治理

iOS用户一般在App Store更新应用,但是对于Android来说,厂商比较多,对应的渠道也多,还有一些三方的,这些碎片化的渠道自然就把用户人群给分流了,为了让每一个用户都有渠道可以更新到最新版本,那就需要在渠道的运营上下点功夫了,尽可能的多覆盖。升级文案属于是ROI很高的了,只需要总结一下新版本带来了哪些新功能、有哪些提升,然后配置一下就好了,但是对用户来说,却是实打实的信息冲击,他们可以明确的感知到新版本中的更新,对升级意愿会有非常大的提升。我们还有哪些方式可以告诉他需要升级?

2023-11-15 10:09:28 147 1

原创 java.lang.SecurityException: UID 1010482 does not have pe://包名/external_files/sple/IMG_123123141.jpg

这个很显然是安全权限问题。但是奇怪的我AndroidManifest 中已经配置过了FileProvider。问题是红框中定义的权限名称与我修改的AndroidMenifest FileProvider权限名称不一致。问题是红框中定义的权限名称与我修改的AndroidMenifest FileProvider权限名称不一致。

2023-11-14 11:13:12 24

原创 Java与Kotlion对接

在Kotlin中使用Java类时,不能使用Kotlin中的null安全性。总之,Kotlin与Java可以无缝地对接,Kotlin的语法更为简洁和易读,同时也保留了Java的优秀特性。Kotlin是一种基于Java虚拟机的静态类型编程语言,可以与Java良好地对接。Kotlin可以直接调用Java类和方法,也可以使用Java框架和库。Kotlin中的lambda表达式可以直接使用Java中的函数式接口。Kotlin中可以使用Java的泛型和注解。Kotlin中可以使用Java的反射功能。

2023-11-06 08:35:38 71

原创 Android打造一个高性能无限层级显示的树形控件(Android树形控件)

最近公司的Android项目里有一个地方需要选择某公司的所有部门,因为手机屏幕有限所以并不能像网页那样显示树状结构,但是如果只是用列表依次显示所有的部门又会让用户很难找到想要找的部门(即使加上搜索功能也很难表现出层级关系),由于系统控件ExpandableListView 只能显示两级,加上数据集的组织比较麻烦,所以就使用ListView来实现如下的树形展示效果。为了体现出层级结构,其实就是增加缩进就可以了。接下来我们就以层级显示一个公司的所有部门为需求来实现一下,其实只要具有树形结构我们都可以这样做。

2023-11-06 08:34:01 155

原创 Android APT的使用

APT(Annotation Processing Tool)是一种处理注释的工具,它对源代码文件进行检测找出其中的 Annotation,根据注解自动生成代码。Annotation 处理器在处理 Annotation 时可以根据源文件中的 Annotation 生成额外的源文件和其它的文件(文件具体内容由 Annotation 处理器的编写者决定),APT 还会编译生成的源文件和原来的源文件,将它们一起生成 class 文件。

2023-11-01 17:25:42 216

原创 android点击全屏预览照片第三方库使用

自定义预览图片,可以扩展加一下自己的按钮功能等。/**** 重写该方法* 使用你的自定义布局**/@Override自定义预览的布局// 这是第三方库提供的,也就是默认的布局文件。

2023-10-24 17:22:29 168

原创 TCP三次握手和四次挥手

服务器收到SYN包后,向客户端发送一个SYN+ACK包,其中SYN=1,ACK=1,确认号为x+1,同时随机生成一个序列号y。客户端收到SYN+ACK包后,再向服务器发送一个ACK包,其中SYN=0,ACK=1,确认号为y+1。客户端收到服务器的FIN包后,向服务器发送一个ACK包,确认收到了服务器的关闭请求,然后关闭连接。客户端向服务器发送SYN包(同步包),其中SYN=1,ACK=0,并随机生成一个序列号x。服务器收到FIN包后,向客户端发送一个ACK包,确认收到了客户端的关闭请求。

2023-10-20 08:55:58 115

原创 详解对称算法、非对称算法、签名

对称算法是指加密和解密使用同一个密钥的算法,常见的对称算法有DES、AES等。对称算法适用于需要快速加密解密的场景,比如局域网内的通讯数据加密。非对称算法是指加密和解密使用不同的密钥的算法,常见的非对称算法有RSA、DSA等。其优点是密钥的管理和传输相对容易,因为公钥可以公开传输,私钥保管在本地即可,且私钥不会被公开。总的来说,对称算法适用于数据量较大,但需要保密的场景,而非对称算法适用于数据量较小,但需要安全性较高的场景。签名技术的优点在于,接收者可以验证发送者的身份,并且可以确定文档是否被篡改。

2023-10-19 15:56:43 49

原创 Charles的使用详解

在弹出的窗口中,将“HTTP Proxy”和“HTTPS Proxy”分别设置为“localhost”和“8888”,然后点击“OK”按钮。分析请求和响应:当Charles开始捕获流量时,所有的HTTP和HTTPS请求和响应都会出现在Charles的“Sequence”选项卡中。Charles是一款功能强大的网络调试工具,主要用于捕获和分析HTTP/HTTPS请求和响应,支持重放和模拟请求,监控网络流量等。需要注意的是,Charles可以捕获所有网络流量,包括敏感信息,因此在使用Charles时需要谨慎。

2023-10-16 14:34:17 108

原创 Android的Dalvik与Art区别

ART是Android 4.4版本以后的新一代运行时环境,它使用AOT方式将应用程序的DEX字节码编译成本地机器指令,从而提高应用程序的执行效率。相比Dalvik,ART在应用程序启动时需要更多时间来进行预编译,但是一旦应用程序启动完成,它的执行效率会更高,并且能够在使用时不断地进行优化,从而达到更好的性能。综上所述,Dalvik与ART的主要区别在于执行方式不同,Dalvik是基于JVM的解释器,而ART则是使用AOT方式进行本地编译。ART具有更好的性能和更低的内存占用,但是需要更长的预编译时间。

2023-10-10 09:24:32 98

原创 Android的MEmory Analyzer使用详解

Android的MEmory Analyzer是一种分析和监测Android应用程序内存使用情况的工具,可以帮助开发者找到内存泄漏和其他内存问题。使用Memory Analyzer需要一定的经验和技能,但它是一种非常有用的工具,可以提高开发过程中内存使用情况的监控和分析能力。

2023-10-10 09:04:24 111

原创 Android 的Memory Profiler详解

Memory Profiler是Android Studio中的一个工具,用于监测应用程序的内存使用情况。它可以帮助开发者找出应用程序中的内存泄漏和性能问题,以及改进应用程序的内存使用效率。总的来说,Memory Profiler工具是Android开发过程中非常重要的一款工具,它可以帮助开发者定位和解决应用程序中的内存问题,提高应用程序的性能和稳定性。1.内存图表:显示应用程序内存使用量的实时变化情况,可以通过此来找出内存使用量过高的问题。3.对象跟踪:可以追踪具体某一对象的内存分配及释放情况。

2023-10-10 08:58:18 110

原创 Android使用AOP切面编程

当我们在应用程序中调用任何一个方法时,切面类中的代码都会被自动执行,输出日志。AspectJUtils.injectAspectJ()方法的参数是一个Context对象,它会自动扫描应用程序中的所有类,并将切面类应用到匹配的方法上。@Before注解指定了在方法执行前执行的代码,@After注解指定了在方法执行后执行的代码。最后,在应用程序的入口Activity中,我们需要使用AspectJ库来装配切面。接下来,定义一个切面类,这个类包含了我们想要在代码中增加的功能,例如日志记录。

2023-10-09 17:03:57 225

原创 Traceview与TraceCompat 使用详解

Systrace 是一个工具,可以识别和调试性能问题,它还可以捕获和分析应用程序和系统的性能瓶颈。它可以记录应用程序的方法调用和执行时间等信息,然后将这些信息显示在一个可视化的界面上,以便开发人员更好地了解应用程序的性能瓶颈和问题,并进行优化和调试。Traceview是Android Studio的一个性能分析工具,可以帮助开发者分析和检测应用程序的性能问题,以便更好地优化应用程序。总的来说,通过Traceview工具对应用程序的性能进行分析,可以更好地发现和定位性能问题,为应用程序的优化工作提供帮助。

2023-10-09 16:35:40 80

原创 Android Application 的 onCreate 和 attachBaseContext执行顺序

具体来说,在 Android 应用启动时,系统会先调用 Application 的 attachBaseContext 方法,在这个方法中可以进行一些初始化操作,比如设置全局的异常处理、设置语言环境等。需要注意的是,如果在 Application 的 attachBaseContext 方法中添加了一些依赖于 Context 的操作,那么这些操作需要在 attachBaseContext 方法中执行,否则可能会出现一些异常。

2023-10-09 15:51:11 91

原创 UML建模语言分析和设计

UML提供了多种图形化工具,用于描述系统的不同方面,包括用例、类、对象、状态、活动和序列等。通过UML建模,开发人员可以更加清晰地了解系统的不同部分之间的关系和交互,从而更好地进行软件开发和维护。统一性:UML提供了一种标准的建模语言,使得开发人员可以采用相同的语言进行沟通和交流,从而使得开发工作更加协调和高效。总之,UML建模语言是一种非常强大的工具,可以帮助开发人员更好地进行软件系统的设计和实现,提高软件开发的效率和质量。易扩展性:UML提供了丰富的建模工具和元素,可以轻松扩展和定制自己的模型。

2023-10-07 09:55:25 67

原创 Nginx配置文件详解

Nginx(发音为“engine-x”)是一个高性能的,开源的,反向代理服务器。以上是Nginx配置文件的一些常用命令和指令,通过修改这些指令和命令,可以实现Nginx服务器的各种功能。worker_processes:Nginx启用的worker进程的数量,建议设置为CPU核心数的两倍。events:Nginx服务器的全局事件块,指定Nginx的工作模式和连接处理方式。try_files:在该location块中查找文件,如果没有找到则用后面的代替。root:设置该location块的根目录。

2023-09-28 15:44:28 112

原创 Android 实现 文件操作获取所有视频,异步查询媒体数据库获取视频的时长,并将视频通过recyclerView展示出来,每个item展示获取的视频时长代码实现

其中,VideoItem是自定义的POJO类,VideoAdapter是RecyclerView的适配器。在适配器中,可以根据VideoItem中的时长信息显示视频时长。最后,通过RecyclerView展示出所有视频文件,并显示视频时长。接下来,使用异步查询媒体数据库获取视频的时长。首先,需要获取所有视频文件的路径。

2023-09-28 10:43:42 151

原创 解释 Git 的基本概念和使用方式

创建和合并分支:使用‘git branch’命令创建新分支,使用‘git merge’命令将不同分支的代码合并到一起。拉取远程仓库的代码:使用‘git pull’命令拉取远程仓库的代码更新到本地仓库中。添加远程仓库:使用‘git remote add’命令将远程仓库添加到本地仓库中。修改代码:修改代码之后,使用‘git add’命令将修改的代码添加到暂存区。推送到远程仓库:使用‘git push’命令将本地仓库的代码推送到远程仓库。提交代码:使用‘git commit’命令将修改的代码提交到本地仓库。

2023-09-28 10:36:46 202

原创 Android深思如何防止快速点击

其实快速点击是个很好解决的问题,但是如何优雅的去解决确是一个难题,本文主要是记录一些本人通过解决快速点击的过程中脑海里浮现的一些对这个问题的深思。作者:流浪汉kylin 链接:https://juejin.cn/post/7197337416096055351。

2023-08-30 16:25:03 479

原创 Java 从文本中获取url地址

~_|!:,.;

2023-08-25 14:35:42 118

原创 Android 源码下载(详细版)

经典好文推荐,通过阅读本文,您将收获以下知识点:一、下载AOSP前的准备二、国内网络下 clone 清华大学开源软件镜像三、编写Python脚本,开始下载android-10.0.0_r40 源码四、源码下载工具包五、参考文献。

2023-08-18 17:39:15 954

原创 Android EditText 使用(详细版)

xml中使用EditText控件-- 自定义EditText 背景 --><EditTextandroid:hint="一、自定义EditText背景框"自定义EditText背景框-- 圆角-->--描边--><stroke</shape>实现效果自定义背景框实现。

2023-08-16 10:33:49 485

原创 Android Fragment (详细版)

Fragment片段,在Activity中常用于负责用户界面部分,可以将多个Fragment组合在一个Activity中来创建多窗口UI,或者在Activity中重复使用某个Fragment。您可以将Fragment视为Activity的模块化组成部分,Fragment具有自己的生命周期,能接收自己的输入事件,并且可以在Activity运行时候添加或者移除Fragment。Fragment必须嵌套在Activity中,其生命周期受Activity生命周期的影响。实现方法如下@Override。

2023-08-10 16:54:19 668

原创 Android的PopupWindow(详细版)

在学习PopupWindow之前,我们先了解一下PopupWindow的继承关系。↳是一个可以在Activity之上显示任意View的控件。在Android经常使用,效果跟Dialog效果类似,不同点在于可以控制显示的位置,比如底部显示等。

2023-08-04 08:38:55 992

原创 Android手机信息获取(详细版)

经典好文推荐,通过阅读本文,您将收获以下知识点:一、 获取手机基本信息(厂商、型号等参数)二、设备信息获取实现图三、 获取手机设备 宽、高、IMEI 信息四、 获取手机厂商名、产品名、手机品牌、手机型号、主板名、设备名五、获取手机硬件名、SDK版本、android版本 、语言支持、默认语言六、 获取 SD 卡存储信息七、 获取手机 RAM、ROM存储信息八、DeviceInfoUtils 封装类九、SDCardUtils 封装类十、参考文献。

2023-08-03 09:43:39 1068

原创 Android Intent 使用(详细版)

*** 2.自定义 发送短信* **/// 修改 Intnent 选择器Tittle// 验证是否有Activity 接收= null) {

2023-08-02 08:43:26 443

原创 Android SharedPreferences 使用(详细版)

是Android的一个接口类,是Android数据存储(保存内部)的一种方法。主要以*.xml的形式保存在Android/data/data/com.***包名/shared_prefs下,BooleanIntFloatLongString。

2023-08-01 08:38:59 604

原创 Android HTTP使用(详细版)

在面试过程中,HTTP 被提问的概率还是比较高的。小林我搜集了 5 大类 HTTP 面试常问的题目,同时这 5 大类题跟HTTP 的发展和演变关联性是比较大的,通过问答 + 图解的形式由浅入深的方式帮助大家进一步的学习和理解 HTTP 协议。HTTP 基本概念Get 与 PostHTTP 特性HTTPS 与 HTTPHTTP/1.1、HTTP/2、HTTP/3 演变提纲。

2023-07-31 10:59:19 923

原创 Android GridView使用(详细版)

在学习GridView 之前,我们需要先了解GridView的继承关系,GridView跟ListView很类似,Listview主要以列表形式显示数据,GridView则是以网格形式显示数据,掌握ListView使用方法后,会很轻松的掌握GridView的使用方法。

2023-07-31 08:54:21 893

原创 设计模式系列:经典的单例模式

购物车作为一个共享的对象,把用户选的商品信息保存在一个唯一的实例中,可以在整个用户会话中访问和更新,这样可以保证购物车中的数据是正确、完整和一致的。:在Spring中,通过配置文件或注解方式定义的Bean对象通常也是单例的,默认情况下,Spring会把它们当作单例来管理。:购物车需要加载和处理一些数据,假如用户每次访问页面都创建一个新的购物车实例,这样就会占用更多的资源,并且、频繁地创建和销毁购物车实例,也会增加系统的负担和响应时间。可见,不同线程得到的对象都是同一个,符合“单例”。

2023-07-28 09:12:27 1274

原创 Android 设备兼容性使用(详细版)

开发过程中适应不同图片时候的参考总结密度建议尺寸手机屏幕密度DPI图片分辨率基准图缩放倍数48 * 48320x4801.072 * 721.596 * 96960*7202.0144 * 1441280×7203.0192 * 1921920*10804.0。

2023-07-28 08:54:18 346

原创 ListView使用(详细版)

ListView是Android中显示数据常用的控件之一,主要用于显示一个垂直滚动的数据集合,随着Android 手机对性能要求越来越高,一个更现代,更灵活,显示列表性能更优异的将会逐渐取代ListView的数据显示方式,但是目前为止,ListView在开发中还是十分常见的,并未被弃用。// 当前适配器中加载数据的总条目@Override// 根据指定下标获取对应item 的view@Override// 根据指定下标获取当前item的id@Override/**

2023-07-27 11:56:26 131

原创 Android Dalvik 虚拟机(详细版)

经典好文推荐,通过阅读本文,您将收获以下知识点:1.Java 语言在Android 上运行流程2.虚拟机发展过程3.Android Dalvik 模式4.Android N 中dex2oat 原理以及模式5.如何判断dex2oat 采用的相关参数6.如何查看dex2oat 的log7.什么时候进行dex2oat8.手机反应慢的原因9.解决手机反应慢的方法10.参考文献。

2023-07-27 09:41:09 383

原创 Activity使用(详细版)

经典好文推荐,通过阅读本文,您将收获以下内容:一、Activity 概览二、Activity 生命周期三、Activity 的注册方法四、App的MainActivity五、Activity 的启动方法六、Activity结束方法七、Activity状态保存,恢复的方法八、面试中经常问到题型九、参考文献。

2023-07-25 08:44:10 2086

原创 ANR 使用(详细版)

在Android中,应用程序响应由和系统服务进行监视。,则是Android的一种自我保护措施,当主线程出现卡顿时候,Android系统会给用户一个弹出提示,让用户手动选择继续等待还是强制关闭此APP。当Android检测到以下情况之一时,Android将显示特定应用程序的ANR对话框,比如以下三种情况下ANR将经常发生:1.UI Thread超过5 s没有响应2.Broadcast广播超过10 s没响应3.Service服务超过20s没响应因此,为避免ANR。

2023-07-24 08:48:08 131

善考测试版.apk

啥考app的下载,能安装不上 如果安装不上的话 加我 在单独发给你

2019-06-14

java基础(se)练习手册部分讲解

Java绝对经典的讲解,简单明了,适合没有基础的人学习,如果没有积分留言

2018-06-28

计算机网络基础

适合无专业基础知识的,面试技巧,很简单,很实用的一套网络ppt

2018-06-28

java基础(se)练习手册(绝对超值)

java基础(se)练习手册(绝对超值),自己亲自出题,结合面试,更贴近项目.

2018-06-28

java习题练习很简单,很基础,很有必要学习

java基础练习手册,很不错的练习的手册,加油学习吧,相信你肯定能成为java大师

2018-06-25

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除