Android
Kinsomy
擅长PS,PR,AI,AE的卸载和安装以及JAVA,C++,HTML,JS,JSP,J2EE,J2ME等单词的拼写
展开
-
Android Textview和Edittext文本选中样式修改实战
修改Textview和Edittext文本选中样式今天接到一个任务,因为现在的上线APP的搜索框在文本被选中的时候,高亮背景色和指示器的颜色与主题颜色相同,因此导致了用户使用上的困难,并且文本功能菜单也和文本框太靠近导致指示器可触面积太小,所以需要对样式进行修改。我隐约记得源码中有相关属性可以修改这些bug,因此我翻看了EditText的源码,因为edittext继承自Textview,于是就去T原创 2017-11-28 12:46:58 · 5236 阅读 · 1 评论 -
Flutter实践:天气预报
Muses是一款用Flutter编写的天气预报应用,代码会持续更新…使用api为魅族天气api,感谢 https://github.com/jokermonn/-Api功能支持全国地级市天气预报未来五天天气预报查看支持生活指数查看支持自定义更换背景保存城市天气列表未完成保存一系列背景根据天气情况动态更换小时级天气曲线图定位自动更新天气目前还在学习中,代码较粗糙,...原创 2018-10-17 12:47:10 · 1281 阅读 · 0 评论 -
从头开发一个Flutter插件(二)高德地图定位插件
在上一篇文章从头开发一个Flutter插件(一)开发流程里具体介绍了flutter插件的具体开发流程,从创建项目到发布。接下来将会为Flutter天气项目开发一个基于高德定位sdk的flutter定位插件。完整代码在git仓库里 https://github.com/KinsomyJS/location_plugin申请key首先先进入到高德地图定位sdk文档内下载定位sdk,并按要求申请a...原创 2018-11-12 17:13:52 · 6326 阅读 · 1 评论 -
Android进阶(一)View体系
1 坐标系Android系统里面有两种坐标系:Android坐标系、View坐标系。1.1 Android坐标系Android的坐标系是以手机上可见的屏幕左上角顶点为坐标系原点,但是xy轴的方向和我们以前知道的有所不同,需要注意,从原点向右为x轴正方向,而从原点向下为y轴正方向。android.view.MotionEvent下面有两个方法getRawX()和getRawY()...原创 2019-02-26 09:24:39 · 501 阅读 · 0 评论 -
Android进阶(二)View的测量、布局、绘制流程
1 引言在上一篇文章Android进阶(一)View体系中,分析了Android源码关于activity启动创建view的过程,在WindowManagerGlobal的addView方法里面调用了ViewRootImpl构造方法,构造root,同时在ViewRootImpl里面会调用一个performTraversals()方法,看一下源码:private void perform...原创 2019-02-26 09:25:12 · 279 阅读 · 0 评论 -
Android进阶(三)ButterKnife源码解析
1 概述ButterKnife是Android用于视图绑定的依赖注入框架,用注解来生成模板代码。通过分析ButterKnife源码可以加深对注解使用以及依赖注入概念的理解。2 ButterKnife使用2.1 引入依赖在Project的build.gradle文件中添加依赖:dependencies { implementation 'com.jakewharton:butterk...原创 2019-02-26 09:25:47 · 795 阅读 · 0 评论 -
Android进阶(四)LiveData解析
1 概述LiveData是一个可被观察的数据持有类,一般的数据类不同,LiveData是生命周期感知的,数据类的生命周期可以和其他app组件的生命周期保持一致,例如Activity,fragment和service。这保证了LiveData仅仅会更新处在活动状态的组件。LiveData可以被看成观察者模式的实践,LiveData是一个被观察的对象,其他组件会订阅对它的观察,当组件处于Start...原创 2019-02-26 09:26:21 · 698 阅读 · 0 评论 -
Android进阶(五)DataBinding解析
1 概述在上篇文章Android进阶(四)LiveData解析中讲到了关于JetPack框架的LiveData解析,这是一个基于ViewModel和观察者模式的实践。这篇文章要讲的DataBinding同样可以认为是基于ViewModel的实践,同时做到了数据和UI的双向绑定。DataBinding允许你使用声明式的而不是以编程方式将布局中的UI组件绑定到应用程序中的数据源。免去了编写find...原创 2019-03-14 15:19:02 · 1663 阅读 · 0 评论 -
Flutter在混合项目中的构建和集成
写在前头在之前的一篇文章《Flutter的探索与实践》中关于Flutter如何构建到现有项目这一节没有详细说,这篇文章将会介绍Flutter在混合项目中的构建和集成方面踩过的坑以及解决方案。目标扇贝现有的项目是原生混合React Native,并且是以组件化的架构存在,现在想在一些页面上用Flutter进行重构,想要在新的Flutter项目上集成以前的所有代码肯定是不现实的,同时又不想将Fl...原创 2018-09-28 11:29:20 · 4229 阅读 · 1 评论 -
Flutter探索与实践
Flutter是google近年来新推出的跨平台移动UI框架,可以在ios和Android系统上快速构建出高质量,体验较高的原生界面,同时Flutter还将会作为google新一代操作系统Fuchsia的Toolchain,这对Flutter的未来发展前景是一个强有力的支撑。写这篇文章时,中国 GDG 2018 刚刚落幕,Flutter团队在大会上发布了release之前的最后一个preview版...原创 2018-09-25 15:56:42 · 759 阅读 · 2 评论 -
Android Studio 开发Android依赖方式整理
Compile compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。Provided Provided是对所有的build type以及favlors只在编译时使用,类似eclipse中的external-libs,只参与编译,不打包到最终apk。APK 只会打包到apk文件中,而不参与编译,所以不能再代码中直接调用jar中的类或方法,否则在编译...转载 2017-12-20 17:28:47 · 286 阅读 · 0 评论 -
ConstraintLayout使用详解 上
传统布局缺陷<ScrollView> <LinearLayout> ... ... <LinearLayout> <LinearLayout> <LinearLayout/> <LinearLayout/> <LinearLayou原创 2017-12-27 22:47:12 · 3111 阅读 · 0 评论 -
javax.net.ssl.SSLProtocolException: SSL handshake aborted
问题出现前几天在接入新版api的时候,在Android 4.4版本的机型上测试的时候,网络请求捕获了一个异常,SSLProtocolException,具体的异常信息是com.base.http.exception.NetworkRespException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=原创 2018-01-26 17:46:45 · 10777 阅读 · 0 评论 -
关于Flutter有几点要说
关于Flutter有几点要说Flutter 是什么Flutter是google最近正式推出的一款跨平台的移动开发框架,目前处于Beta阶段。Flutter将会作为Google最新移动系统Fuchsia OS的app framework。Flutter的特点Dart可以运行前编译(AOT),在开发flutter应用的时候布局文件会直接通过源码编写node tree,从...原创 2018-03-08 15:46:17 · 3081 阅读 · 0 评论 -
Android Charles https 证书固定 防抓包
Android Charles 证书固定最近在做公司的接口全部换上了https,我们的应用也随之进行了升级,接入https。但是在使用charles进行接口抓包调试的时候就出现了一些问题。我的计划是既要能使我们的app在release和debug下都能进行charles抓包调试定位问题,还要能有效的防止其他人对应用进行抓包获取数据。之前做法由于我们使用了okhttp框架,在...原创 2018-04-02 18:01:30 · 4123 阅读 · 0 评论 -
Android gradle 打印包结构
今天为了解决包重复依赖的问题。使用了一个命令 ./gradlew dependencies :app:dependencies > dependencies.txt 可以用来打印包结构的完整树形图。 这样就可以方便的查看使用的三方包在哪里被重复依赖了。...原创 2018-04-16 16:12:14 · 660 阅读 · 0 评论 -
Android 下载器
MusesMuses是一个使用方便的Android下载器框架,作为一个刚毕业进入公司的职场萌新,接到这个组件开发任务的时候内心是十分忐忑的,经过一周的开发,基本形成了1.0版本,后续会对Muses进行不断优化升级,增加更多特性,欢迎提出issue。项目地址Muses有以下优点:支持在Activity、Service、Fragment、Dialog、popupWindow、No...原创 2018-05-02 17:27:28 · 556 阅读 · 0 评论 -
Clean Architecure
引入我们都知道编写一个高质量的软件是困难并且复杂的。它不仅需要满足需求,还要足够健壮,可维护,可测试以及灵活,这样才能够适应产品的不断变化。这时就提出了一个叫做clean architecture的概念,这个架构可以被用来开发任何的软件应用。好的架构都做了一件事:关注的分离。将代码分成多个层次结构,至少有一层是业务层,其他层次都为接口。clean architecture的概念很简...翻译 2018-05-07 23:37:56 · 276 阅读 · 0 评论 -
Android进阶(六)Glide解析-加载流程
1 引言一直想要阅读Glide源码,但是苦于时间和功力都不够,总是断断续续的,趁着现在有一些空暇时间,来简要分析Glide的源码。Glide的实现太过复杂,不可能做到面面俱到,如果每一行都细致分析,很容易陷入作者的优化细节中去而偏离主线,因此只针对几个主要功能做解析即可。以下分析全部基于Glide v4.9.0。2 初始化Glide最常见的用法就是如下一行代码:Glide.with(co...原创 2019-03-14 15:19:49 · 744 阅读 · 0 评论