十个雨点的博客

Android踩坑中!

第一款个人应用——《不做手机控》——终于上线啦!

从事Android已经大半年了,居然没有一款自己的产品,真是惭愧啊,不过经过这一个半月的艰苦奋斗,我人生中第一个个人Android应用终于诞生了!叫——不做手机控。感谢老婆大人起的好名字。这是下载连接:点击打开链接,请朋友们多提意见和建议!回想这半个月,还真不容易,每天下班继续码代码是最基本的,还...

2015-12-24 21:23:31

阅读数:3460

评论数:5

戒手机瘾神器?看这篇就够了

愉快的寒假又到了,你是不是再一次下定决心要读书学习,做一个低调的学霸呢?但现实是,又一次情不自禁的掏出手机。下面介绍的这个应用,可以帮你摆脱手机依赖症,帮你戒手机。这个应用的名字就叫——「不做手机控」(以下简称「手机控」)「手机控」如何帮你戒手机呢?屏保「手机控」的原理很简单粗暴,就是在不允许使用...

2018-01-25 22:24:58

阅读数:194

评论数:0

使用Glide替换Picasso经验小结

0、 背景最近的工作是做一个IM的Android端的SDK和插件。在社交软件中浏览图片是一项基本功能,我们的IM也不例外,支持图片收发,预览等基本操作。但是随着斗图时代的到来,对IM的图片处理提出了更高的要求,IM的PC端也已经开始支持发送gif图片消息,所以Android上也准备支持gif图的收...

2017-12-20 14:37:04

阅读数:55

评论数:0

拯救熊猫眼!戒除手机瘾!不做手机控,全靠它了!

“想保护眼睛,却放不下手机? 番茄工作法,却坚持不了三分钟? 只想看看消息,却刷朋友圈刷到下课? 明明要早起,却躺在床上练成王者熊猫眼? 要看的书堆成山,却阻挡不住刷不完的头条诱惑? 下决心戒手机、戒网瘾、戒农药,却苦于没有自控力? 欲罢不能的手机控?玩手机根本停不下来?想要摆脱手机依...

2017-08-19 21:36:44

阅读数:1913

评论数:1

使用Kotlin如何startActivity

转载注明出处:简书-十个雨点没错,就是这么简单的一个功能,不过由于初学kotlin,所以找了很久才找到如何写,所以还是贴出来给需要的人吧,上代码:startActivity(Intent(MainActivity@this, SecondActivity::class.java)) 或者 star...

2017-06-16 10:39:27

阅读数:2902

评论数:2

Activity的LaunchMode导致调用系统相册选取图片立即返回RESULT_CANCELED,data为null

转载注明出处:简书-十个雨点如题,最近在做调用系统相册选取图片的功能时,发现在一些手机上就会出现这种问题,具体的现象是使用如下代码选取图片:String IMAGE_UNSPECIFIED = "image/*"; int SELECTPHOTO=10086; Intent i...

2017-04-15 11:51:22

阅读数:738

评论数:1

RecyclerView中图片显示不出来的两种种可能解决方法

转载注明出处:简书-十个雨点简单描述一下背景:有一个页面,使用recyclerView展示一个列表,列表的每个元素是由一张图片、两个textview组成,很简单的布局。加载图片使用的的volley的imageloader。此时在页面展示的时候,有可能出现有些图片无法显示的问题,而且用notifyD...

2017-04-15 11:48:21

阅读数:2084

评论数:0

第一次编译AOSP简单流程

本文只记录如何跑通、编译AOSP,以及我自己遇到的坑,不讨论复杂问题,因为我也不会。首先只要准备以下三样东西: 中科大的AOSP镜像 AOSP官方教程——准备 不急不躁慢慢来的自己!!! 按部就班的配置环境根据AOSP官方教程检查你的环境,如果linux版本不对的话,最省事的方法就是重装成对应的版...

2017-03-15 21:05:40

