
移动端
文章平均质量分 75
移动端,设计Android基础知识、Android框架、移动安全等知识
Julian Q
这个作者很懒,什么都没留下…
展开
-
Dart:Dart中的库分类
Dart中的库原创 2023-02-01 17:04:24 · 494 阅读 · 0 评论 -
Dart:函数、函数定义、可选参数
Flutter函数原创 2023-01-30 22:46:11 · 1885 阅读 · 0 评论 -
Dart:运算符、条件表达式、类型转换整理
Flutter语言基础-Dart开发准备原创 2023-01-30 17:25:13 · 297 阅读 · 0 评论 -
Flutter: Dart基本数据类型整理
Flutter基本数据类型整理原创 2023-01-27 22:41:20 · 927 阅读 · 0 评论 -
Dart:final和const在Dart中的使用区别
Dart语言基础特性原创 2023-01-27 00:43:12 · 1081 阅读 · 0 评论 -
Android:安卓虚拟机(Dalvik && ART)学习
Android虚拟机特定学习原创 2022-08-07 01:58:43 · 4392 阅读 · 0 评论 -
Android:使用keytool修改数字证书中字段(应用签名信息)
文章目录前言一、keytool二、修改步骤1.keytool查看签名信息2.keytool修改签名信息三、相关keytool命令总结总结前言在公司需求开发中,订制方希望修改数字证书中的字段,体现某一方的参与;原先公司都是统一用一个签名文件对打包的APK进行签名,在这种需求背景下,就需要对统一的签名文件中的签名进行修改本文介绍使用keytool完成相关需求一、keytoolkeytool 是一个Java 数据证书的管理工具 ,keytool 将密钥(key)和证书(certificates)存在一原创 2022-04-27 14:39:56 · 2014 阅读 · 2 评论 -
Android:android.view.WindowManager$BadTokenException: Unable to add window --
项目场景:重写Dialog类,在Activity中初始化,点击使其显现,发现其崩溃问题描述点击闪退,崩溃日志如下Android:android.view.WindowManager$BadTokenException: Unable to add window –原因分析:Dialog需要持有Activity类的上下文用于帮助其确定位置初始化,因此在Dialog类初始化时候,一定要传入相关Activity的上下文,而不是全局APP或其他的Context上下文这里笔者犯了一个错误,传入的是全局原创 2022-04-09 22:49:28 · 3323 阅读 · 3 评论 -
Android: java.net.ConnectException: Connection refused: connect解决方案记录
项目场景&&问题描述:今天在跑公司的项目,然后发现在build过程中,它一直这样然后显示Android:Failed to download any source lists!原因分析:(原谅笔者忘记收集日志了)从日志上来看,大概率是网络出现了相关问题,导致其没有拉取到远程的代码仓库考虑的解决方案如下:1.换源阿里源2.查看所要拉取的maven仓库能否访问到3.查看是否因为设置的代理产生的原因解决方案:1.尝试换阿里源and更新阿里源 -->发现没用2.查看原创 2022-04-08 16:46:20 · 4199 阅读 · 0 评论 -
Android 四种启动模式 理论与实践与相关知识
文章目录Activity栈一、四种启动模式1.标准模式(Standard)2.单栈顶模式(SingleTop)3.单任务模式(SingleTask)4.单例模式(SingleInstance)二、实践1.静态应用2.动态应用总结Activity栈Android 四种启动模式的学习Activity按照其启动时间的先后顺序依次入栈,当回退时,从活动栈的栈顶拿出当前显示的活动,而后对其进行销毁。一、四种启动模式1.标准模式(Standard)标准模式就是最常见的模式,从Activity1->原创 2021-11-04 00:10:52 · 2216 阅读 · 0 评论 -
Android:ANR问题是什么和如何避免
文章目录前言一、ANR是什么?二、场景1.Service Timeout2.BroadcastQueue Timeout3.ContentProvider Timeout4.InputDispatching Timeout三、超时检测机制Service总结前言ANR问题在我们Android开发中经常会遇到,但是如何清晰地把ANR问题的定义表述出来和详述ANR问题如何解决则是一个需要整理的过程,本节就针对ANR问题进行整理一、ANR是什么?==ANR(Application Not respondi原创 2022-03-08 14:47:58 · 5769 阅读 · 0 评论 -
Android:Fragment生命周期(结合Activity的生命周期进行分析)
文章目录前言一、Fragment生命周期启动自我结合Activity二、使用步骤1.引入库2.读入数据总结前言本文记录笔者学习Fragment生命周期的心路历程一、Fragment生命周期在这一部分中,我们单纯以Fragment为观察对象,观察其生命周期在Android开发平台的官方文档中,对Fragment的生命周期有如下的描述尽管 Fragment 的生命周期与其拥有的活动相关联,但它在标准活动生命周期上也有自己的缺陷。它包括基本的活动生命周期方法,例如onResume(),但与活动交互和原创 2022-03-07 20:56:01 · 9694 阅读 · 0 评论 -
Android:Bitmap类的使用及其原理分析
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport原创 2022-03-07 15:26:28 · 2620 阅读 · 0 评论 -
Android:Activity的生命周期、拓展分析
文章目录前言一、常见生命周期二、生命周期具体分析1.onCreate()2.onStart()3.onResume()4.onPause()5.onStop()6.onRestart()7.onDestory()三、引起生命周期的回调方法onActivityResultonSaveInstanceState/onRestoreInstanceStateonNewIntent四、场景生命周期流程正常启动Activity切换屏幕旋转后台应用被系统杀死具有返回值的启动五、常见的面试题提问1、假设项目中有这样的需求原创 2022-03-07 00:17:13 · 1948 阅读 · 0 评论 -
Android:深入理解RecyclerView的缓存机制
文章目录前言一、概述二、基本知识1.复用的内容2.何时调用三、RecyclerView的几级缓存Scrap总结前言本篇记录笔者学习ReclerView缓存机制的心路历程一、概述我们都知道RecyclerView无论如何都不会导致OOM的发生,而这背后依靠是其本身强大的回收复用机制,那么其回收复用机制是如何实现的呢,下面笔者记录对其的分析过程二、基本知识1.复用的内容在搞清楚RecyclerView的缓存复用机制之前,我们先要清楚缓存复用机制是对什么进行复用的呢,毫无疑问不可能是我们针对每个i原创 2022-03-03 13:17:17 · 4374 阅读 · 1 评论 -
Java:线程池的七大参数及其工作原理
文章目录前言一、二、使用步骤1.引入库2.读入数据总结前言一、示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import ss原创 2022-02-27 22:46:22 · 687 阅读 · 0 评论 -
Android: Android Studio找不到对应的layout.xml文件的解决方法
问题描述:组件化开发,在一个子模块中,创建了对应的xml文件,采用R.layout.[name].xml的方式对其进行访问,发现AS一直报错,访问不到该文件解决方案:先clean再Rebuild该project原创 2022-02-26 18:53:25 · 6887 阅读 · 0 评论 -
Android:BottomNavigationView自定义选中颜色和文字
文章目录前言一、图标的动态更改二、文字的动态更改前言我们常常遇到这样的任务场景,需要动手制作一个导航栏,要求在点击时图标颜色和文字发生改变,那么这样的场景应该如何实现呢?一、图标的动态更改图标的动态更改我们通过自定义Layout和BottomNavigationView中的属性进行更改新建Menu等步骤就不进行赘述了,这一部分还不了解的朋友可以先看一下BottomNavigationView的使用这里直接放出代码供大家进行阅读<com.google.android.material.b原创 2022-02-25 20:26:58 · 6849 阅读 · 3 评论 -
Android:ARouter原理源码解析
文章目录前言一、ARouter使用二、源码解析1.跳转2.读入数据总结前言一、ARouter使用ARouter的基本使用请参考这篇博客ARouter的基本使用二、源码解析1.跳转要解析ARouter的源码,我们从最简单的跳转函数入口开始解析ARouter.getInstance().build("/test/activity").navigation();当我们调用build()方法时,调用的源码如下 public Postcard build(String path) {原创 2022-02-23 14:40:23 · 461 阅读 · 0 评论 -
Android:ARouter框架的简单使用
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport原创 2022-02-21 21:11:42 · 1934 阅读 · 0 评论 -
Android:简单组件化架构步骤
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、创建业务组件层基础组件层功能组件层二、进行版本管理目的1.在Project的build.gradle下加入以下代码2.进行其他Module的信息修改三、依赖LibBase四、修改功能组件层五、修改主工程六、业务组件层debug模式切换七、切换Module能否单独运行前言复习Android组件化开发架构步骤一、创建业务组件层业务组件层创建的Module采用Phone&Table,也就是创建Module的第一原创 2022-02-19 22:02:19 · 1802 阅读 · 0 评论 -
Android:模块化、组件化、插件化的区别
文章目录一、区别模块化组件化插件化一、区别模块化模块化就是将一个程序按照其功能进行拆分,分成相对独立的模块,以便于每个模块只包含和其功能相关的内容;例如登录功能便可作为一个模块进行出现组件化组件化更注重关注点分离,所谓的关注点分离,就是把复杂的问题做合理分解,再分别仔细研究这些问题的不同侧面(关注点),最后综合得到整体的解决方案从集合角度,一个模块可以包含多个组件,或者说一个模块是容器,由多个组件构成插件化插件化也是基于模块化的思想,将应用拆分为多个模块,而这些模块都是一个APK,最终原创 2022-02-19 00:12:13 · 1455 阅读 · 0 评论 -
Android:如何处理线上crash问题
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言我们都知道APP在运行期间总会发生崩溃,毕竟程序怎么写都总归会发生各式各样的崩溃;那么如何让一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn原创 2022-02-12 23:40:29 · 1545 阅读 · 0 评论 -
Android:Handler相关面试题整理
文章目录前言一、题目2.为何可以在主线程中new Handler,如果要在子线程中new Handler需要做什么工作?3.子线程中维护的Looper,当消息队列无消息的时候,处理方案是什么总结前言如果没有进行过Handler源码相关阅读和整理,强烈建议先看笔者的这篇博客Handler消息机制整理这篇记录Handler相关面试题的学习和整理一、题目12.为何可以在主线程中new Handler,如果要在子线程中new Handler需要做什么工作?子线程中使用Handler必须使用Loop原创 2022-02-10 18:20:27 · 1597 阅读 · 0 评论 -
Android:Android线程和线程池的作用
这篇笔记是笔者关于Android线程和线程池作用的学习记录原创 2022-02-09 00:29:55 · 1720 阅读 · 0 评论 -
Android:Service总结
文章目录前言一、Service概念二、Service的启动方式StartServiceBindService多个组件绑定一个Service三、Service与其他组件的通信方式1.BroadcastReceiver2.LocaService 使用Binder和服务通信Service总成前言这篇笔记是笔者在复习Android Service期间的总结一、Service概念Service是一个在后台执行长时间运行操作而不用提供用户界面的应用组件,可由其他组件启动,即使用户切换到其他应用程序,Servi转载 2022-02-08 20:33:20 · 176 阅读 · 0 评论 -
Android:Android消息机制整理
文章目录前言一、Android消息机制的构成二、为什么只允许主线程对UI进行更新操作三、消息机制具体分析ThreadLocal原理分析MessageQueueLooperHandler主线程的消息循环总结前言整理Android消息机制,帮助自己梳理Android消息机制的内容一、Android消息机制的构成Android消息机制其实就是Handler()的运行机制,我们开发过程中常常用Handler()和其他任务进行交互,如开启一个子线程完成从一个数据库中拿出数据,而后通知主线程进行UI更新,这时原创 2022-02-08 01:15:42 · 1851 阅读 · 0 评论 -
Android:Drawable学习整理
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2022-02-06 18:10:32 · 683 阅读 · 0 评论 -
Android:View机制复习、学习、再拓宽和源码解读
文章目录前言一、View基础概念什么是ViewView的位置参数原始位置参数补充位置参数View的接触事件MotionEventTouchSlopVelocityTrackerGestureDetector二、使用步骤1.引入库2.读入数据总结前言本章是对Android基础知识中的View组件和机制进行复习一、View基础概念什么是ViewView是Android所有控件的基类,类似Java中所有对象的基类Object;View是一种界面层的控件的一种抽象,它代表了一个控件。ViewGroup原创 2022-02-05 21:12:43 · 1067 阅读 · 0 评论 -
Java:深入理解Serializable和Parcelable
文章目录前言一、笔者产生的问题二、源码解读Serializable相关Parcelable相关总结前言这篇文章是笔者在学习Serializable和Parcelable两处知识点针对自己疑问去探索的学习纪录一、笔者产生的问题为什么Java实现了Serializable对象才能意识到这是支持序列化的?Serializable为什么效率上不如Parcelable?二、源码解读Serializable相关众所周知,Serializable是个空接口,要进行序列化与反序列化的类实现这个接口之后,主原创 2022-02-04 00:49:04 · 511 阅读 · 0 评论 -
Android:漫谈MVC、MVP、MVVM、MVI设计架构
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings(原创 2022-02-02 23:32:50 · 3141 阅读 · 0 评论 -
Android:如何查看Android源码
一、Android源码查看网址推荐Google官方Android源码阅读十分好用原创 2022-02-01 22:53:48 · 1805 阅读 · 0 评论 -
移动安全:Smali语法学习示例与实践
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2022-01-18 11:59:29 · 5311 阅读 · 0 评论 -
移动安全:APK的基础结构
文章目录前言一、APK的获取二、APK查看1.修改文件后缀名,点击进行查看2.APK包体结构分析总结前言在移动安全的学习过程中,最离不开的过程就是和apk文件打交道,apk加固、apk漏洞挖掘、apk反编译等过程都和apk文件息息相关以下先对apk整体结构进行认知描述一、APK的获取任意选择一款APK,有过Android开发经验的同学可以直接从AS自己打包一份APK,或者从其他渠道任意获得一份APK文件发送到自己的电脑上我这里直接获取了自己之前的项目打包出来的APK二、APK查看1.修.原创 2022-01-15 22:31:35 · 4455 阅读 · 0 评论 -
Android:onSavedInstanceState()和onRestoreInstanceState()被调用的场景及其作用
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warning原创 2021-12-02 22:05:47 · 3522 阅读 · 0 评论 -
浅析Android APP上线前的准备工作
文章目录前言一、版本设置二、上线模式1.上线模式的说明2.控制调制信息3.AndroidManifest.xml的配置修改4.数据安全5.apk加固总结前言本文介绍App上线前必须做的准备工作,包括正确设置版本信息,例如设置App图标、App名称、App版本号;把开发模式切换到上线模式,除了代码的切换外,还需修改AndroidManifest.xml;对关键业务数据进行加密处理,加密算法主要有MD5、RSA、AES、3DES、SM3等。一、版本设置开发一个正式App需要定制几类版本信息,包括但原创 2021-11-27 16:21:24 · 2555 阅读 · 0 评论 -
Android 喜马拉雅SDK XmPlayerManager setPlayList()&&getPlayList()方法失效的问题出现和解决办法
项目场景:在项目中接入喜马拉雅SDK,在用户按下播放按键的时候对播放列表通过setPlayList()方法让播放列表设置进XmPlayerManager,而后在另一场景下通过getPlayList()方法取出播放列表,从而实现播放列表的设置和读取问题描述&&原因分析:我通过初始化XmPlayManager(),而后通过对setPlayList()方法想将播放列表设置进去,然而我在另一处场景通过getPlayList()方法获取播放列表时,发现返回结果为空,这说明播放列表没有设置成功,原创 2021-11-23 11:59:40 · 1924 阅读 · 0 评论 -
Android notifydatasetChanged()方法不起作用的原因记录
项目场景:网络异步请求数据,等待请求的接口回调返回请求的数据后,封装到list中,传给RecyclerView的适配器,调用notifiydatasetChanged()方法进行数据更新展示问题描述:传递数据,调用notifiydatasetChanged()的代码部分展示如下:public void setmRadioList(List<Album> RadioList) { if (mRadioList != null) { mRadioLis原创 2021-11-21 22:02:40 · 1929 阅读 · 0 评论 -
OnStart()方法和OnResume()方法的区别
文章目录一、Activity的生命周期简述在讲onStart()和onResume()的区别之前,必须清楚Activity的四种状态:二、OnStart()和OnResume()方法的区别区别:总结一、Activity的生命周期简述在讲onStart()和onResume()的区别之前,必须清楚Activity的四种状态:1.Running状态:一个新的Activity的启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并,可与用户交互的激活装态;2.Paused状态:当Activity被原创 2021-11-20 00:47:17 · 4979 阅读 · 0 评论