11 enjoyinwind

尚未进行身份认证

暂无相关简介

等级
TA的排名 1w+

跨多个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:55:48

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

Mac环境下Android Studio编译下载gradle或者依赖库无法下载

环境:操作系统:macOSAndroid Studio:3.2.0ShadowsocksX-NG问题:要访问google仓库,给Android Studio配置了HTTP Proxy,但使用的是SOCKS,此时Android Studio可以正常更新,但下载gradle或者依赖库均无法成功;解决方案:无意中看到,说是gradle只支持http代理,不支持socks,因而...

2019-01-18 11:29:08

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

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

2019-01-14 10:54:19

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

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

2019-01-14 10:46:42

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

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

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

同一应用不同包名实践

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

2018-11-06 20:20:25

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

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

2018-11-05 19:52:10

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

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

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

2016-11-24 14:33:24

Android greenrobot:EventBus详解

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

2016-07-09 17:18:43

Android service理解

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

2016-06-19 15:51:15

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

ReentrantLock实现探究

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

2016-05-05 17:09:47

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

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

2016-04-07 17:01:25

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

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

2016-03-02 14:26:37

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

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

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!