阅读数:2364

评论数:0

【造轮子系列】仿谷歌语音搜索动画——VoiceAnimation

转载注明出处:简书-十个雨点谷歌App的语音搜索功能估计很多人都没用过,没用过的也没必要去用它了,因为实际上就类似手机百度,360手机搜索,是一款类浏览器产品,没有太多实用价值。不过不得不说的是,它的动画做得相当精致,如果要用一个词来形容,就是——灵动。先给大家看看效果:动图无法完全展现这个动画的...

2017-03-09 17:24:59

阅读数:438

评论数:0

Android如何判断NavigationBar是否显示(获取屏幕真实的高度)

有些时候,我们需要知道当前手机上是否显示了NavigationBar,也就是屏幕底部的虚拟按键。比如截屏的时候,要获取屏幕的高度,必须包括NavigationBar的高度。试过网上的多种方法,但是对那种可以通过手势来显示/隐藏的NavigationBar没办法,最后终于找到了一个好办法,看代码:p...

2017-01-06 11:45:24

阅读数:568

评论数:0

如何在Bitmap截取任意形状

现在许多截屏应用中都实现了任意形状截图,我一开始有些疑惑:到底是如何判断一个像素点是在曲线内部还是外部的呢,因为多边形是否包含点的判断还是比较复杂的,计算起来复杂度可不低,后来看了一些资料,发现完全不是我想的那么复杂,很简单就能实现。多简单呢,往下看。先看最终效果:以全屏截屏并裁剪出任意形状的图形...

2017-01-06 11:45:03

阅读数:915

评论数:0

Android上如何实现矩形区域截屏

对屏幕进行截屏并裁剪有两种方式:早截图和晚截图。早截图,就是先截取全屏,再让用户对截取到的图片进行修改;与之相对的,晚截图,就是先让用户在屏幕上划好区域,再进行截图和裁剪。其实两者并没有什么太大的区别,这篇就说说怎么实现晚截图。晚截图可以分成三步: 1. 在屏幕上标出截图的矩形区域 2. 调用...

2017-01-06 11:44:26

阅读数:1344

评论数:1

android7.0 通过代码 分享图片到朋友圈

在Android7.0中,系统对scheme为file://的uri进行了限制,所以通过这种uri来进行分享的一些接口就不能用了,比如使用代码来调用分享朋友圈的接口。 此时就得使用其他的URI scheme来代替 file://,比如MediaStore的 content://。直接上代码: ...

2016-12-05 20:06:46

阅读数:2496

评论数:0

Android的supportV7中默认按钮的颜色设置

我们知道,在styles.xml文件里面可以设置主题,在主题中设置的一些颜色,将会应用到默认的AppCompat控件上,从而很简单的就可以保持整个APP在UI上的一致性。下面是一个例子:<style name="AppBaseTheme" parent="The...

2016-10-19 18:13:02

阅读数:4442

评论数:0

ValueAnimator是如何动起来的

今天看属性动画的源码,涉及到的类比较多,调用关系也比较复杂,用了一个多小时才算大致理清其中的逻辑,简单的整理出来以备日后回顾,源码是 API level 24的。初始化过程以ObjectAnimator的ofInt()为例,关键调用链为:ValueAnimator的public static Va...

2016-10-08 20:41:04

阅读数:299

评论数:0

Android通过程序接听或者挂断电话

这篇文章教你如何帮助用户自动接听或者挂断来电。当然并不是我原创的代码,我只不过是把stackoverflow上的一些代码整合了一下,做个代码的二传手。

2016-09-14 21:41:49

阅读数:1736

评论数:1

Android沉浸式与SearchView的坑

Android开发虽然不算多难,但其中确实包含了这样那样的坑,我今天要说的这个坑可能很少人会遇到,不过万一呢。。。一开始是我想在项目的toolbar上添加谷歌原生支持的搜索功能,但是怎么弄都不对,键盘弹出以后搜索框会自动消失,如下图所示,可能比较乱,将就看看吧:经过两天的不断修改尝试,终于找到了症...

