自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dc_user的博客

我不是巨人,所以我要站在巨人的肩膀上才能看的更远!

  • 博客(32)
  • 收藏
  • 关注

原创 对象拷贝工具类(深拷贝)

public class CloneUtil { private CloneUtil() { throw new AssertionError(); } public static <T extends Serializable> T clone(T object) throws IOException, Class...

2019-10-25 13:43:53 928

原创 自定义指定位置显示的弹窗

public class SmartPopupWindow extends PopupWindow { private int mWidth = ViewGroup.LayoutParams.WRAP_CONTENT; private int mHeight = ViewGroup.LayoutParams.WRAP_CONTENT; private float mAl...

2019-03-22 14:07:03 920

原创 PermissionsTools

权限请求工具类public class PermissionsTools { public static PermissionsTools.Builder with(Activity activity) { return new Builder(activity); } public static class Builder { p...

2019-03-19 17:09:18 244

原创 检查网络连接状态和修改网络连接状态

/** * 检测网络是否连接 */private boolean checkNetworkState() { boolean flag = false; //得到网络连接信息 manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); //去进行判断网络是否连...

2018-10-25 17:31:37 2030

原创 Viewpager嵌套问题

重写外部viewpager的canScroll()方法/** * 当需要双层嵌套的viewpager时,需要重写外部viewpager的canScroll方法 */public class CustomViewPager extends ViewPager { public CustomViewPager(Context context) { s...

2018-08-02 13:54:44 235

转载 RxJava

前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: RxJ...

2018-07-17 14:44:32 166

原创 全局log管理

1、书写全局log管理类public class PLog { public static boolean LOG_OPEN = false; public static void d(String tag, String message){ if(!LOG_OPEN) return; Log.d(tag,messa...

2018-07-13 15:07:56 290

原创 6.0动态加载权限用PermissionGen

android 6.0 新增加了运行时的动态添加权限,在此介绍一个第三方库,PermissionGen,可以很方便简洁的增加 6.0权限首先给大家上  PermissionGen 库地址:https://github.com/lovedise/PermissionGen使用:1.引用库:    在 app gradle 中引入:    compile 'com.lovedise:permissio...

2018-07-13 15:00:43 1319

原创 ToastUtil工具

public class ToastUtils { private ToastUtils() { } private static Toast mToast; public static void show(String msg) { if (mToast == null) { mToast = Toast.make...

2018-07-03 14:57:30 300

转载 视频播放器

Android播放器基础封装库PlayerBase简述视频播放是我们开发中比较常见的场景。这两年关于视频方面的热度不断提升,可以说前两年是直播年,今年是小视频年,各种短视频应用铺天盖地。对于视频的业务场景也越来越丰富,功能也越来越多。对于我们开发来说播放相关组件的代码变得也越来越复杂,管理维护成本也越来越高,面对不断迭代的业务,我们需要一种有效的方案来应对这种频繁的业务变化。这几年一直在做视频相关...

2018-06-28 10:28:42 2129

转载 SuperTextView

文章目录1、功能描述2、效果图3、如何使用3.2.1、布局中使用3.2.2、在代码中使用3.2.3、属性介绍3.1、 Android Studio导入方法3.2、 项目中如何使用4、 实现原理4.1、需求分析4.2、代码封装4.3、总结1、功能描述你还在为类似设置页面的样式(图+文字+图)每次写一大堆布局文件而烦恼吗?快来看看SuperTextView吧,这里有你想要实现的任何样式,而你要做的仅仅...

2018-06-26 09:49:43 178

转载 RxJava简介

前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: RxJav...

2018-06-25 14:59:03 244

转载 Retrofit2简介

本文注目录:Retrofit入门Retrofit注解详解Gson与ConverterRxJava与CallAdapter自定义Converter自定义CallAdapter其它说明前言本文中的Retrofit均指代Retrofit2.0。本文涉及到的代码以及测试使用的接口可在Github上找到。测试接口服务器在 server 项目下,直接运行 RESTServer.main() 即可启动测试服务器...

2018-06-25 14:36:43 245

原创 网络请求工具类

public class HttpManager { private static Retrofit retrofit; private static Retrofit retrofitQueryApk; private static Retrofit retrofitDownloadApk; private static HttpManager instance...

2018-06-25 14:31:50 203

原创 Timer和Handler启动轮询

0、Timer定时器介绍Timer定时器主要做定时任务或者按照一定的时间间隔做任务,例如每天4点钟定时执行作业等Timer的特性1、它属于单线程的,每创建个Timer实例,就会创建一个新线程2、Timer默认情况下不是守护线程,可以设置为守护线程new Timer(true),守护线程再进程中没有其他线程时,守护线程将销毁3、TimerTask是以队列的方式一个个的执行4、TimerTask中的c...

2018-06-22 14:32:04 1204

原创 获取当前版本apk的版本号和版本名字

public class APKVersionCodeUtils { /** * 获取当前本地apk的版本 * * @param mContext * @return */ public static int getVersionCode(Context mContext) { int versionCode = 0...

2018-06-22 09:28:28 2240

原创 Intent讲解

我们总结了几个Android中重要组件,相信大家对于这些组件已经有了清晰的认识,我们就来看一下几个常见的操作:启动一个Activity:Context.startActivity(Intent intent);启动一个Service:Context.startService(Intent service);绑定一个Service:Context.bindService(Intent service...

2018-06-21 16:06:48 175

原创 App启动检查更新下载安装apk

现在很多的App中都会有一个检查版本的功能。例如斗鱼TV App的设置界面下:                 当我们点击检查更新的时候,就会向服务器发起版本检测的请求。一般的处理方式是:服务器返回的App版本与当前手机安装的版本号进行对比。(1)如果服务器所返回的版本号大于当前App版本号那么此时手机所安装的App不是最新版。可以提示用户升级。(2)如果不大于当前版本号,可以提示用户为最新版本:...

2018-06-21 16:03:15 2522 1

转载 byte[]与十六进制字符串的转换

/** * byte[]与16进制字符串相互转换 * */public class BytesHexStrTranslate { private static final char[] HEX_CHAR = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e...

2018-06-21 13:46:47 5565

转载 Android开发中的Intent.Action

本文介绍Android中Intent的各种常见作用。1 Intent.ACTION_MAINString: android.intent.action.MAIN标识Activity为一个程序的开始。比较常用。Input:nothingOutput:nothing &lt;activity android:name=".Main" android:label="@string/app_name"&g...

2018-06-21 09:27:45 236

原创 实时数据的折线图

Android图表控件MPAndroidChart——曲线图LineChart(多条曲线)动态添加数据发现最新的MPAndroidChart和以前版本的使用有一些差距,就写下了现在新版的使用方法 相关文章:Android图表控件MPAndroidChart的简单介绍(MPAndroidChart3.0)Android图表控件MPAndroidChart——曲线图LineChar...

2018-06-20 17:05:47 2992

原创 Gson解析中的Typetoken获取数据类型

情景引入: 在使用GSON解析一段JSON数组时,需要借助TypeToken将期望解析成的数据类型传入到fromJson()方法中,如下:List&lt;Person&gt; people = gson.fromJson(jsonData, new TypeToken&lt;List&lt;Person&gt;&gt;(){}.getType());1 ...

2018-06-20 16:52:32 5261

原创 日期util

public class DateTimeUtil { static SimpleDateFormat format; /** * 日期格式:yyyy-MM-dd HH:mm:ss **/ public static final String DF_YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; /...

2018-06-20 16:23:24 177

转载 listview添加头部

一、 概述:在代码中使用 listView.addHeaderView(…) 方法可以在ListView组件上方添加上其他组件,并且连结在一起像是一个新组件。如果多次使用 .addHeaderView(…) ,则最先添加的组件在最上方,按添加的先后顺序由上到下罗列。 此时listView 的 position = 0 的位置对应的是view1,而不再是原来listView中的第一条了。如下图所示:...

2018-06-19 17:43:32 1705

转载 listview的多布局实现

实现代码Adapter的代码其中:ViewHolder分别是三个不同的布局,也就是ListView中每一项的布局TYPE_1...是三种类型.在使用不同布局的时候,getItemViewType和getViewTypeCount不能少,一般的同一种item的列表是不用这两个函数的重载的,但是如果需要不同种类的item,就必须重载这两个classRunRankAdapter...

2018-06-19 17:42:02 1979

原创 本地文件操作类

public class LocaHostUtils { //获取当前的时间 public static String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date()); //这个路径是 当前路径/OPE/ public sta...

2018-06-15 12:37:47 149

原创 SFTP工具

public class SFTPUtils { private String TAG = "SFTPUtils"; private String host; private String username; private String password; private int port = 22; private ChannelSftp sf...

2018-06-15 12:36:34 2003

原创 截取字符串(去掉前n个字符)

public static String truncateHeadString(String origin, int count) { if (origin == null || origin.length() < count) { return null; } char[] arr = origin.toCharArray(); ch...

2018-06-15 12:20:30 20786 1

原创 RecyclerView多布局的简单实现

一、在做项目时,我们经常会遇到如下面的 在一个窗口中,不同行的布局不同,有的是一行一个条目,有的是一行两个条目,还有四个的,还有更多,这里是数量不同,还有的是不同行里条目数量相同而布局不同,都可以用recyclerview的多布局来实现,下面就简单实现布局和数量都不同的recycle人view的多布局实例1、使用recyclerview要到包在gra...

2016-11-12 19:16:23 5705 2

原创 Xutils3的基本使用

Xutils3在原来的基础上的改动之后还是比较方便我们使用的,这里只是简单的说了一下其使用方法!

2016-11-06 14:32:29 1551

原创 Listview 头部悬停效果的实现

在android App中最常用的控件之一Listview基本上每个app都用的上,其使用频率高,所以就有更多的人想用它来实现更多的效果,比如listview的多布局,listview的添加头部,底部和头部悬停等效果都是最基础的!下面就用最简洁的语言来讲述一下listview的头部悬停效果的使用:整个主要布局就是一个ListView,如果listview的上面有内容且高度比较高,可...

2016-11-03 22:07:02 2288 2

原创 NavigationView

导航菜单的制作方式多种多样,网上也有各种炫酷效果的具体实现方式,那么今天我主要是想来说说Google在2015年io大会推出的NavigationView的具体使用方式。

2016-11-03 20:06:54 278

空空如也

空空如也

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

TA关注的人

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