自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 JsonArray或者JsonObject转字符串后里面带有转义字符或者反斜杠的处理方式

一般出现这种toString后json串里面带有转义字符的原因是往jsonObject中直接put了String类型的内容,比如jsonObject.put("key","dddddd")这样最后jsonObject.toString的时候就会吧字符串里的key都加上反斜杠,解决方法很简单jsonObject里不要直接放String类型的内容,要放jsonObject或者JsonArray进去,这样最后toString 的时候出来的就是标准的json格式举个例子把集合转成jsonArray放入jsonObj

2022-06-22 17:46:46 21880

原创 android ViewGroup到View的触摸事件传递机制

看了很多关于触摸事件的文章,总感觉啰嗦了一大堆,但是什么都没讲明白,新手看了可能反而更乱。这里总结下自己关于触摸事件的理解。Android 的触摸事件离不开三个方法dispatchTouchEventonInterceptTouchEventonTouchEvent这三个方法是干嘛的呢第一个dispatchTouchEvent用于对事件进行分发,举个例子分糖果,那么糖果第一个就先分到他手上,然后dispatchTouchEvent如果返回了true那么说明他把糖果(事件)占为

2022-03-14 18:05:55 5684

原创 获取路由器wifi mac 地址时双sim卡 手机会报错空指针

不多说,直接上代码,解决双卡手机同时开通双卡时获取路由器mac地址时报错的问题String connectedWifiMacAddress = "";if (context != null) { WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); Lis...

2018-08-14 16:29:38 381

原创 组件化开发一路走来

为什么要组件化?组件化是为了将不同的模块分开开发,解除不同模块间的耦合关系。同时单独组件可以独立运行,方便团队按模块分配任务。在开发过程中,独立组件由于代码量少,编译速度快,提升开发效率     2:如何组件化再说这个问题前我们需要了解下一个完整组件化后的项目框架层次:大致可以分为:基础依赖库层  基础代码库层  功能组件层基础依赖库层:存放jar包和底层依赖 比如okhttp.jar glide...

2018-06-04 19:57:03 728

原创 几种常用的设计模式代码

1:单例public class Singleton { private static volatile Singleton instance = null; private Singleton(){ } public static Singleton getInstance() { if (instance == null) {

2017-10-23 16:17:51 2610

原创 mvp开发实际操作

mvp模式可以很好的帮助我们解耦,充分的把事件和UI分开,这样的好处是当我们的UI由于各种讨厌的理由被改啊改啊,但是我们实现功能的地方都不用再去改动,只要新UI去实现就好了,下面开始非常简单的mvpmvp 重要的类 1:IXXView   xx表示你自己界面的名字  I 代表这是个接口2:IXXPresente  同样的道理3:Presenter 具体业务的实现者4:View

2017-10-23 14:48:12 262

原创 sourcetree 使用submodule同步公共库适用于组件化开发和公共开发

1:在项目文件目录下创建文件夹(文件目录不是根目录,就是跟.gradle同层)2:sourcetree适用添加子模块功能,在项目tag栏中或者仓库里都能找到添加子模块功能3:添加子模块,填写git地址和刚创建的文件夹路径,然后从git上拉取代码到本地4:Android studio 重开项目后,在项目的settings.gradle中include进去并添加路径同步下就可以了如下:

2017-10-23 14:36:32 3678

原创 Android studio导入项目后无法运行并且所有文件都处于禁止状态

处理方法:file--->invialidate cache/restart  然后弹框中确认并重启  ok 搞定!

2017-10-13 14:42:44 9383 4

原创 一个activity中有多个fragment的透明状态栏处理

Android 透明状态栏,相信大家都可以找到方法这里再啰嗦一下:/** * 修改状态栏为全透明 * * @param activity */ @TargetApi(19) public static void transparencyBar(Activity activity) { if (Build.VERSION

2017-01-18 09:56:51 6271 6

原创 scrollview嵌套viewpager嵌套listview或gridview 框架的完美解决方案

https://github.com/jeasonlzy/HeaderViewPager不客气,花了两天找到的完美解决方案,分享给大家。觉得有用记得点赞哦

2016-12-19 17:03:04 505

原创 自定义viewgroup中onMeasure 和onlayout的一点理解

onMeasure()自定义Viewgroup第一个被执行到的方法,这个方法用来测量这个viewgroup有多大和分别给每一个子控件设置大小的作用。当然了有时候viewgroup的大小是由它的子控件来确定的。怎么设置大小呢 setMeasuredDimension(width, height); 方法来设置,下面一段代码是经典的设置自身大小的代码,首先 MeasureSpec.getMode(

2016-09-02 17:43:20 464

原创 关于android触摸事件传递机制的一点理解

触摸事件是在写自定义控件时很经常碰到的,经常我们用别人的控件也会碰到这样那样的触摸失效问题,这里稍微记录下我对触摸事件的理解触摸事件分成两块来说 view  和  viewgroup对于view :触摸事件比较简单只有onTouchEvent,和dispatchTouchEvent因为不会再有子布局所有事件就交给自己处理就好了,没什么难度.对于viewgroup 由于会有子view所以

2016-09-02 17:00:48 249

原创 android 网络请求

app网络请求非常的常见,在一个应用中可能会有上百处,那么这么多的网络请求难道每次都要去完整的写一遍请求流程, 加头部然后传参数然后判断返回的内容是否空值等等等等最后才是我们要做的核心业务数据的处理是不是太过麻烦了,那么这个问题怎么解决呢?我们应该有一个公共的网络请求管理类,这个类中为请求添加好了头部,对返回值也做了判断然后通过接口回调将数据传出去,这样子既精简了代码,又可以防止以后请求中万一

2016-09-02 16:57:03 350

原创 一个好用的缓存框架asimplecache

Acache可以缓存如下数据:普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 byte数据。只有一个类可以单例该类,方法也只有put和get还可以控制缓存时间,还是很好用的

2016-09-02 16:44:56 236

原创 监听view 的滚动状态

mScroll.getViewTreeObserver().addOnScrollChangedListener(// 可以用来监听scrollview是否滚动到顶部                new ViewTreeObserver.OnScrollChangedListener() {                    @Override                  

2016-08-31 17:03:51 818

原创 webview加载图片,图片超出屏幕宽度

用jsoup这个开源库就好了.网络上搜一大堆...mWebView.loadDataWithBaseURL(null, getNewContent(contents),//这里的contents可以是网址哦,加载也可以用loadurl();                "text/html", "UTF-8", null);/**     * 使网页上的图片的大小适配屏幕

2016-08-31 16:40:01 1890

原创 android .so文件加载

findlibrary return null??这个异常是因为你的机型找不到对应的.so文件爆出的错,那么这类问题如何解决呢?很简单,删除掉所有其他的.so文件库只保留一份完整的每个.so文件都有的armeabi文件夹就好,这样的好处是包会变小很多

2016-08-31 16:32:54 291

原创 Scrollview 嵌套 listview 无法滚动到顶部解决方案

mList_active.setFocusable(false);// 为了防止viewpager切换后listview获取了焦点后重新onlayout触发到OnLayoutChangeListener这样解决viewpager一翻页就滚回头部的bug      mList_active.addOnLayoutChangeListener(new OnLayoutChangeListener(

2016-08-31 16:12:33 859

权限申请封装

andpermisson的二次封装,支持andpermission功能,代码简化

2017-12-25

空空如也

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

TA关注的人

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