自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 资源 (9)
  • 收藏
  • 关注

原创 谷歌支付:无法购买您要买的商品。

测试账户还要点击邀请链接接受;

2022-11-14 20:10:55 1613 2

原创 谷歌评价:从服务器检索信息时出错。DF-DFERH-01

Android接入谷歌评价库后,正常唤起评价页面,但填写内容评价之后一直报错:从服务器检索信息时出错。解决办法:应用对外发布之后,报错消失;网上说的各种vpn方案均无法解决问题。

2022-11-14 19:59:21 2063

原创 This class file was compiled with different version of Kotlin compiler and can‘t be decompiled

问题:Android studio里源码依赖的类标红,提示找不到,找到依赖库的jar,但提示: // This class file was compiled with different version of Kotlin compiler and can't be decompiled.//// Current compiler ABI version is 1.1.16// File ABI version is 1.5.1解决方案:设置里更新kotlin,成功解决问题;.

2021-11-03 22:01:10 7608 2

原创 【Android】线程使用Looper开启循环后,怎么终止一个线程

1.Looper有2个api可以用来退出循环:quit()quitSafely()2.知道了api,我们可以在线程中调用以下代码退出:Looper.myLooper.quit();

2020-06-05 20:41:08 1886

原创 【Android】消息队列之异步消息

异步消息可以理解为是用来提升消息的重要性,在有异步消息时,会优先处理距当前时间最近的异步消息,同步消息都不会被处理,绘制界面就是一个异步消息;同步消息:没有设置为异步的消息都是同步消息;Message提供setAsynchronous用来设置异步消息;一、异步消息的使用流程1.使用MessageQueue的postSyncBarrier() 来加入同步屏障;同步屏障其实就是一个handler为空的消息,它也存放在消息队列中;2.往消息队列中加入异步消息,跟平时创建消息没有什么不同,只是额

2020-06-05 20:31:27 2157

原创 LockSupport的park与unpark调用顺序验证

