自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (5)
  • 收藏
  • 关注

原创 数组代表数字加一算法

给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2...

2018-08-06 12:37:17 2194

原创 Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated

之前在旧版本Android Studio中用以下代码修改过release版本的apk名:applicationVariants.all { variant -> variant.outputs.each { output -> def SEP = "_" def flavor = variant.productFlavors[0].name

2017-11-06 15:24:12 4046

原创 app-release-unsigned.apk is not signed

今天用 android studio3.0 来编译 release 配置的项目时报了以下错误: the apk for your currently selected variant(app-release-unsigned.apk)is not signed. Please specity a signing configuration for this variant(release)

2017-09-13 11:24:17 14151

原创 WebView滚动到底部

实现原理第一步:自定义BottomWebView继承自WebView;第二步:调用WebView中的 computeVerticalScrollRange() 方法获得获取WebView可纵向滚动的最大距离;第三步:调用WebView的 scrollTo(x,y) 方法,设置 x为0,y为纵向滚动的最大距离,则可将WebView滚动到最底部。实现代码:public class BottomWebVi

2017-08-22 12:50:34 6928

原创 Android中使用TextView实现微博@功能

前言在Android中使用TextView实现@功能主要需要用到以下两个知识点:正则表达式:http://blog.csdn.net/yaerfeng/article/details/28855587SpannableString:http://www.jianshu.com/p/84067ad289d2实现思路使用正则表达式找出字符串中所有 @用户名 部分在字符串中的起止位置;初始化一个

2017-05-02 23:35:04 1589 1

原创 Android使用socket.io实现即时通讯

简介WebSocket是HTML5的一种新通信协议,它实现了浏览器与服务器之间的双向通讯。而Socket.IO是一个完全由JavaScript实现、基于Node.js、支持WebSocket的协议用于实时通信、跨平台的开源框架。本文将根据 socket.io 官方提供的 socket.io-android-chat Demo 来讲解 socket.io 在android客户端实现即时通讯的一些基本

2017-04-02 02:03:48 29754 23

转载 Android 7.0新特性

Android 7.0 开发者版本Android 7.0 Nougat 为用户和开发者引入多种新功能。本文重点介绍面向开发者的新功能。请务必查阅 <href="/about/versions/nougat/android-7.0-changes.html"> Android 7.0 行为变更以了解平台变更可能影响您的应用的领域。如需了解有关 Android 7.0 消费者功能的更多信息,请访问

2016-11-23 11:26:07 10688 1

原创 android5.0L提取颜色(Palette)

简介Palette 是android5.0后提供的一个提取图片中显著颜色的工具类。Palette能提取以下色调:Vibrant(鲜明的)Vibrant dark(鲜明的暗)Vibrant light(鲜明的亮)Muted(柔和的)Muted dark(柔和的暗)Muted lighr(柔和的亮)使用方法导入依赖增加下面的Gradle依赖到你的程序的模块(module)中:depende

2016-11-08 11:37:22 2283

原创 去除自定义Toolbar中左边距

问题自定义Toolbar之后,发现左侧不能完全填充,总是留一点空白,如下图:原因查看Wiget.AppCompat.Toolbar的parent(Toolbar默认的style),如下:<style name="Base.Widget.AppCompat.Toolbar" parent="android:Widget"> <item name="titleTextAppearance">

2016-11-05 23:04:39 4885

原创 Expected resource of type animator [ResourceType]

错误提示 Error: Expected resource of type animator [ResourceType]这个错误在编译运行时候并不会出现,但是当需要签名打包的时候,就会报这个异常。这个错误出现的位置位于自定义View中使用动画的这一行,代码如下:AnimatorInflater.loadAnimator(context, R.anim.scale_with_alpha)其中

2016-10-27 17:42:47 3102 2

原创 Android判断用户名只能为字母、数字和汉字

原理利用正则表达式判断用户名是否为字母、数字和汉字。参考自:匹配中文字符的正则表达式: [/u4e00-/u9fa5]使用Pattern类来进行比对代码 /** * 验证用户名只包含字母,数字,中文 * @param account * @return */ public static boolean checkAccountMark(Strin

2016-10-27 11:29:02 5495

转载 URL传值带加号“+”的问题的解决方法

使用encodeURIComponent如str="a+b";url="sql_str.jsp?sql="+str;要改成:url="sql_str.jsp?sql="+encodeURIComponent(str);URL传值带加号“+”的问题的解决方法今天在调试客户端向服务器传递参数时,参数中的“+”全部变成了空格,原因是URL中默认的将“+”号转义了。解决方法如下:方法一、 修改客户端,将客

2016-10-27 10:38:30 20892 2

原创 Jd-Gui报错INTERNAL ERROR

问题用dex2jar工具反编译了apk文件,但当我用jd-gui反编译前面操作获得的jar文件的时,有一部分类不能显示出来,仅仅显示了错误: // INTERNAL ERROR //原因Jd-Gui解析不了该class文件解决方式使用Java反编译器luyten(卢伊藤)来替代Jd-GuiJava反编译器luytenluyten是github上的一个开源项目,目前支持.exe、.jar、.dm

2016-09-30 16:16:24 17536

转载 SimpleArrayMap源码解析

本文SimpleArrayMap源码分析是基于support v4 23.3.0版本的。 另外,因ArrayMap涉及的多是算法知识,而主要的思想比较简单,所以本文会主要以代码为主,细讲其每个实现。为什么要引入ArrayMap?在Android设备上,因为App的内存限制,出现OOM的错误,导致开发者不得不关注一些底层数据结构以及去分析App的内存使用情况。提及数据结构,HashMap是我们

2016-09-19 16:29:16 400

转载 Android Service的生命周期

转载自:http://www.cnblogs.com/mengdd/archive/2013/03/24/2979944.htmlManaging the Lifecycle of a Service  service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径:A started service  被开启的service通过其他组件调用

2016-08-05 11:29:21 445

转载 Android service

转载自:http://www.cnblogs.com/lwbqqyumidi/p/4181185.html Service通常总是称之为“后台服务”,其中“后台”一词是相对于前台而言的,具体是指其本身的运行并不依赖于用户可视的UI界面,因此,从实际业务需求上来理解,Service的适用场景应该具备以下条件:1.并不依赖于用户可视的UI界面(当然,这一条其实也不是绝对的,如前台Service就是与No

2016-08-05 10:50:11 385

转载 Android中处理崩溃闪退错误

Android中处理崩溃闪退异常大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信

2016-08-03 23:00:33 10197 2

原创 Cannot merge new index 65553 into a non-jumbo instruction

今天用Android Stuidio打包的时候报了以下错误:Error:Error converting bytecode to dex:Cause: com.android.dex.DexIndexOverflowException: Cannot merge new index 65553 into a non-jumbo instruction!Error:Execution failed

2016-08-02 12:01:17 5361

转载 Android内存泄漏总结

内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收。最近自己阅读了大量相关的文档资料,打算做个 总结 沉淀下来跟大家一起分享和学习,也给自己一个警示,以后 coding 时怎么避免这些情况,提高应用的体验和质量。我会从 java 内存泄漏的基础知识开始

2016-08-01 21:41:30 513

转载 Java反射机制详解

转载自:http://blog.csdn.net/yongjian1092/article/details/7364451首先,我们在开始前提出一个问题:1.在运行时,对于一个Java类,能否知道属性和方法;能否去调用它的任意方法? 答案是肯定的。本节所有目录如下:什么是JAVA的反射机制JDK中提供的Reflection APIJAVA反射机制

2016-07-31 23:07:25 657

原创 Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag

在Dialog中使用startActivity()时候,出现了这个错误:android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you w

2016-07-28 14:13:06 951

转载 Android事件传递机制-View篇

Android事件传递机制绝对不是三言两语就能说得清的,在网上查了相关资料,觉得大部分都没有讲的很清楚透彻,写本文的目的就是让更多的开发者进从FrameWork层到Application层一步步深入Android事件传递机制的原理,今天先小小试牛刀,主要是讲View的事件传递机制原理,下一篇会将更复杂的控件ViewGroup事件的传递机制。比如一个Activity页面有一个Button 按钮,要想为

2016-07-27 22:00:57 296

转载 Json实体类快速生成插件 GsonFormat

写在前头:本插件只适用 android studio和 Intellij IDEA 工具,eclipse 的少年无视我吧!!!这是一个根据JSONObject格式的字符串,自动生成实体类参数.githubjetbrainsAndroid Arsenalswift 版Json 新视觉版本说明v1.2.2 (English) Support field type changes.

2016-07-13 16:48:46 2926 1

原创 Mac环境下对android app抓包

环境Mac电脑Android手机抓包工具 Charles步骤一、安装 Charles官网链接:http://www.charlesproxy.com/破解版:http://www.waitsun.com/charles-3-11-4.html(如果链接失效了,可以在 www.waitsun.com 上面直接搜最新破解版)破解步骤:1.安装好Charles后,在应用程序中找到,右键选择“显示包

2016-06-30 23:16:37 18109 2

原创 Android EditText 银行卡四位空一格

/** * 设置银行卡输入时每隔4位多一位空格 * @param cardEt */ public static void bankCardInput(final EditText cardEt) { //设置输入长度不超过24位(包含空格) cardEt.setFilters(new InputFilter[]{new Inpu

2016-06-30 16:23:06 1115

转载 Android Template(模板) 编写

转载自:http://blog.csdn.net/zhaodai11?viewmode=contents当我们在使用AndroidStudio新建工程,模块或者类时,其实AndroidStudio是已经给我们提供好了一些模板。例如:一些AIDL模板、 Activity模板、Service模板等等。下面这张图里面有一些是我自己定义的 AndroidStudio的文件模板放在安装目录下/plugins/

2016-06-28 17:44:42 765

原创 Android中通过typeface设置字体

Android系统默认字体支持四种字体,分别为:noraml (普通字体,系统默认使用的字体)sans(非衬线字体)serif (衬线字体)monospace(等宽字体)除此之外还可以使用其他字体文件(*.ttf)关于后三种字体的区别可以看: http://kb.cnblogs.com/page/192018/一、使用系统自带的字体1.在xml中修改字体 <!-- 使用默认

2016-06-27 16:27:10 30584 2

转载 Android 6.0 运行时权限处理

运行时权限介绍Android 6.0在我们原有的AndroidManifest.xml声明权限的基础上, 又新增了运行时权限动态检测,以下权限都需要在运行时判断:身体传感器 日历 摄像头 通讯录 地理位置 麦克风 电话 短信 存储空间运行时权限处理Android6.0系统默认为targetSdkVersion小于23的应用默认授予了所申请的所有权限, 所以如果你以前的APP设置的

2016-06-13 11:22:15 1140

原创 Android调用微信扫一扫

在自己的应用中打开微信扫一扫代码: private void toWeChatScan() { try { //利用Intent打开微信 Uri uri = Uri.parse("weixin://dl/scan"); Intent intent = new Intent(Intent.ACTION_VIE

2016-06-11 12:58:39 15743 17

原创 Android 6.0 的getColor()方法过时

解决方式将 getColor()方法替换为:ContextCompat.getColor(context, R.color.my_color)过时的getColor()方法源码 @ColorInt @Deprecated public int getColor(@ColorRes int id) throws NotFoundException { return

2016-06-01 10:12:46 12848

转载 IllegalStateException: Can not perform this action after onSaveInstanceState

今天使用Fragment的时候,出现了这个错误 IllegalStateException: Can not perform this action after onSaveInstanceState: E/AndroidRuntime(12747): Caused by: java.lang.IllegalStateException: Can not perform t

2016-06-01 09:53:26 480

转载 Android开发--CardView使用

Android5.0中向我们介绍了一个全新的控件–CardView,从本质上看,可以将CardView看做是FrameLayout在自身之上添加了圆角和阴影效果。请注意:CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为一种容器使用。CardView应该被使用在显示层次性的内容时;在显示列表或网格时更应该被选择,因为这些边缘可以使得用户更容易

2016-05-31 15:31:29 327

转载 android:inputType常用取值

android:inputType="none"//输入普通字符 android:inputType="text"//输入普通字符 android:inputType="textCapCharacters"//输入普通字符 android:inputType="textCapWords"//单词首字母大小 android:inputType="textCapSente

2016-05-31 11:22:25 309

原创 Unknown facet type:'android', Unknown facet type:'android-gradle'

Android studio 报异常:"2 facets cannot be loaded. You can mark them them as ignored to suppress this error notification. Unknown facet type:'android', Unknown facet type:'android-gradle'解决方式:第一步:进入设置(Sett

2016-05-26 09:37:18 6765 2

转载 Android 自定义Toolbar/ActionBar视图左边有空白

最近自定义Toolbar之后,发现左侧不能完全填充,总是留一点空白,经过查看新发布的V7的支持包中的style发现了解决方法。 查看Wiget.AppCompat.Toolbar的parent,如下:<style name="Base.Widget.AppCompat.Toolbar" parent="android:Widget"> <item name="titleTextA

2016-05-23 13:42:37 1331

原创 Execution failed for task ':dexDebug'

错误在 Android Studio 中用 compile 导入开源库时报了以下错误:Error:Execution failed for task ':dexDebug'.> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/

2016-05-18 11:18:35 408

原创 Android 日志打印工具类

Android 中的日志工具类 Log(android.util.Log) 方法 含义 Log.v() Verbose Log.d() Debug Log.i() Info Log.w() Warn Log.e() Error Log.wtf() 在输出日志的同时,会把此处代码此时的执行路径(调用栈)打印出来。使用方法:Log.v(tag,ms

2016-05-17 09:13:13 590

转载 Android五种数据传递方法汇总

Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起。它们各有利弊,有各自的应用场景。 我现在把它们集中到一个例子中展示,在例子中每一个按纽代表了一种实现方法。1. 利用Intent对象携带简单数据利用Intent的Extra部分来存储我们想要传递的数据,可以传送int, long, char等一些基础类型,对复杂的对象就

2016-05-12 11:40:21 1322

原创 Gridview auto_fit 属性无效

之前在项目中用到GridView,想根据GridView的宽度和item的大小来自动排版显示每排的item数量。于是乎将GridView下的 android:numColumns 属性设置为 auto_fit ,如下: <GridView android:id="@+id/gv_bet_info" android:layout_width="match_parent"

2016-05-03 17:22:12 1177

原创 Android 打开外部应用(微博/微信/QQ等)

跳转微信首页Intent intent = new Intent();ComponentName cmp = new ComponentName("com.tencent.mm","com.tencent.mm.ui.LauncherUI");intent.setAction(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUN

2016-04-29 10:28:00 5659 1

可以展开的 TextView

利用 SpannableString 实现的可以展开的 TextView。

2016-03-13

Android仿iPhone日期选择器

基于wheelview实现的类似iPhone日期选择的效果

2016-02-17

StartActivityForResult小例子

使用StartActivityForResult进行Activity跳转传值的小例子

2016-01-08

ScrollView实现下拉刷新

将开源项目PullToRefresh中的ScrollView下拉刷新提取出来了,可直接集成到项目中。

2015-11-30

Pull解析与生成Xml

pull解析和生成xml文件,使用pull解析本地的xml文件,并且生成了一个不同格式的新的xml文件

2015-11-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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