Android
文章平均质量分 81
Jinwong001
这个作者很懒,什么都没留下…
展开
-
FloatingActionButton
Design Support Library库吸收了8 个新的 material design 组件!最低支持 Android 2.1,其实很多组件都是Github上比较火的,只是谷歌把它官方化了,便于开发者使用。今天我们来学习 FloatingActionButton,TextInputLayout,Snackbar,TabLayout 四种控件。 使用需要导入support.design F原创 2015-11-24 12:53:53 · 604 阅读 · 0 评论 -
《App研发录》知识点汇总
《App研发录》这部书是包建强写的,说来也巧,在读这边书之前在看池建强的《Mac 人生元编程》 ,所以读这本书的时候,将这两个建强搞混。这本书花了我一周多一点的时间看完。昨天晚看完久久不能寐,一是惊叹这本书的干货太多,这本书不同于市面上其他的Android 教程,给你讲一堆API方法,Android 基础,作者从一个APP团队的负责人的角度高屋建瓴的讲解App框架设计,Bug收集汇总分析,团队建设,原创 2016-07-23 03:02:31 · 623 阅读 · 0 评论 -
断点调试总结.md
Android Studio的断点调试非常方便,有不同的断点类型,可供使用例如: - 一般断点 - 条件断点 - 方法断点 - 属性断点 - 一次性断点 - 日志断点 如下图:原创 2016-06-20 12:32:43 · 553 阅读 · 0 评论 -
StrictMode 严格模式应用
Android 2.3提供一个称为严苛模式(StrictMode)的调试特性,Google称该特性已经使数百个Android上的Google应用程序受益。那它都做什么呢?它将报告与线程及虚拟机相关的策略违例。一旦检测到策略违例(policy violation),你将获得警告,其包含了一个栈trace显示你的应用在何处发生违例。你可以强制用警告代替崩溃(crash),也可以仅将警告计入日志,让你的应原创 2016-06-21 17:13:27 · 883 阅读 · 0 评论 -
《第一行代码》拾遗
本文是在看郭霖的《第一行代码-Android》过程中的知识点汇集,下面的摘录知识点都是我认为之前Android开发中容易忽视,或者特别重要的知识点。隐式启动一般依靠action、category、data进行匹配,只有activity的这三项内容能够匹配Intent指定内容时才会响应Intent。 每个Intent 只能指定一个action,却能指定多个category。 隐式启动除了能启动自原创 2016-08-17 09:13:41 · 501 阅读 · 0 评论 -
ABD 实用技巧
一. 概述adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,Android studio 可以直接在terminal 中操作adb,说白了就是debug工具。。 借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言原创 2016-10-27 18:49:41 · 680 阅读 · 0 评论 -
Android Studio快捷键总结
android studio 常用快捷键,及非常好用的模板,后缀模板原创 2016-11-30 10:02:14 · 491 阅读 · 0 评论 -
Android 的jar混淆踩坑之旅
最近公司需要将将之前提供个客户的jar进行混淆以保护代码,防止信息泄露。然后在网上搜了一大堆相关的android jar混淆资料,然后实践下来各有各的坑爹! 网上关于android 打jar包,proguard混淆的资料比较多,笔者就赘述了,需要可以的可以google。 本文就记录混淆jar过程中遇到的各种坑及解决办法,希望对遇到同样问题的读者有所帮助。问题1. 需不需要导入jdk 的jar包?原创 2017-04-29 15:35:02 · 1897 阅读 · 1 评论 -
View 浮在软键盘上多种实现方式及踩坑
做andriod 开发的都知道当我们需要view 浮在软键盘上最简单的做法就是使用ScrollView 将所需要浮起的View 包裹起来,然后利用ScrollView 与软键盘的特性就能实现浮起来的效果。 然而还是有不同的形式的,及坑要踩。本文就简单介绍下一. ScrollView 窗口上移软键盘浮起时布局变化与占据焦点的EditText位置有很大关系。当占据焦点的EditText在软键盘上面布原创 2017-05-01 20:45:13 · 1329 阅读 · 0 评论 -
人脸识别预研
1. 人脸识别发展以往的人脸识别主要是包括人脸图像采集、人脸识别预处理、身份确认、身份查找等技术和系统。现在人脸识别已经慢慢延伸到了ADAS中的驾驶员检测、行人跟踪、甚至到了动态物体的跟踪。由此可以看出,人脸识别系统已经由简单的图像处理发展到了视频实时处理。而且算法已经由以前的Adaboots、PCA等传统的统计学方法转变为CNN、RCNN等深度学习及其变形的方法。现在也有相当一部分人开始研究3维人原创 2017-07-05 09:54:08 · 2296 阅读 · 0 评论 -
APK 瘦身
APK 大小分析NimbleDroid 分析方法数的图片优化VectorDrawabletinyPng 有损压缩png→jpgjPG→Webp(反应在 小米2刷成4.xx的手机上,未能正确识别xml文件中描述的webp图片,导致界面起来后加载xml布局文件,文件加载webp失败,及 三星的部分机型上,部分有alpha背景部分的图会有一条很明显的黑线 )大图缩小去掉库中未用的默认图原创 2017-06-27 17:36:27 · 482 阅读 · 0 评论 -
优雅的懒加载方法
最近在重构公司公司的主页,其中用到了懒加载,所以找了网上的懒加载的介绍的博客,读了好几篇关于懒加载的文件,发现不是讲解太简单,就是代码不够清晰,而且在懒加载的实现原理上没有透彻的讲清楚,在实际应用实践中会发现各种不同问题。小弟不才,愿意认真分析懒加载的原理实现与应用,希望对各位看官有些收获。在使用viewpager(或其他容器)与多个Fragment来组合使用,ViewPager 会默认一次加载当前原创 2016-07-23 02:55:25 · 3072 阅读 · 2 评论 -
玩玩人脸识别
人脸识别Android自带的API:FaceDetectorStep 1: 读取bitmap图片(API 只接受Bitmap) (拍照或者从相册中也可以)Bitmap sampleBmp=BitmapFactory.decodeResource(getResources(), R.drawable.sample1);Step 2: 通过FaceDetector API进行人脸识别//FaceD原创 2016-05-14 16:51:37 · 946 阅读 · 0 评论 -
Android 原生BottomSheet 介绍及坑
Android Support Library 23.2 推出之后,增加了几个功能,例如支持Vector Drawables 和Animated Vector Drawables;增加AppCompat DayNight 主题;Design 库中增加Bottom Sheets,RecyclerView 支持 auto-measurement,之前的wrap_content ,match_parent原创 2016-03-07 11:41:46 · 5242 阅读 · 0 评论 -
OkHttp3升级实践与之前2.0对比
Okhttp是一个高效的Http客户端,我们公司的app也采用Okhttp。 OKhttp在过年之前更新到了3.0了。3.0相对与之前的2.0变动比较大,不能直接升级版本后就行,现在讲讲我在将OkHttp升级到3.0过程中需要更改的地方,及okhttp3.0 与之前的2.0的对比。1,包名改变包名改了由之前的 com.squareup.http.* 改为 okhttp3.* 我们需要将导包名直原创 2016-03-07 14:47:12 · 2946 阅读 · 0 评论 -
软键盘问题汇总
软键盘在Android中是重要的输入设备,如果我们对其进行友好化优化的话,对提高用户体验有大大的帮助。原创 2016-04-13 18:08:47 · 736 阅读 · 0 评论 -
Android Studio gradle总结
Gradle是什么?Gradle 是以Groovy为基础,面向java应用,基于DSL语法的自动化构建工具。是google引入,替换ant和maven的新工具,其依赖兼容maven和ivy。使用gradle的目的: 更容易重用资源和代码; 可以更容易创建不同的版本的程序,多个类型的apk包; 更容易配置,扩展; 更好的IDE集成;首先明确gradle跟maven一样,也有一个配置文件,mav原创 2016-04-17 02:23:01 · 738 阅读 · 0 评论 -
proguard混淆
为了防止开发APP的重要code 被泄露,我们往往需要混淆(Obfuscation code ), 也就是把方法,字段,包和类这些java 元素的名称改成无意义的名称,这样代码结构没有变化,还可以运行,但是想弄懂代码的架构却很难。 proguard 就是这样的混淆工具,它可以分析一组class 的结构,根据用户的配置,然后把这些class 文件的可以混淆java 元素名混淆掉。在分析class 的,原创 2016-04-18 14:10:54 · 3640 阅读 · 0 评论 -
Chrome Custom Tabs
Chrome Custom Tabs 标签优点Chrome自定义标签页(Custom Tabs)将允许应用预加载,从而将网页的加载时间直接减半。 它的速度比WebView更快,预加载的效果甚至好于Chrome本身。 持良好的用户体验,并且让用户感觉这个自定义 Tab 就是您应用的一部分。 使用方法比WebView 简单,只需要一行代码,和直接调用系统浏览器显示网页没啥区别 有大量自定义属性原创 2016-05-14 16:21:10 · 1056 阅读 · 0 评论 -
App Links
安卓6.0加强了软件间的关联,点击一个web链接就能直接跳转到app,而不再是网页。 在Android M之前,点击一个链接会产生一个弹出框,询问用户打开哪个应用 - 包括浏览器应用。但是谷歌在Android M 实现了一个自动认证(auto-verify)机制,让开发者可以避开这个弹出框,使用户不必去选择一个列表,直接跳转到他们的app。 步骤如下:网页端statements.json文件配原创 2016-05-14 16:24:08 · 775 阅读 · 0 评论 -
Property Animation(属性动画)
动画类型View Animation(Tween Animation 补间动画) 只能支持简单的缩放、平移、旋转、透明度等基本的动画,且有一定的局限性 动画时View的真正的View的属性保持不变,实际位置未改变 原理:提供动画的起始和结束状态信息,中间的状态根据上述类里差值器算法填充Drawable Animation(Frame Animation 帧动画)Property Anim原创 2016-05-14 16:26:42 · 745 阅读 · 0 评论 -
Palette(调色板)
利用Palette库来取得图片中的主要色彩使用这个Android的开源库android-support-v7-palette。流程: 得到一个bitmap,通过方法进行分析,取出LightVibrantSwatch,DarkVibrantSwatch,LightMutedSwatch,DarkMutedSwatch这些样本,然后得到rgb。Palette这个类中提取以下突出的颜色: Vibr原创 2016-05-14 16:32:47 · 1784 阅读 · 0 评论 -
Toolbar总结
Toolbar其实是一个ActionBar的变体,大大扩展了Actionbar。我们可以像对待一个独立控件一样去使用ToolBar,可以将它放到屏幕的任何位置,不必拘泥于顶部,还可以将它改变高度或者是在ToolBar上使用动画。从最新的SDK看,很多actionbar的方法已经变成了废弃的了,所以我们可以断定未来就是Toolbar将会完全取代ActionBar!1. 布局可以直接在xml布局文件中设原创 2016-05-14 16:46:00 · 433 阅读 · 0 评论 -
Android内存泄露及解决方法总结
1. 概述Java内存泄漏指的是进程中某些对象(垃圾对象)已经没有使用价值了,但是它们却可以直接或间接地引用到gc roots导致无法被GC回收。无用的对象占据着内存空间,使得实际可使用内存变小,形象地说法就是内存泄漏了。2. 常见泄露类型2.1. 集合类泄露如果集合类仅仅有添加元素,而没有相应的删除机制,会导致内存被占用。当将集合中元素置空,但是集合因为持有对元素的引用,导致内存回收不,而发生内存原创 2017-07-23 20:48:38 · 745 阅读 · 0 评论