1.unpark在thread start之前调用 public static void main(String[] args) throws InterruptedException{ Thread thread1 = new Thread(new Runnable() { @Override public void run() { System.out.println("thread1 start

2020-05-28 19:13:51 909

原创 求给定字符串的字典序最大的子序列

链接:https://ac.nowcoder.com/acm/problem/15805来源:牛客网给定字符串s,s只包含小写字母,请求出字典序最大的子序列。子序列:https://en.wikipedia.org/wiki/Subsequence字典序:https://en.wikipedia.org/wiki/Lexicographical_order示例1输入ababba输出bbba示例2输入abbcbccacbbcbaaba输出cccccbba.

2020-05-19 19:11:18 1918 2

原创 跨多个Activity回传数据

使用INTENT_FLAG_FORWARD_RESULT标志。这个标志有一个特殊的作用,就是能够跨Activity传递Result。比如A1→A2,此时如果从A2中启动A3,并且设置的启动标志为FORWARD_RESULT,那么A3运行时,可以在A3中调用setResult,然后finish(),其结果会从A3直接返回到A1,并且A1会得到A3所set的result。要满足这种调用,必须使用以...

2019-09-23 15:58:04 552

原创 java8方法引用:特定类的任意对象的方法引用

在使用特定类的任意对象的方法引用时,总是莫名其妙报错:non-static method can not referenced from a static context。解决方案:其实是类型匹配不正确,修改类型后不再报错;public class StreamTest { public static void main(String[] args){ Strea...

2019-01-22 21:41:27 2295

原创 Android studio3.2.1查看工程里类文件时,大部分依赖库的类报红无法解析

用Android studio3.2.1版本打开老版本创建的工程时,有很多依赖库的类报红无法解析,但编译及运行均正常,解决办法:打开“File”下拉菜单,点击“Invalidate Caches/Restart... ”,重启之后问题解决;...

2019-01-14 10:54:19 501

原创 mac开机启动自动运行shell脚本

以开机自动添加ssh公钥为例;1.自己新建个shell文件,编写shell脚本;#!/bin/shssh-add -K /Users/用户/.ssh/id_rsa2.点击shell文件,右键,点击“显示简介”,选择终端;注意:如果“推荐的应用程序”里没有终端,可以选择“所有应用程序”;3.打开“系统偏好设置”,点击“用户与群组”,然后切换到“登录项”tab,添加刚才创建的sh...

2019-01-14 10:46:42 10078 1

原创 gradle

下载的依赖库本地存放位置:Mac系统默认下载到:/Users/(用户名)/.gradle/caches/modules-2/files-2.1Windows系统默认下载到:C:\Users\(用户名)\.gradle\caches\modules-2\files-2.1gradle版本本地存放位置:Mac系统:/Users/(用户名)/.gradle/wrapper/distsW...

2019-01-12 15:29:43 176

原创 java findLoadedClass实践

实验Bar1.javapackage com.external;public class Bar1 { public Bar1(){ Bar2 bar2 = new Bar2(); bar2.test(); }}Bar2.javapackage com.external;public class Bar2 { publ...

2018-11-17 19:16:26 3129 2

原创 Unsafe初体验

Unsafe实例获取Unsafe实例获取方法getUnsafe() , 返回值是Unsafe的实例。但如果直接调用会抛: Exception in thread "main" java.lang.SecurityException: Unsafe。 其安全校验代码如下:public static Unsafe getUnsafe() { Class var0 = Refl...

2018-11-11 20:18:13 270

原创 同一应用不同包名实践

适用场景不同的开发版本,需要安装到同一个手机上,比如debug版本和release版本,但要在android系统里共存,必须包名唯一;包名分离实践1.build.gradle中配置不同包名develop { initWith debug applicationIdSuffix '.dev'}也可在gradle中指定使用不同资源(可选)develop { ...

2018-11-06 20:20:25 1110 1

原创 Fragment中使用ViewPager+Fragment模式,不保留后台活动,Activity被销毁重建后,Fragment异常

原因分析Activity添加Fragment后,Activity会保存所有被添加的Fragment的状态;由于系统内存等问题Activity被回收后,Activity会自己重新创建原来保存的这些Fragment并attach;但我们如果使用引用方式保存并使用ViewPager里的Fragment,会造成异常;问题解决方案1Activity不要调用父类保存Fragment状态的方法;...

2018-11-05 19:52:10 3812

原创 android gradle打包aar时将源代码打包进aar

gradle文件中进行如下配置://将源代码打包进aartask androidSourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.sourceFiles}artifacts { archives androidSourcesJar}...

2018-03-02 20:21:44 4008

原创 Android设置背景透明的一些问题

在manifest文件中设置android:theme,以下是具体配置:name="android:windowFrame">@nullname="android:windowNoTitle">truename="android:windowBackground">@android:color/transparent但是此时背景是黑色的,解决方案:1.style中加入以

2016-11-24 14:33:24 1313

原创 Android greenrobot:EventBus详解

1.线程模型(1)POSTING:发布事件和接收事件在同一个线程。 (2)MAIN:不论事件是在哪个线程中发布出来的,该事件处理函数都会在UI线程中执行。该方法可以用来更新UI,但是不能处理耗时操作。 (3)BACKGROUND:如果事件是在UI线程中发布出来的,那么该事件处理函数就会提交到线程库中运行,如果事件本来就是非UI线程中发布出来的,那么该事件处理函数直接在发布事件的线程中执

2016-07-09 17:18:43 1467

原创 Android service理解

1.service使用两种方式单独启动后的生命周期:使用startService方式启动的几点说明:onCreate:只有service第一次启动被创建时才会调用;onStartCommand:每次调用startService都会调用;onDestroy:调用stopService时调用,不管此时前面调用了多少次startService;也就是调用stopService

2016-06-19 15:51:15 925

原创 java.lang.InterruptedException

线程的interrupt()调用不管是在该线程的阻塞方法调用前或调用后,都会导致该线程抛出InterruptedException;(1)interrupt调用在阻塞方法调用前;public class InterruptTest { public static class TestThread extends Thread{ public volatile boolean go =

2016-06-17 19:05:35 26689

原创 ReentrantLock实现探究

默认使用非公平锁;可通过构造参数指定使用公平锁还是非公平锁;公平锁:尝试获取锁时总是会先判断当前队列里是否还有其他线程再等待该锁,如果没有才会尝试获取锁;非公平锁:会先尝试自己获取锁,不管队列里是否有其他线程在等待该锁,获取成功则返回,失败则加入等待队列末尾,此时会按照FIFO的方式获取锁;线程等待队列:使用链表数据结构,添加新线程使用CAS算法,头尾成员使用volatile关

2016-05-05 17:09:47 505

原创 android showSoftInput方法调用软键盘不显示

InputMethodManager imm= (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(view, 0);项目中有这样一个需求,在某帖子里点击某一条评论的时候,弹出对话框让用户选择是删除评论还是回复评论,当用户点击回复评论的时候,自动打开软键盘,

2016-04-07 17:01:25 7119 2

原创 android 图片加载框架picasso流程解读

类图:RequestCreator:封装具体的请求参数,比如是否使用占位图、bitmap大小、图片变换等; Picasso:统一管理资源,RequestHandler(默认有7个,可额外添加)、cache、Dispatcher等; Dispatcher:负责请求的分发,内部使用线程池执行BitmapHunter来获取图片,并指定合适的RequestHandler给B

2016-03-02 14:26:37 1949

原创 Android手动打包:jar某目录下存在两个同名(不区分大小写)class文件,解压后如何再打包回dex

问题:由于手动打包成apk,某个jar文件需要修改(删除、添加),因此把它解压出来,但是windows不区分大小写,jar里同目录下只有大小写区分的同名class文件,后解压的会覆盖前面的,在生成dex文件的时候会报错:com.android.dx.cf.iface.ParseException: class name (com/abc/f/j) does not match path (co

2016-02-26 17:36:11 2891

原创 android http请求设置user-agent包含中文

开发中需求需要设置http的user-agent,其中包含中文,使用fiddler2抓包时发现中文部分为乱码;解决方案:User-Agent:new String("测试".getBytes("UTF-8"), "ISO-8859-1")由此怀疑http协议的编解码采用的是ISO-8859-1编码;参考方案地址:http://q.cnblogs.com/q/65869/

2016-02-17 14:27:51 4487

原创 Android webview网页里输入框被输入法遮挡问题

网上对这个问题的描述较多,原因不尽相同;我的WebViewActivity设置了Window.FEATURE_NO_TITLE和WindowCompat.FEATURE_ACTION_BAR;manifest中配置android:windowSoftInputMode="adjustPan";此时输入框会被输入法遮挡;解决方案:设置android:windowSoftInputMode

2016-01-29 14:36:15 5492

原创 Android listview获取滚动的距离

需求:在listview里的headerview里的某控件滚动出页面时,listview外的UI会有变化;首先想到的是获取listview滚动的距离和控件的位置进行比较来判断控件是否滚动出页面,但listview的getScrollY在滚动过程中一直返回0,因而没法得到滚动距离;后来变相想到一种解决方案:可调用headerview的getTop来获取起位置变化,然后取绝对值即是list

2016-01-29 14:15:48 4653 2

原创 android expandablelistview使用小结

1.addFooterView要放在setAdapter之前调用,否则在有些机器上footerview不显示;在乐视超级手机1(Android5.0系统)上调用顺序不影响,但在LenovoA820(Android4.1.2)上不显示;2.setOnScrollListener调用放在setOnGroupClickListener之前时,遇到以下问题:(1)Lenovo手机点击group有时

2015-12-18 19:36:51 1099

原创 Android变量保存的总结

Android系统app在后台运行时,由于内存不够或者清理内存后,会导致activity销毁或app进程被杀掉,此时变量数据的保存要注意:以下几点时系统自动帮我们做的,我们不用关心:1.用intent启动activity,intent中的数据;2.Fragment使用setArguments设置参数,activity重启后可以直接使用getArguments获得原来设置的参数(Frag

2015-09-23 14:03:28 2671

原创 Android onNewIntent报错java.lang.IllegalStateException

app中HomeActivity是主界面,其是按照FragmentTabHost布局,是singletop模式;在从其他Activity跳转HomeActivity的时候,有时会报如下错误:java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState\n\tat android.

2015-09-09 10:39:25 1896

原创 PullToRefreshListView使用中的一些问题

1.不设置divider的情况下,默认是有分隔线的;2.设置dividerHeight为0px,但是不设置divider的情况下,仍然会有分隔线;所以需要同时设置divider和dividerHeight;3.在listview里的itemview最下部加分隔线时,分隔线高度设置为1px时,界面里看不到这条线;这时增大高度,把高度设置为1dp时可以看到;但在listview不占满全屏的情况

2015-08-24 16:03:39 1600

原创 Android ScrollView不在最顶部解决办法

ScrollView嵌套LIstView时,打开这个页面,焦点会在ListView上,因而页面不在最顶部;解决办法:在根layout上设置以下属性android:focusable="true"android:focusableInTouchMode="true"

2015-08-13 19:14:31 3754

原创 Android自定义表情键盘与输入法键盘冲突

下面输入框在界面的中间位置,点击输入框弹出输入法键盘,如果此时表情键盘打开要收回表情键盘;点击笑脸图标弹出表情键盘,如果此时输入法键盘打开则要收回输入法键盘; 由于点击输入框输入法键盘是自动弹出的,因此我们要在点击输入框时收到通知来根据需要收回表情键盘;第一种方法: EditText设置setOnFocusChangeListener,点击笑脸时让EditText失去焦点,点击EditTe

2015-07-28 19:27:24 3984 1

原创 apktool反编译的一些问题

项目中用到Android apk反编译重打包,可在用apktool遇到了一些问题,今天抽时间把问题总结下;(1)我最初用的apktool版本为1.5.2,在反编译时偶尔报错如下:2014-12-11 13:46:29        I: Baksmaling...2014-12-11 13:46:35        I: Loading resource table...201

2015-01-31 17:35:22 5103

原创 android listview的item view重用

在listview的重用view的原理是:将可视的view和非可视的view保存在两个数据结构中,分别指activeViews和scrapViews中,activeViews指的是,当前屏幕上显示的显示的View。scrapView是指,屏幕上不显示的View,所有activeViews都会转换成scrapViews。重用是把scrapView 传给Adapter.getV

2015-01-12 10:50:58 1999 1

原创 ConcurrentHashMap为什么支持完全并发的读

ps:Hashtable

2014-11-15 19:49:11 8136

原创 openssl从内存中读取RSA公钥

近期在研究从内存中读取公钥时,yu

2014-04-12 15:10:39 31864 5

转载 URL中的特殊字符

URL中的特殊字符是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如: 符号  特殊含义  十六进制值 +  表示空格(在URL中不能使用空格) %20  / 分隔目录和子目录  %2F

2014-03-24 17:35:11 754

原创 redis源码分析:主从模式中从服务器同步策略

从服务器在与主服务器建立连接后向主服务器发送同步命令,要求进行同步。发送同步命令后,将相应的读操作设为readSyncBulkPayload。void syncWithMaster(aeEventLoop *el, int fd, void *privdata, int mask) { char tmpfile[256], *err; int dfd, maxtries =

2013-11-24 21:52:10 6810

android使用bindService例子

目录里AIDLClient为service的使用方,MyApplication为service的提供方;服务很简单,仅提供加法计算;

2016-06-19

vim7.3安装包

linux vim7.3插件安装包

2013-04-02

HTTP1.1协议RFC2616

HTTP1.1协议文档,

2013-02-26

IK Analyzer分析器jar包和使用文档,支持lucene4.0

IK Analyzer是一个结合词典分词和文法分词的中文分词开源工具包。它使用了全新的正向迭代最细粒度切分算法。可以结合lucene4.0使用

2012-12-10

java面试宝典

java面试宝典,就是不找工作,对深入理解java也是蛮有帮助的

2012-08-12

ext js2.0下载

Ext JS 2.0 下载 包含: Ext JS 2.0 文档 Ext JS 2.0 源码 Ext JS 2.0 例子

2011-08-03

css sprite样式定位生成工具

帮助定位图片上要显示区域的位置,自动生成css样式

2011-08-03

STL中priority_queue

priority_queue用法,希望对大家会有所帮助

2011-03-07

空空如也

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

TA关注的人

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