2016-09-04 20:42:21

阅读数:666

评论数:0

Android中如何正确的获得所有App列表

我们经常会遇到这样的需求:列出手机中所有能打开的App。此时我们不需要列出那些无法打开的app,也就是没有Activity的。网上有一些方法,都是过滤系统app的方法,将短信、电话这些App都过滤掉了,其实只要使用下面代码就行了:private void queryFilterAppInfo() ...

2016-08-31 11:45:43

阅读数:1310

评论数:0

Android中“强制停止”和广播保活的一个小坑

一直以来,使用广播进行Android进程的保活就是一种常规的保活方法,本着用事实说话的原则,我做了一个实验: 1. 写了一个demo,用于监听来电的广播,然后选择接听和挂断电话,源码见;github,AcceptOrRejectCallDemo; 2. 运行程序,用另一个手机给测试手机打电话,...

2016-08-28 12:45:32

阅读数:1890

评论数:2

AndroidStudio通过ndk使用第三方动态链接库

使用AndroidStudio的experimental plugin或是传统的Android.mk,通过jni封装调用第三方动态链接库的方法有共通之处,也有不同之处。原理首先要了解gcc的参数,这里不详细讲太多了,只说几个常见的: * -D用于在编译时定义宏,-DHH等于#define HH ...

2016-08-26 10:31:15

阅读数:2526

评论数:0

【造轮子系列】转轮选择工具——WheelView的改进

在【造轮子系列】转轮选择工具——WheelView中,我详细记录了这个自定义控件的设计思路和相关数据的计算。由于本人能力有限,当时还留下了一些不足的地方,主要包括: 滑动的性能和流畅性有待提高,特别是快速滑动时的效果 没有实现循环滚动的效果 经过这一段时间的不断改进,现在基本上已经比较完美了,接近...

2016-08-23 13:50:22

阅读数:1774

评论数:0

【造轮子系列】转轮选择工具——WheelView

实现转轮的选择功能,效果见下图:本项目是由这个项目修改而成,不过基本上除了原来的大体框架以外,内部的实现逻辑全都做了大量修改,各位看官可以对比参考,在此必须感谢原作者给我的启发。先上源码:WheelView实现一个自定义View最基本步骤有: * 设计attribute属性 * 实现构造函数,...

2016-07-03 14:27:25

阅读数:4485

评论数:0

【造轮子系列】一个选择星期的工具——SweepSelect View

【造轮子系列】一个选择星期的工具——SweepSelect View简介首先介绍一下这个自定义View的作用,先看图: 单选模式: 多选模式: 简单来说,就是一个通过滑动的方式来进行选择的工具,这种选择方式多用于星期的选择上,当然也是可以用于其他选项的。 实现明确了这个View的功能后,我...

2016-06-14 21:15:50

阅读数:460

评论数:0

如何使用array资源文件中定义的资源数组

这个题目比较绕,下面先来解释一下: array.xml文件如下: @drawable/pic1 @drawable/pic2 @drawable/pic3 @drawable/pic4 一般我们在程序中这么使用: int[] picArray = get...

2016-05-09 12:55:36

阅读数:537

评论数:0

使用AdBlockPlus在App中过滤网页广告

说起网页广告,那真是让人又恨又爱,它们不但占用了网页的可视控件,分散用户的注意力,还有些浮动广告干扰甚至误导用户操作。但是广告又是开发者重要的收入来源之一,同样作为一名开发者,还是挺能理解的。 本文主要是告诉安卓开发者们,如何在你的app中有效的过滤网页广告,大大提高用户的使用体验。产品效果可以参...

2016-04-16 13:59:05

阅读数:2084

评论数:4

Android热补丁的一点总结

