- 博客(112)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 你应该要知道的handler消息屏障
Handler:postSyncBarrier 它到底是干什么的?简单理解为 消息插队。场景:排队买票先来了一个普通用户来排队,买完票走了。后面又来了一个VIP用户A来买票 就一直站在卖窗口这里 也不走(ps:添加屏障 ),紧接者又来了一个普通用户C,再后面又来了VIP用户B, VIP A 对VIP B 说,哥们不要排队直接来窗口买票,VIP B买完票走了,VIP A 被 某个哥们叫走了(移除屏障),这个时候终于轮到普通用户C买票了。只要有消息事件触发,线程再被naticePollOnce唤醒 后
2020-08-19 00:30:20 590
原创 Volatile与Atomic 浅析之CAS
Volatile关键字到底是干什么的?(Volatile 修饰的变量不能被 序列化,通过steam的方式,无法写入到文件。)Volatile变量不具有原子性 Volatile变量如何保证可见性 我们知道现代的CPU为了优化性能,计算时一般不与内存直接交互。一般先把数据从内存读取到CPU内部缓存再进行操作。而不同线程可能由不同的CPU内核执行, 很可能会导致某变量在...
2018-06-27 22:26:18 2617
原创 让你的App,一键换肤吧
**Skin集成文档**此框架无需启动应用即可一键换肤(支持background,string ,color,dimen),使用简单只需4步搞定,暂时无其它副作用。有BUG欢迎issue 支持Android 原生view和自定义View,窗体(dialog , popouWindow,windowManager)等换肤。第一步: 你需要打包一个APK的skin,把生成的XXX.Apk修改成X
2017-08-09 09:10:05 1112
原创 Androidstudio错误unknow run configuration type
Plugin Error Problems found loading plugins: Plugin “Google Analytics Uploader” was not loaded: required plugin “Android Support” is disabled. Plugin “SDK Updater” was not loaded: required plugin “A
2017-01-03 11:14:49 1697
原创 retrofit合理的处理response
OKHttp + retrofit 有时候使用起来确实会受到一些局限比如: 处理response的加解密 处理response的返回的字段与本地封装的不一样(又不能改本地的字段,所以需要对返回的JSON进一步处理(别名的方式)) 处理response的JSON 比如: [ {""},
2016-11-23 10:39:19 4615
转载 拆轮子系列:拆 RxJava
原文链接 这是在学会了使用RxJava之后,本人觉得分析的不错的一篇文章扔物线,学习使用RxJavaRxJava 这个项目已经持续四年半了,第一个 commit 是在 2012 年 3 月 18 号。我从 14 年 11 月份开始使用 RxJava,应该算是比较早的,将近两年过去了,现在 RxJava 1.x 版本已经进入稳定期,2.0 版本也已经进入了 RC 阶段。原本打算把 Advanced
2016-11-17 16:12:06 689
原创 有点奇怪的JSON
Entity 如何定义实体啊? 没有key 只有 value[{"cover":"aaa","intro":"bbb","album":[{"i":"http:\/\/url","t":"\u6587\u5b57\u6587\u5b57"},{"i":"http:\/\/url","t":"\u6587\u5b57\u6587\u5b57"},{"i":"http:\/\/url","t":"\
2016-11-15 10:48:58 685
原创 初识Dagger(1)
首先配 Dagger在Applcation的gradle中 1: dependencies { classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’ } 2 在build.gradle(Module: app)文件中最外层的上方添加 apply plugin: ‘com.neenbedankt.android-ap
2016-11-09 14:57:49 865
原创 simple封装RecyclerView.Adapter
继承RecyclerView的Adapter适配器的封装,可以参考学习有点击,长按,添加head,foot上个代码:public abstract class MagicRecyclerViewHFAdapter<T ,V extends MagicRecyclerViewHFAdapter.ItemHolder> extends RecyclerView.Adapter<RecyclerView.
2016-10-12 12:53:29 637
原创 MagicHeightImageView根据宽度自适应高度
从一件小事说起,我们的UI姐姐,给的是PX的图片,Android分辨率又多,这尼玛肯定会变形,如何保证让这个图片不变形,又更加优雅的处理呢,我可以根据宽去自适应高度啊(因为我的宽度是根据权重来的,得到了权重测量的宽度后,这里我就可以把高度按照一定比例缩放就可以了),可以按照UI姐姐给的PX的图片去相应的去适应屏幕很简单,但是很不错的处理方案public class MagicH
2016-10-09 15:37:36 578
原创 Simple的MVP封装
基于OKHTTP,OKHTTP-utils洪洋的库,https认证,带有tokenpublic abstract class BaseInteractor { protected Gson mGson; protected OkHttpUtils okHttpUtils; protected final AppApplication app; protec
2016-10-04 16:53:43 765
原创 Unsupported major.minor version 52.0那点坑
先吐槽一下,eclipse虽然看起来简洁,但是对于android开发者来说在很多方面还是极为的的不利先说说这个问题的来源,由于更新了最新的SDK,导致出现了Unsupported major.minor version 52.0就是JDK7无法编译JDK8的新特性的.class文件解决方案: 更新到JDK8 就可以了,jdk8 对应版本52.0
2016-07-11 14:28:30 8042
转载 一分钟就懂贝塞尔曲线
转载:http://gold.xitu.io/entry/574d1fb61532bc00607b62a9相信很多同学都知道“贝塞尔曲线”这个词,我们在很多地方都能经常看到。但是,可能并不是每位同学都清楚地知道,到底什么是“贝塞尔曲线”,又是什么特点让它有这么高的知名度。贝塞尔曲线的数学基础是早在 1912 年就广为人知的伯恩斯坦多项式。但直到 1959 年,当时就职于雪铁龙的法国
2016-06-30 15:50:04 5633
翻译 网络数据加密理论
网络数据加密的三种技术 在常规密码中,收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有:美国的DES及其各种变形,比如Triple DES、GDES、New DES和DES的前身Lucifer;欧洲的IDEA;日本的FEAL?N、LOKI?91、Skipjack、RC4、RC5以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密码
2016-06-30 15:36:23 1143
原创 客户端加密
由于Android应用没有像web开发中的session机制,所以采用PHPSESSID的方式,是没有办法获取客户端登录状态的。 这种情况下,如何在用户登录后,服务器端获取用户登录状态并保持,就必须采用一种“握手”的方式。 每个手机都有自己的IMEI号,那么能不能通过这个标识去做认证呢? 经过试验,答案是可以。 客户端在请求服
2016-06-30 15:30:06 749 1
原创 onTouchEvent您优化了吗?
public class MainActivity extends Activity { private Object object; private final int TIME = 50;// 备注1 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSta
2016-06-30 15:16:55 511
转载 拖油瓶该努力了------成长
之前不少人都问我同一个问题,就是我学习Android有一两年了,但是遇到瓶颈了,感觉没什么进步,到底怎么才能进阶呢?我相信有不少人遇到这样的困扰,那么今天我就以一个过来人的身份给大家系统的解答各个阶段遇到的问题。初学者 一般来说初学者需要一本书,结合视频,把书本看完基本上就算初学者了,需要提醒的是一定要记得把书中的demo全部敲一遍并亲自运行,很多时候看不如敲,敲远比不上亲自运
2016-04-08 14:01:24 440
原创 轮播图Viewpager支持手动滑动定时滑动和自动加载图片页数
首先来分析布局结构吧外面是个FrameLayout 因为文字需要覆盖在image上面接下来就是引入 android.support.v4.view.ViewPager 下面的文字和点用线性布局main_layout<FrameLayout android:layout_width="fill_pare
2016-04-07 15:41:34 1251
原创 Google自己的下拉刷新组件 SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
SwipeRefreshLayout
2016-04-05 15:49:39 977
原创 Fragment获取本地照片显示之Activity 的ontActivityResult()
MainActivity中有一个fragment,fragment需要上传头像,所以肯定要跳到onActivityResult()方法关于onActivityResult()写到哪会调到的问题,相信大家都知道,这个方案1中fragment中startActivityForResult调onActivityResult()是不行的方案2 :当我们从一个Activity启动
2015-11-30 21:53:26 1991 1
转载 SQLite 语法大全
一. 如何获取SQLite最新版本官方站点:http://www.sqlite.org/从http://www.sqlite.org/网站的Download页面获取即如下页面下载http://www.sqlite.org/download.htmlhttp://blog.csdn.net/littletigerat二.Windows下的SQLite的
2015-11-01 16:55:03 897
原创 ListView (加载、删除) 动画
由于图片大小超过2M,所以无法上传动态效果,好坑爹!!!你可以自己学习后,运行一下,自己去预览效果吧!!!import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.View;import android
2015-10-27 22:27:32 1761
转载 Android开发:获取屏幕宽和高的两种方法(px、dip、分辨率之间的关系及px与dip互相转化)
获取屏幕宽和高的两种方法方法一、代码如下:[java] view plaincopyprint?"font-family:Comic Sans MS;font-size:18px;"> WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERV
2015-10-16 12:52:16 505
转载 Android-onInterceptTouchEvent()和onTouchEvent()总结---非常棒棒哒
1、onInterceptTouchEvent()是用于处理事件(类似于预处理,当然也可以不处理)并改变事件的传递方向,也就是决定是否允许Touch事件继续向下(子控件)传递,一但返回True(代表事件在当前的viewGroup中会被处理),
2015-09-17 11:30:52 903
转载 Android系列之Fragment(二)----Fragment的生命周期和返回栈
文章来源:http://www.cnblogs.com/smyhvae/p/3983234.html【正文】上一章节中(Android系列之Fragment(一)----Fragment加载到Activity当中),我们对Fragment的生命周期进行了简单介绍,这一章节将对生命周期和返回栈进行详细介绍。一、Fragment的生命周期初探:因为Fragm
2015-08-29 16:12:40 496
转载 Activity的Launch mode详解
转自http://hi.baidu.com/amauri3389/blog/item/a54475c2a4b2f040b219a86a.html参见:http://mypyg.iteye.com/blog/919643 http://marshal.easymorse.com/archives/2950 http://blog.csdn.ne
2015-08-29 11:04:47 498
转载 Android_开源框架_AndroidUniversalImageLoader网络图片加载
1.功能概要 Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。(1).使用多线程加载图片(2).灵活配置ImageLoader的基本参数,包括线程数、缓存方式、图片显示选项等;(3).图片异步加载缓存机制,包括内存缓存及SDCard缓存;(4).采用监听器监听图片加载过程
2015-08-28 13:43:25 574
转载 android:ToolBar详解
这篇文章因为是台湾人写的,语言风格很别致。本文在原文的基础上做了一些微调(主要是繁体字的问题)。今年(2014) 的 google i/o 发表令多数人为之一亮的 material design,而 google 也从「google i/o 2014」 开始,大家也陆陆续续地看到其更新的 android app 皆套用了这个设计介面。当然,这个设计介面著实让大家感到惊艳外,更让 and
2015-08-27 14:58:52 420
转载 android 打开各种文件(setDataAndType)
Java代码 /** * 打开文件 * @param file */ private void openFile(File file){ Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //设置intent的Action属性
2015-08-26 23:02:11 680
转载 Android 集成支付宝SDK实现快捷支付--详解
转载请标明出处:http://blog.csdn.net/u014084504/article/details/42104035公司最近要在项目中加入购物车功能,提到购物车那就自然少不了支付宝的身影啦。下面我们就来探讨一下如何在Android快速集成支付宝SDK。支付宝的SDK目前已经更新到了2.0版本,这次的SDK相比上个版本的SDK来说,代码更佳简洁了,集成起来更加的方便快捷。
2015-08-26 10:30:26 734
转载 [原]GitHub控件之BadgeView(类似QQ消息数字提醒)
数字提醒大家肯定都见识过。QQ、微信等app中如果有消息或者提醒的时候,就会展现给用户一个红点或者带有数字的点。前段时间微信上流行把自己的头像换成带有数字提醒的头像,让那些有强迫症的人真是抓狂。 下面我们就看一下怎么在自己的app中实现这种效果。 开发者当然可以自己用相对布局来实现这样的效果。一个还好,但是多了呢!就会很繁琐。GitHub上有一个开源的第三方
2015-08-25 13:52:39 1209 1
转载 兼容 Android 4.4 透明状态栏与导航栏
Android 系统自4.2 开始 UI 上就没多大改变,4.4 也只是增加了透明状态栏与导航栏的功能,如图左边为 4.2.2 右边为 4.4.2 那么现在我就来给大家讲解下如何使用这个新特性,让你的 app 跟随潮流,当然如果你不在乎外观就算了,使用这个特性能开发出很漂亮的UI,尤其对于 google 原生系统,屏幕下方的导航栏白白占据一块屏幕空间,看起
2015-08-25 00:02:53 715
转载 Android比较好的10个开源框架
推荐Android开源的10个框架:afinal、ThinkAndroid、andBase、KJFrameForAndroid、SmartAndroid、dhroid..下面转载这10个框架的介绍:(按顺序来吧没有什么排名)。一、 Afinal官方介绍:Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,Fi
2015-08-21 13:35:19 2335
转载 线性布局LinearLayout和相对布局RelativeLayout 比较
LinearLayout和RelativeLayout共有属性:java代码中通过btn1关联次控件android:id="@+id/btn1"控件宽度android:layout_width="80px" //"80dip"或"80dp"android:layout_width =“wrap_content”android:layout_width =“mat
2015-08-20 14:46:49 420
转载 ViewPagerindicator 源码解析
本文为 Android 开源项目实现原理解析 中ViewPagerindicator部分,项目地址:viewpagerindicator 分析的版本:8cd549,分析者:lightSky 校对者:aaronplay 校对状态:未完成1. 功能介绍1.1 ViewPagerIndicatorViewPagerIndicator用于各种基于AndroidSuppo
2015-08-17 15:56:52 824
转载 Android中的几种网络请求方式详解
Android应用经常会和服务器端交互,这就需要手机客户端发送网络请求,下面介绍四种常用网络请求方式,我这边是通过Android单元测试来完成这四种方法的,还不清楚Android的单元测试的同学们请看Android开发技巧总结中的Android单元测试的步骤一文。java.net包中的HttpURLConnection类Get方式:[java] view
2015-08-17 10:44:07 414
转载 对图片处理的三种方式作为参考学习
第一:我们先看下质量压缩方法:private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,这里100表示不
2015-08-07 14:51:21 518
转载 Android 五步修改状态栏颜色
五步修改状态栏颜色标签(空格分隔): 状态栏颜色变化 Android开发一直以来对安卓系统的状态栏都不大满意,在4.4以前只能选择隐藏或者显示,而不能够改变其颜色以适应我们自己APP的整体风格。在安卓5.0发布以后,界面实在美到爆,状态栏的颜色也可以自定义了。于是乎我就有想法将这一特性引入到我自己的APP中。查了很多资料,为了让5.0以前版本的系统享受到material des
2015-08-04 21:50:42 3996
新闻界面效果新闻中心
2015-04-19
android12 launcher3负一屏实现方案
2024-03-15
现在急需,串口通信文档如何看懂?
2017-08-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人