
安卓
hjm_1fb1990
https://github.com/hjm1fb
展开
-
简书地址
后续文章都会在简书更新:hjm1fb原创 2018-03-21 14:38:19 · 364 阅读 · 0 评论 -
Android资源和国内镜像站点,以及其他工具网站
http://www.androiddevtools.cn http://blog.youkuaiyun.com/hylaking/article/details/41143661http://blog.youkuaiyun.com/yan8024/article/details/42234485http://ask.android-studio.org/?/article/34http://segmen转载 2015-08-22 14:12:08 · 146758 阅读 · 0 评论 -
在Intent中传递接口
参考:http://stackoverflow.com/questions/24780000/android-how-to-send-interface-from-one-activity-to-another总结:在Activity中不能用intent传递匿名接口,原因如下:Activity A中生成了匿名接口M, 这个接口的引用就在组Activity A中,Activity A会禁止接口M原创 2015-08-19 17:03:22 · 3607 阅读 · 0 评论 -
Android GC 学习笔记
阅读的文章:Android GC 原理探究下面补充一些备注和笔记。算法复制算法 (Copying)图示:标记-压缩算法 (Mark-Compact)英文描述: mark-compact 总结起来就是 标记 —> 压缩有用的对象到一端 —> 回收此端外剩下的空间 图示:可以看出,这两种算法都可以减少内存碎片GC Roots英文官方说明:The root kinds are:原创 2017-07-20 19:31:25 · 349 阅读 · 0 评论 -
仿网易云和支付宝首页嵌套滑动
项目地址:https://github.com/hjm1fb/NestedScrollDemodemo1 在 Android NestedScrolling机制完全解析 带你玩转嵌套滑动 的基础上实现了带ViewPager的嵌套滑动,并增加渐变和浸入式效果。可用于类似网易云专辑详情页,歌手页这样的页面demo2 类似于支付宝首页,带有下拉刷新功能的嵌套滑动原创 2017-07-06 20:11:50 · 982 阅读 · 0 评论 -
Bug记录
记录不常见的bug, 也就是很难Google到的bug,方便自己和其他开发者.1.TabLayout如果不设置tabIndicatorColor会抛如下异常 Error inflating class … Caused by: java.lang.RuntimeException: Failed to resolve attribute at index 0 at android.cont原创 2016-11-11 18:12:08 · 544 阅读 · 0 评论 -
Android贝塞尔曲线的理解与应用
贝塞尔曲线的由来 皮埃尔·贝塞尔1962年在设计汽车外形时发明了贝塞尔曲线,目前被广泛的运用在汽车流线设计和计算机图形领域 贝塞尔曲线包括起点,终点和控制点。 一阶贝塞尔曲线没有控制点,只是简单的经过时间t, 从P0点移动到P1点 公式: 二阶贝塞尔曲线控制点为P1, 根据两个绿点作出一条线段,然后确定贝塞尔曲线的点。比如t= 0.5时,左边的绿点在P0-P1的中点原创 2017-06-08 19:35:07 · 2418 阅读 · 0 评论 -
Android Matrix 的理解与应用
矩阵能做什么仿射变换 缩放 旋转 移动 翻转 错切对应Matrix类 颜色与色相修改 对比度 亮度 饱和度 滤镜 对应ColorMatrix类 Matrix内部实现点坐标用矩阵表示为多一个1是为了形成齐次坐标系,以便用矩阵乘法来实现图像的仿射变换变换矩阵为3*3的矩阵下面来看一段代码上图第四行的平移变换实现如下通过矩阵计算可验证其正确性第三行的缩放变换实现原创 2017-05-24 17:45:03 · 439 阅读 · 0 评论 -
ANR问题记录
案例1: ANR提示03-13 21:11:44.813 E/ANRManager( 820): ANR in com.my.fm03-13 21:11:44.813 E/ANRManager( 820): Reason: Executing service com.my.fm/.common.downloadmgr.DownloadService第一反应是查看DownloadService原创 2017-03-14 15:04:14 · 1927 阅读 · 0 评论 -
安卓中的设计模式举例
在讲设计模式前,先通过讲故事复习一遍 面向对象设计六原则单一职责原则,SRP(Single Responsibility Principle)开放-关闭原则,OCP(Open-Close Principle)里氏替换原则,LSP(Liskov Substitution Principle)接口隔离原则,ISP(Interface Segregation Principle)依赖倒置原则,原创 2016-09-20 11:57:58 · 645 阅读 · 2 评论 -
反编译APK
Windows环境可以一键编译Mac环境下反编译 看代码用JADX 或者AndroidDecompiler看架构用ClassyShark补充: 谷歌的APK反编译工具enjarify 以及传统方法 apktool + dex2ja+ jd-gui原创 2016-07-07 14:03:55 · 639 阅读 · 0 评论 -
Android APP性能分析工具
本文基本翻译自Facebook工程师的文章 Speed up your app,也加入了自己的一些内容。会介绍以下几个主题SystraceTraceviewMemory ProfilingAllocation TrackerGPU ProfilingHierarchy ViewerOverdrawAlphaHardware AccelerationSystraceSyst翻译 2016-09-23 21:07:38 · 11263 阅读 · 2 评论 -
ANDROIDASYNC 作为安卓的 Http Server
demo:http://programminglife.io/android-http-server-with-androidasync/http://programminglife.io/processing-request-body-with-androidasync/转载 2015-08-19 18:25:23 · 1939 阅读 · 0 评论 -
Gradle相关
打印项目所有远程依赖及子依赖task allDeps(type: DependencyReportTask) {} 然后在右侧的gradle栏点击allDeps 或者在terminal中输入 ./gradlew allDeps 效果如下原创 2016-09-29 16:57:24 · 608 阅读 · 0 评论 -
瘦身APK 加快项目编译(MAC & AS版)
技术背景:随着一次次的产品迭代,项目变得越大越大,同时编译项目也越来越耗时,原来调侃点击AS的run后可以先去泡杯咖啡。现在要泡两杯咖啡才能编译好 采取的措施:网上看了些文章,比如这个有很多措施可以瘦身APK,当然瘦身后编译也会快起来。但大多数措施还是比较耗时或者复杂,或者有兼容性的顾虑。我就先采用些简单的方法,并且记录下具体步骤,而且主要目的是提高编译速度。lint unused resourc原创 2016-03-25 15:13:07 · 815 阅读 · 0 评论 -
Android 设置秒开全屏启动屏
1. 添加主题 @drawable/splash true true true true true true @android:color/transparent 2. 使用主题<activity android:name=".原创 2017-05-03 12:42:48 · 3984 阅读 · 0 评论 -
Android视频播放学习笔记
MediaCodec.configure(MediaFormat format,Surface surface, MediaCrypto, crypto, int flags) 方法需要传一个surface参数。 如果不是输出视频流,或者将输出是ByteBuffer,就传null 如果你不对视频帧任何编辑,可以直接传 SurfaceView.getHolder().getSu原创 2017-09-11 19:03:42 · 458 阅读 · 0 评论 -
Android Studio 相关
Android Studio 1.0正式版墙内下载地址:http://pan.baidu.com/s/1sjr1dpj1.由于我的jdk是32位的,安装成功后报 "64 bit jdk not found" 。百度的方法都是编辑studio.bat文件,但是我的安装目录下并没有这个文件。我就在bin文件夹下挨个打开文本类文件,还是找不到相应的配置文件。然后发现bin下有 studio.exe原创 2015-03-18 11:36:50 · 1674 阅读 · 0 评论 -
Google DataBinding 框架学习资料
入门指南 比较全面的入门demo优点: 自动null Check; 自动找公开成员变量或者get方法, 1.contact.nam 2.app:ScrimClor; 支持list map; 性能好,无反射,findview次数不增加时间; 解耦,比如定义loadImage的接口后就可以在xml中使用,更改加载框架xml不需要变;原创 2016-10-12 15:46:14 · 370 阅读 · 0 评论 -
StarWars.Android 界面粉碎效果中的openGL操作解析
最近在学习openGL,就找了几个相关的开源项目,一边理解,一边记录~ 这篇文章要介绍的项目来自久负盛名的yalantis项目giuhub地址首先简要翻译一下官方原理介绍:<星战: 原力觉醒> 如何在安卓中粉碎视图首先,我们面临两个挑战:View粉碎和繁星点点的背景。我有好几个有趣的方案来实现它们。原创 2017-09-06 15:20:26 · 808 阅读 · 1 评论 -
Mac环境下opencv for android笔记
想不到时隔一年,又要接触NDK了。 首先按照在Android Studio中安装OpenCV mac环境/Linux环境小试了一把。需要注意的是,jni的文件夹名必须是作者截图中的jniLibs,不然System.loadLibrary方法会报错。 待续。。。原创 2017-08-12 17:02:16 · 906 阅读 · 0 评论 -
NDK优化方向
Neon Neon是一种SIMD(single instruction multiple data)技术,能够让一条命令在多组数据上同时执行。这样在循环等操作时就可以成倍的减少耗时。 Neon支持/Android DeveloperAndroid平台-彩色RGB图像灰度化-neon优化实例解析Android NDK使用NEON优化,SIMD优化苹果网站的Neon命令手册Neon指令汇总还原创 2017-09-13 14:01:15 · 509 阅读 · 0 评论 -
OpenGL ES for Android 笔记
调用Matrix.translateM时,执行的是 Mvm * Ntran 其中 Mvm 是ModelView矩阵,跟顶点矩阵是同样的形式 Ntran 是平移矩阵 对照着图,就不难理解Matrix.translateM方法执行的源代码列了。我们再执行Matrix.rotateM,结果是 Mvm * Ntran* Nrotate 这样得到的结果 Mresult 再与初始顶点坐标矩阵原创 2017-09-03 14:09:08 · 460 阅读 · 0 评论 -
用Python简化安卓开发系列
有时候编译打包时会报资源文件格式错误。比如某个jpg的文件被重命名为png, 然后放到了图片资源目录下,就可能导致编译失败。 为此写了一个Python脚本来自动检测此类错误。# -*- coding: utf-8 -*-import osimport imghdrPATH = r"/Users/apple/Desktop"pngString = "png"for path, dirs, f原创 2017-06-29 13:17:42 · 1010 阅读 · 0 评论 -
基于AndroidAsync框架搭建android http server
使用的框架是AndroidAsync项目地址:https://github.com/koush/AndroidAsync/tree/master/AndroidAsync/src/com/koushikdutta/async参考的文章是 http://programminglife.io/android-http-server-with-androidasync/https://git原创 2016-01-18 14:53:05 · 14552 阅读 · 8 评论 -
高仿Tencent OS录音机波形动画
在 Android:自绘动画实践——以Tencent OS录音机波形为例 的基础上,参照 Android自绘动画实现与优化实战——以Tencent OS录音机波形动画为实例 优化,最后加上了浮点。 Github地址: https://github.com/hjm1fb/RecorderWave原创 2016-12-27 22:24:31 · 1818 阅读 · 0 评论 -
从左上角到右下角的水滴效果实现(基于贝塞尔曲线)
我想做的效果图是后来知道类似的效果用贝塞尔函数能实现,然后找到了这篇文章:http://www.jianshu.com/p/791d3a791ec2 (打赏了作者两元,因为作者把原理解析的深入浅出。 简书有打赏功能,好想把文章搬过去,后来想想自己的文章深度还不够,就算了,2333)我上面文章demo的基础上改成了如下的效果:感觉形状的变化可以改进,而且只原创 2016-01-11 14:14:15 · 3640 阅读 · 0 评论 -
【android ndk】macos环境下Android Studio中利用gradle编译jni模块及配置
http://blog.youkuaiyun.com/ashqal/article/details/21869151转载 2015-08-22 15:10:54 · 547 阅读 · 0 评论 -
Android 动态设置尺寸
TextView.setSize 是用sp,LinearLayout.LayoutParams 是pxsetMargin 是px原创 2015-06-05 16:05:26 · 652 阅读 · 0 评论 -
安卓应用内切换语言
安卓应用内切换语言原创 2015-04-17 12:08:38 · 577 阅读 · 0 评论 -
Xstream相关
ANDROID中添加JAVAX包http://8-bits.diandian.com/post/2010-12-27/40049294105原创 2014-11-17 15:47:48 · 751 阅读 · 0 评论 -
ListView里面有EditTextView,解决弹出键盘后EditView不能获取焦点的问题
虽然ListView里面动态生成EditTextView不是Android UI Friendly, 但是需求就是这样,那就硬着头皮去做了。遇到的问题是点击EditText,键盘弹出后,输入光标会消失,需要再点击一次才能获取光标,这个大概是因为listview不能很好的处理EditText作为item的情况,弹出键盘后应该view是重新生成的。折腾了一天,解决方案如下:布局文件原创 2014-12-11 13:53:11 · 1737 阅读 · 0 评论 -
用Android Studio 导出jar包
1. 前期准备设置gradle 环境变量1. 显示隐藏文件在terminal(终端)中输入cd~ 然后回车,表示到上层目录重复此命令,直到进入根目录,即前缀不再变化然后输入以下命令:defaults write com.apple.finder AppleShowAllFiles -bool true(关闭显示隐藏功能: defaults write com.apple.f原创 2015-08-31 15:11:47 · 1871 阅读 · 0 评论 -
原生App切图的那些事儿
原文地址:http://tgideas.qq.com/webplat/info/news_version3/804/808/811/m579/201411/290082.shtml总结:也就是安卓只要把IOS的@2x的切图放到xhpdi下就可以了转载 2015-08-19 16:37:43 · 443 阅读 · 0 评论 -
网易云音乐底部播放栏实现思路
方案1. fragment,但侵入性太强,接入成本高。 方案2. 悬浮窗,但需要考虑权限问题。 方案3. rootview 这个思路不错。原创 2016-10-21 10:19:44 · 4359 阅读 · 0 评论 -
Android 透明度转换
100% — FF(不透明) 95% — F2 90% — E6 85% — D9 80% — CC 75% — BF 70% — B3 65% — A6 60% — 99 55% — 8C 50% — 80 45% — 73 40% — 66 35% — 59 30% — 4D 25% — 40 20% — 33 15% — 26 10% — 1A 5% —原创 2016-11-06 19:58:25 · 567 阅读 · 0 评论 -
Fragment
原文地址:http://blog.youkuaiyun.com/jdsjlzx/article/details/41211395 (切换Fragment时避免重复调用onCreate)文中: ViewGroup parent = (ViewGroup) rootView.getParent(); if (parent != null) {原创 2015-07-29 17:35:18 · 597 阅读 · 0 评论 -
Android Support Library 23.2介绍(翻译自官方文档)
Android Support Library 23.2(译者注:本文标注了部分文字链接,但需要科学上网,要查看全部链接,请查看原文) 作者 Ian Lake, Developer Advocate首先你要知道Android Support Library不是单个庞大的库,而是一个系列。这一系列库提供了向后兼容的API,以及在旧版本的安卓平台上也能使用的支持库特有的特性。23.2版本提供了几个支持翻译 2016-02-26 01:37:23 · 4393 阅读 · 0 评论 -
EditText弹出输入键盘后页面往上顶的问题
解决方案:1.在中AndroidManifest中设置相应的Activity为 android:windowSoftInputMode="adjustResize"参数介绍:"adjustResize" 该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间 "adjustPan" 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,原创 2016-04-12 19:17:46 · 8435 阅读 · 0 评论 -
使用Android Studo开发NDK之Gradle的配置(能debug C代码)
配置:用的版本是AS1.5(也可以尝试更高版本), Gradle地址是distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip有参考:https://github.com/TsinStudio/AndroidDev/blob/master/Android%20NDK%20C%2B%2B%20开原创 2016-01-11 00:29:14 · 3428 阅读 · 2 评论