由于项目需要,我研究热补丁的实现是从12月上旬开始的,那时候我还是个对编译、ant、hudson只闻其名,对javassist、groovy闻所未闻的孩子;而现在,我已经是一个对ant、hudson一知半解,对javassist、groovy半熟不熟的孩子了,热补丁功能也终于上线了。 首先感谢以...

2016-01-25 10:28:37

阅读数:1594

评论数:2

2.3以后的Sharedpreference是进程不安全的!

rt,在2.3以后,普通方法创建的Sharedpreference(一下简称sp)是进程不安全的,举个栗子: 一个app有两个process:一个main,一个second,两者同时运行,并对sp进行修改操作: main中写入a,second写入b。 你将看到这样的结果: 如果最后一个执行写入操作...

2015-12-04 13:11:05

阅读数:454

评论数:0

java.lang.UnsatisfiedLinkError,findLibrary returned null的一种可能的解决方式

今天弄NDK+JNI,编译没问题,但死活运行失败,报的错误是:  E/AndroidRuntime(10679): java.lang.UnsatisfiedLinkError: Couldn't load libfilterengine from loader dalvik.system.Pa...

2015-10-30 21:02:37

阅读数:766

评论数:0

Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)

今天从Eclipse向Android Studio导入工程的时候出现了Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)这个错误,弄了将近3个小时,马克一下。 原因是Android Studi...

2015-09-09 15:40:16

阅读数:279

评论数:0

ListView和GridView的item自动改变边距!

经过我测试,发现ListView和GridView中的item,不论是正常的item还是Header或者Footer 在被添加到ListView中的时候都会自动改变item的边距: 所有item都会横向展宽,左右各3.5dp。 导致的结果就是如下图所示: 其中蓝色的表示xml中设计的ite...

2015-08-18 18:45:18

阅读数:527

评论数:0

ListView 添加footView导致崩溃的问题

这个问题可能是由于先setAdapter再addFootView导致的! 而一旦addFootView之后,及时removeFootView后再addFootView也不会有任何问题了。 在addFootView以后,如果不remove而只设置visibility为gone,则可能导致显示一个...

2015-08-13 20:49:27

阅读数:255

评论数:0

IOStream的用法总结

被复杂的IOStream弄晕了,因为经常会出现层层包裹的情况,学习了一天,发现其实挺有规律的,总结一下: 以输入流为例,输入流分为字节流和字符流,分别对应InputStream和Reader,而InputStreamReader是将Inpu...

2015-07-14 20:05:35

阅读数:568

评论数:0

几种模拟按键的方法

