
安卓进阶
文章平均质量分 87
huhanghao
Dream it Wish it Do it
展开
-
android 第三方应用 启动app
本地应用manifest的设置Manifest中 Data的语法:<data android:host="string" android:mimeType="string" android:path="string" android:pathPattern="string" android:pathPrefix="string" ...原创 2020-02-19 17:13:01 · 1217 阅读 · 0 评论 -
Android签名
Android签名:目前Android签名有两种,一种为V1签名,另外一种为V2签名。V1签名:V1签名是对 JAR 签名,通过验证 APK检测Apk包的合法性。V2签名:在 Android 7.0 中Google引入了V2签名的机制,引入了DRM签名机制, 通过确保用户使用的是不被篡改的应用,从而提升 Android 用户的安全体验。V2签名机制是一种全文签名方案,该方案能够发现对APK受保护部...原创 2018-07-10 09:24:47 · 213 阅读 · 0 评论 -
安卓安全需要注意的地方
安卓安全需要注意的地方最近公司产品通过第三方安全机构评估之后暴露了不少安全问题,对此感觉该做个笔记总结总结,毕竟是花了钱获得的知识。终端Root利用漏洞问题:终端在ROOT条件下如果被恶意应用获取ROOT权限后则可以随意访问任意应用储存的任何数据,造成数据泄露、数据非法篡改等风险。一个应用程序的进程就是一个安全的沙盒,每一个Android应用程序都会在安装时就分配一个独有的Linux用户ID,这就...原创 2018-06-12 19:44:15 · 527 阅读 · 0 评论 -
OkHttp拦截器学习
OKHttp拦截器拦截器可以注册为应用拦截器和网络拦截器。应用拦截器是在请求执行刚开始,还没有执行OkHttp的核心代码前进行拦截。通过addInterceptor添加应用拦截器OkhttpClient client = new OkhttpClient.Builder() .addInterceptor(new LogginInterceptor) .build(); 网络拦截器...原创 2018-06-12 18:26:10 · 686 阅读 · 0 评论 -
Http Post请求再学习
Http Post请求再学习前言:用了很久的post请求,但是对post还是有些陌生,这次就好好研究下post请求。参考:https://imququ.com/post/four-ways-to-post-data-in-http.html 我们先来看postman的界面对于post请求,我们需要设置authorization,header,body,pre-request scriptauth...原创 2018-04-10 16:50:39 · 2446 阅读 · 0 评论 -
项目框架搭建用到的第三方框架—1
项目框架搭建用到的第三方框架—1工具类:AndroidUtilCodeGit地址:https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/README-CN.md简介:这是一个很棒的工具类,基本上封装了大部分我们能用到的工具类。如果项目多的话能用一套工具箱开发的话,会很省力气。它的功能包括:1、A...原创 2018-03-13 14:22:09 · 765 阅读 · 0 评论 -
Android Gradle学习2——gradle生命周期和重要的gradle
Android Gradle学习2——gradle生命周期和重要的gradle参考:https://mp.weixin.qq.com/s?__biz=MzIwMzYwMTk1NA==&mid=2247487574&idx=1&sn=4e5a0aef6366ae5c809a4abc448fc209 Android Gradle 的 Project 和 Tasks这个Gradle中原创 2018-01-08 11:44:45 · 908 阅读 · 0 评论 -
安卓架构从mvc到mvp再到mvvm
安卓架构从mvc到mvp再到mvvm参考:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.htmlhttps://zhuanlan.zhihu.com/p/25272412https://www.tianmaying.com/tutorial/AndroidMVC mvc:各部分意义: 模型层(Mod原创 2017-09-12 17:14:43 · 2764 阅读 · 0 评论 -
Android Lint的使用和配置
Android Lint的使用和配置参考:https://www.jianshu.com/p/ba1ce1c1ae39http://blog.youkuaiyun.com/u011240877/article/details/54141714http://blog.youkuaiyun.com/hp910315/article/details/51375000lint简介lint是Androi原创 2018-01-04 11:49:37 · 1162 阅读 · 0 评论 -
安卓自定义控件常用对象及方法
自定义控件常用对象及方法常用对象:VelocityTracker:在android中主要应用于touch event。 VelocityTracker通过跟踪一连串事件实时计算出当前的速度。android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事件)的速率。用addMovement(Mot原创 2017-01-09 10:16:54 · 1370 阅读 · 0 评论 -
项目框架搭建用到的第三方框架—2
项目框架搭建用到的第三方框架—2ButterKnifGit地址:https://github.com/JakeWharton/butterknife简介:这个库的知名程度就不说了,JakeWharton大神也是我一直的偶像~很多牛逼的库都出自他手。这个框架,主要的功能是简化View的获取方式,通过注解的方式直接获取View对象。EventBusGit地址https:...原创 2018-08-04 14:47:57 · 417 阅读 · 0 评论 -
Project中Gradle
Project中Gradle项目中的project的gradleapply from: "config.gradle"buildscript { repositories { google() jcenter() maven { name 'Sonatype SNAPSHOTs'; url 'https:/...原创 2018-08-17 14:21:38 · 482 阅读 · 0 评论 -
Android StatusBar相关设置
Android StatusBar设置自 4.4 版本(API 19)以后,Android 系统开始支持状态栏的定制,并被纳入 Android 设计规范当中。statusBar的颜色设置通过theme实质对应的颜色:<!-- 设置status的颜色 --><item name="android:statusBarColor">@android:col...原创 2018-08-20 13:42:47 · 2579 阅读 · 0 评论 -
Android Studio 相关概念Gradle、SDK和AS3.0中的注意事项
Android Studio 相关概念Gradle、SDK和AS3.0中的注意事项Gradle 和 Gradle插件Android的构建系统使用Gradle来构建应用.Gradle是一种构建工具,它使用一种基于Groovy的特定领域语言来申明项目设置.Gradle能够自动帮我们完成: 添加项目的依赖,打包,签名,发布等一系列操作。Gradle通过编写一个名为build.gradle的脚...原创 2019-06-06 14:52:09 · 502 阅读 · 0 评论 -
Android各种生命周期、流程总结
Android各种生命周期、流程总结View的展示:View的关键生命周期为:[改变可见性] --> 构造View() --> onFinishInflate() --> onAttachedToWindow() --> onMeasure() --> onSizeChanged() --> onLayout() --> onDraw() -...原创 2019-06-06 14:47:50 · 427 阅读 · 0 评论 -
RecyclerView中的回收机制
RecyclerView中的回收机制具体博客请参看:https://blog.youkuaiyun.com/harvic880925/article/details/82656394两级缓存:mCachedViews(size=2)->mRecyclerPool(size=5)mCachedViews:保存两个HolderView。这里保存的始终是最新鲜被移除的HolderView...原创 2019-03-01 09:42:46 · 2733 阅读 · 0 评论 -
Android进程保活
Android进程保活进程划分前台进程(Foreground process)用户正在使用的程序,一般系统是不会杀死前台进程的,除非用户强制停止应用或者系统内存不足等极端情况会杀死。可见进程(Visible process)用户正在使用,看得到,但是摸不着,没有覆盖到整个屏幕,只有屏幕的一部分可见进程不包含任何前台组件,一般系统也是不会杀死可见进程的,除非要在资源吃紧的情况下,...原创 2018-12-12 23:27:51 · 364 阅读 · 0 评论 -
Fragment深入解析和学习
Fragment深入解析和学习Fragment的产生在多屏展示的时候,为了维护各个展示界面独立的生命周期和数据加载效果。概述对于Fragment的使用,一方面Activity需要在布局中为Fragment安排位置,另一方面需要管理好Fragment的生命周期。Fragment中涉及的对象和方法:FragmentManager:Activity中的FragmentMana...原创 2018-11-27 09:54:49 · 202 阅读 · 0 评论 -
项目框架搭建用到的第三方框架—3(持续更新中)
项目框架搭建用到的第三方框架—3QMUI_AndroidGit地址:https://github.com/QMUI/QMUI_Android官网:https://qmuiteam.com/android/Api说明地址https://qmuiteam.com/android/documents/简介:一个高效的UI开发库,提供了很多现成的比较优美的andro...原创 2018-10-19 11:11:14 · 257 阅读 · 0 评论 -
Android Gradle学习3—依赖的统一管理
Android Gradle学习3—依赖的统一管理参考:https://www.jianshu.com/p/a092bcc3de7d 依赖的统一管理为了避免一个 Project 中有多个 Module 的情况,如果每个 Module 又同时拥有相同的依赖,比如 v4 包,那么,每次 v4 包升级的时候修改多个 Module 中的 build.gradle 文件,所以,将依赖进行...原创 2018-09-14 09:30:32 · 159 阅读 · 0 评论 -
Android组件化实践2——经典组件化项目架构
Android组件化实践2——经典组件化项目架构京东的采用aab( Android App bundles)之后的架构图安居客项目架构演化参考:https://zhuanlan.zhihu.com/p/25420181安居客在业务上完成了三网合并(新房、二手房、好租和商业地产多个平台的合并),冗余代码充斥项目的各个角落,于是梳理了整个项目的结构。同时开发了自己的UI组件库UIC...原创 2018-09-12 15:32:37 · 908 阅读 · 0 评论 -
Android 组件化实践1——组件化预览
Android 组件化实践1——组件化预览参考:https://github.com/alibaba/ARouterhttps://www.jianshu.com/p/1b1d77f58e84模块化、组件化与插件化为了防止代码臃肿,保持项目的可读性,我们往往采用模块化的指导思想去对项目结构进行设计。如此便有了两大流派:组件化和插件化组件化:1、 组件化是一个有机...原创 2018-09-12 09:29:25 · 379 阅读 · 0 评论 -
WebView详解学习
WebView详解学习参考:https://www.jianshu.com/p/3c94ae673e2ahttps://blog.youkuaiyun.com/carson_ho/article/details/64904691WebView的相关设置WebView的前进后退//是否可以后退 Webview.canGoBack() //后退网页 Webview.goBack(...原创 2018-08-27 16:24:34 · 426 阅读 · 0 评论 -
Android Gradle学习1--android studio中的相关配置
Gradle学习和在android studio中的相关配置参考:http://www.cnblogs.com/davenkin/p/gradle-learning-1.htmlhttp://teachcourse.cn/2385.html Gradle能够干什么Gradle只是提供了构建项目的一个框架,真正起作用的是Plugin。Gradle本身的领域对象主要有Pro原创 2017-04-10 15:38:05 · 1073 阅读 · 0 评论 -
Android 网络层学习
Android 网络层学习参考:https://mp.weixin.qq.com/s?__biz=MzIwMzYwMTk1NA==&mid=2247486825&idx=1&sn=db596ed4b69bd9220f6a8ad79ef308db TCP/IP协议:TCP/IP协议族按照层次由上到下,层层包装,而其协议通信的过程其实就对应着数据入栈与出栈的过程,也就是不断地根原创 2017-09-28 14:24:28 · 684 阅读 · 0 评论 -
从模块化到组件化再到插件化
从模块化到组件化再到插件化参考:http://blog.xiaohansong.com/2015/10/21/IoC-and-DI/http://blog.youkuaiyun.com/dd864140130/article/details/53645290http://blog.youkuaiyun.com/smallspot/article/details/52221049https://gith原创 2017-04-17 22:02:35 · 17133 阅读 · 0 评论 -
组件化开发小帮手activityRouter
组件化开发小帮手activityRouter参考:github上的地址:https://github.com/mzule/ActivityRouter优点我们在用组件化开发过程中,需要用到module之间的activity跳转,又不希望持有相应的对象,尽量实现解耦和,我们就选用了ActivityRouter,它通过注解来跳转,就不用持有相应的的对象了。 配置方法:原创 2017-03-31 15:06:06 · 3876 阅读 · 0 评论 -
安卓IPC机制学习
安卓IPC机制学习参考:https://my.oschina.net/keeponmoving/blog/64218http://blog.youkuaiyun.com/luoshengyang/article/details/6618363http://blog.cgsdream.org/2015/11/09/binder-analysis/IPC机制:是什么:IPC是Int原创 2017-03-31 14:51:27 · 313 阅读 · 0 评论 -
解耦框架 ModularizationArchitecture 学习解析
ModularizationArchitecture Demo结构分析引导作者对于框架结构的思考:http://blog.spinytech.com/2016/12/28/android_modularization/项目Github地址:https://github.com/SpinyTech/ModularizationArchitecture项目的使用:http:原创 2017-03-20 10:52:23 · 2293 阅读 · 0 评论 -
解耦框架 ModularizationArchitecture 的改进版本
ModularizationArchitecture 的改进版本参考:改进后的github地址:https://github.com/wutongke/ModularizationArchitecture 改进地方:这个改进版本是由github上wutongke做出的。是针对之前框架的几个问题改进的:1、 注册module和action的机制太复杂,所以引入注原创 2017-03-22 22:41:13 · 586 阅读 · 0 评论 -
Intent深入理解
Intent深入理解Intent的通讯机制是基于Binder的,而Binder的机制本质上是共享内存;概念:Intent的架构:包括三方面Client,也就是发送这个Intent的activity;Server,也就是activityManagerService.java,它主要是负责分发这些Intent给适当的对象;Target,也就是那些需要处理原创 2017-01-20 14:19:50 · 2986 阅读 · 1 评论 -
安卓网络框架总结:
安卓网络框架总结:HttpURLConnection基本提交方式:代码:tomcat服务器端的代码:界面:事物处理层:Get提交:Post提交:方法区:httpClient方式提交数据:httpc原创 2017-02-19 18:15:40 · 332 阅读 · 0 评论 -
安卓资源管理框架
安卓资源管理框架参考博客:http://blog.youkuaiyun.com/luoshengyang/article/details/8744683资源文件种类:assetsassets类资源放在工程根目录的assets子目录下,它里面保存的是一些原始的文件,可以以任何方式来进行组织。这些文件最终会被原装不动地打包在apk文件中。如果我们要在程序中访问这些文件,那么就需原创 2017-01-18 09:02:27 · 710 阅读 · 0 评论 -
安卓动画学习笔记
动画学习笔记参考学习文章:http://blog.youkuaiyun.com/harvic880925/article/details/50995268动画技能树概述:Tween Animation:它由四种类型组成:alpha、scale、translate、rotate;补间动画,其实对控件的真正的属性没有变化,它作用的是控件的画布,通过对画布的操作实原创 2017-01-08 10:05:06 · 305 阅读 · 0 评论 -
apk从打包到安装到启动
把安卓从apk打包到开机到apk安装到显示好好看了下,只是大概过程,里面的很多类都不是很理解,但仅仅是想学习下整体流程,接触下各个阶段涉及的类,为后面看源码做准备。老罗的源码解析的书翻开了还几次最终还是关上了,感觉太晦涩,总觉得是不是自己知识储备不够还是看源码不够耐心。总之不管了,变成大牛路上的恶龙总要一只一只斩杀,就算斩杀不了大龙,也先拿小龙熟悉下。原创 2017-01-06 11:04:52 · 2844 阅读 · 0 评论 -
安卓线程池和任务
安卓线程池和任务:线程和任务的区别:线程若开辟,我们需要在内存中开辟相应的资源进行执行,而任务只是一个方法;ThreadPoolExecutor线程池操作即一个线程的集合;当添加到线程池时,我们判断核心线程数量是够到达设置的上限,未到达则加入核心线程,达到则加入缓冲线程队列中(缓冲队列线程也有数量上限);当到达最大缓冲线程上限,会去看最大线程数量(其值需减去原创 2017-02-17 11:09:22 · 860 阅读 · 0 评论 -
安卓线程池和任务:
安卓线程池和任务:线程和任务的区别:线程若开辟,我们需要在内存中开辟相应的资源进行执行,而任务只是一个方法;ThreadPoolExecutor线程池操作即一个线程的集合;当添加到线程池时,我们判断核心线程数量是够到达设置的上限,未到达则加入核心线程,达到则加入缓冲线程队列中(缓冲队列线程也有数量上限);当到达最大缓冲线程上限,会去看最大线程数量(其值需减去原创 2017-04-22 10:20:32 · 343 阅读 · 0 评论 -
Android进程、线程、任务、活动栈
Android进程、线程、任务、活动栈 参考:http://blog.spinytech.com/2016/11/15/android_multiple_process/https://developer.android.com/guide/components/processes-and-threads.html#Processeshttp://blog.youkuaiyun.com/j原创 2017-05-03 22:02:59 · 2348 阅读 · 0 评论 -
APP从启动到主页面显示
转载自:http://www.jianshu.com/u/0fa6f5d09040感觉写的很棒,理解好多新东西文章目录前言流程概述理论基础启动流程0前言本文以图文并茂的形式简单介绍一个APP从启动到主页面显示经历了哪些流程,以及实现的原理。不介绍具体源码,仅仅构建一个转载 2017-09-26 14:21:31 · 377 阅读 · 0 评论 -
Thread、Handler、HandlerThread的区别
Thread、Handler、HandlerThread的区别参考:http://waylenw.github.io/Android/android-handler-thread-usage/ Thread:普通的异步线程。Handler:异步更新UI的,更详细的说是用来做线程间的通信的,更新UI时是子线程与UI主线程之间的通信。Thread和Handler都比较熟原创 2017-08-30 13:09:27 · 2608 阅读 · 0 评论