模拟按下物理按键的方法: 1. Runtime runtime=Runtime.getRuntime();  try {   runtime.exec("input keyevent " + KeyEvent.KEYCODE_BACK); } catch (IOE...

2015-06-26 16:22:56

阅读数:911

评论数:0

用gson处理json时bean和json串的对应关系

一开始以为bean和json串中的内容必须一一对应, 后来实践可以不用一一对应: bean中如果少一些内容,则直接不解析这部分数据,只把bean中有的数据解析出来; json中如果少一些内容,则bean中多余的部分将被填入空值; 但是需要注意的是: bean和json中的格式应该保持一致, 比如j...

2015-06-26 10:03:57

阅读数:1468

评论数:0

getDimension和getDimensionPixelSize的区别

我在手动绘制View的时候,需要绘制一个0.68dp粗的线,由于并不是整数个dp,所以我一开始用getResources().getDimension()来获取,得到的粗细就是1.36px 然后设置Paint.setStrokeWidth(1.36),这样画出来的线实际上是2px粗的(1280*...

2015-06-25 18:49:46

阅读数:2458

评论数:0

在onDestroy方法中做处理要小心

如题!原因是onDestroy的调用时机是不一定的,一般会在系统需要清理的时候调用。 所以如果刚刚推出activity再重新进入,则可能导致onDestroy方法还来不及调用就又重新进入了,导致清理工作没有进行,从而对本次进如产生影响。 因此可以在其他地方进行清理工作。

2015-06-18 15:41:44

阅读数:291

评论数:0

OnFling和onSingleTapUp不执行的问题的一种解决方法

学习用GestureDetector来检测屏幕滑动事件的时候,一开始对onTouchEvent复写的时候写成了下面代码中(1)的样子 @Override public boolean onTouchEvent(MotionEvent event) { return n...

2015-03-30 10:01:32

阅读数:1365

评论数:0

Android 监听按键信息的时候会出现两次响应的解决办法

最近的项目里面要监听软键盘的Enter的按键信息,如下图,需要在上一行按Enter的时候自动切换到下一行,以此类推。 但是有时候会出现点击一次,响应两次的现象,也就是按一次Enter换两行,经过半天的实践,总结如下: 1.网上说有调用 OnEditorActionListener,而不是OnK...

2015-03-26 10:22:38

阅读数:1607

评论数:0

Android资源图片读取机制

转自:http://blog.csdn.net/yellowcath/article/details/39641445 在新建一个Android项目时,在res目录下会自动生成几个drawable文件夹,drawable-ldpi,drawable-mdpi,drawable-hdpi,一直...

2015-03-21 18:07:08

阅读数:316

评论数:0

Android中Context详解 ---- 你所不知道的Context

http://blog.csdn.net/qinjuning/article/details/7310620                                                                                  ...

2014-12-21 10:00:11

阅读数:377

评论数:0

Android权限大全

http://blog.csdn.net/worker90/article/details/6865208 这是我在网上搜集的所有有关Android的一些权限,希望能帮到大家一些,其实从名字中基本上能了解 权限定义 功能 ...

2014-12-20 18:11:35

阅读数:371

评论数:0

Android中dip、dp、sp、pt和px的区别

http://www.cnblogs.com/greatverve/archive/2011/12/28/android-dip-dp-sp-pt-px.html 1、概述         过去,程序员通常以像素为单位设计计算机用户界面。例如:图片大小为80×32像素。这样处理的问题在于,...

2014-12-20 18:10:50

阅读数:317

评论数:0

Java Thread.interrupt 害人! 中断JAVA线程

http://www.blogjava.net/jinfeng_wang/archive/2008/04/27/196477.html 中断线程是挺容易出岔子的,上面的博文提供了一种好思路,转载了: 总结一下: 1.用设置flag的方式来结束子线程 2.对于阻塞的线程,用catch的方...

2014-12-20 18:07:10

阅读数:470

评论数:0

Handler和HandlerThread

http://blog.csdn.net/h3c4lenovo/article/details/7915392 1.什么是Handler? SDK中关于Handler的说明如下: A Handler allows you to sendand process Mess...

2014-12-20 18:04:22

阅读数:351

评论数:0

C++输入函数的用法和区别

1、cin>>          用法1:最基本,也是最常用的用法,输入一个数字: #include using namespace std; main () { int a,b; cin>>a>>b; cout } 输入:2[回车]3[回...

2014-10-12 15:17:56

阅读数:414

评论数:0

KMP

学习KMP的时候有点感想,记录一下。 KMP的主要优势在于主串

2014-10-10 15:18:53

阅读数:438

评论数:0

教你如何迅速秒杀掉:99%的海量数据处理面试题

教你如何迅速秒杀掉:99%的海量数据处理面试题 作者:July 出处:结构之法算法之道blog 前言    一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我...

2014-09-21 15:08:18

阅读数:452

评论数:0

分支限界法

分支限界法 转自:http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741378.html 一、基本描述     类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同...

2014-09-21 11:53:03

阅读数:458

评论数:0

回溯法

五大常用算法之四:回溯法 1、概念       回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。    回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选...

2014-09-21 11:51:55

阅读数:384

评论数:0

贪心算法

贪心算法 转自:http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741375.html 一、基本概念:        所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出...

2014-09-21 11:51:20

阅读数:366

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