- 博客(14)
- 资源 (17)
- 问答 (1)
- 收藏
- 关注
原创 Android 原生实现Tap切换字体变色下划线移动
前言我们知道,现在实现Tab切换之类的效果都是android TabLayout+ViewPager配合使用。刚开始开发那段时期,第一次看见某app滑动tap标题变色下划线移动效果,当时非常喜欢,于是从网上找资料,发现它是一个用自定义view绘制画图实现的。本人不是对这种实现有偏见,只是觉得它太繁琐复杂,但是我的个性是有些功能搞懂Viewpager的原理后,自己动手就能实现了。好了,废话不...
2017-04-26 21:24:25 2536 4
原创 Android 签到打卡日历,自定义日期可带图标(附源码)
前言公司项目需要做一个签到送积分的系统,要求app实现这种签到功能。先在网上找了一些资料,有些用自定义View画图实现,其实对于普通码农对绘图会没耐心看各自算法。所以自己动手撸一个通用型日历,使用ViewPager+Releteview+Calendar+算法实现。想着这次也为了以后做其他项目中能用到,因为真心觉得很实用。源码地址:http://download.csdn.net/deta...
2017-04-26 17:12:44 15550 2
原创 Java DecimalFormat玩转计算,保留小数点,格式化字符串
在实际开发中,需要把数字显示固定一种格式,比如浮点型0.22或者千分位22,222,222,这时就可以用到java的DecimalFormat类去格式化。一:介绍DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。DecimalFormat 包含一个模式 和一组符号符号含义:0 一个数字 # 一个数字,不包括 0
2017-04-26 11:55:20 2313
原创 Android RadioGroup多行显示,解决单选问
非常简单!RadioGroup多行显示其实就是两个RadioGroup进行切换,使用RadioGroup的clearCheck()方法进行操作。但是在使用clearCheck()之前,如果RadioGroup已经设置过监听,执行就会报StackOveflowError错误。解决办法:先setOnCheckedChangeListener(null)再调用clearCheck()然后重新setOnCheckedChangeListener(checkedListener)。
2017-04-19 16:46:01 7867 1
原创 Java/Android 日期格式SimpleDateFormat转换,以及Date和Calendar的使用
获取时间日期的方式有两种 :Date 和Calendar。一、Date 的使用:1:配合SimpleDateFormat进行转换。例如:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d");yy/MM/dd HH:mm:ss :2002/1/1 17:55:00(24小时制)yy/MM/dd HH:mm:
2017-04-17 10:31:05 10821
原创 Android 多进程的基础使用及优缺点
前言说起进程,不得不说说进程和线程之前的关系。在操作系统角度描述,线程是CPU调度的最小单位且是有限的系统资源。而进程是值一个执行单位,例如一个程序或应用,一个进程包含多个线程,默认的一个线程是主线程,即UI线程,可以操作Ui界面元素,但不能做耗时任务,否则会ARN程序无响应。我们可以使用多进程分担主进程压力以免因资源消耗过大被crash掉,另外多进程相互监听可以唤醒,使应用程序长期驻守后...
2017-04-08 19:20:58 5977 2
原创 Android必须知道的Java内存结构及堆栈区别
一、认识Android储存结构对于Android来说,存储主要分为三个部分:内存、内部存储以及外部存储,详细介绍如下:(1)内存存储RAM(Random Access Memory)内存与PC的内存是一样的,是用来运行程序,不能用来永久存储数据,手机一旦关机,在内存中的所有数据都将会丢失,内存也是现在人类制造的所有电子设备所必需拥有的。(2)内部存储RO
2017-04-06 10:36:41 5717 1
原创 Android 框架MVVM详解
导读我们一步步来,从MVC开始。 MVC 我们都知道,模型——视图——控制器。为了使得程序的各个部分分离降低耦合性,我们对代码的结构进行了划分。他们的通信方式也如上图所示,即View层触发操作通知到业务层完成逻辑处理,业务层完成业务逻辑之后通知Model层更新数据,数据更新完之后通知View层展现。在实际运用中人们发现View和Model之间的依赖还是太强,希望他们可以绝对独立的存在,
2017-04-05 12:19:48 5328 4
原创 Android MVP设计模式介绍(附简单Demo下载)
一、MVP由来MVP模式属于UI框架模式的一种,随着UI技术的功能日益丰富,View层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-View-Presenter)模式应运而生。二、MVP与MVCMVP:因为是从经典的模式MVC演变而来,它们的基...
2017-04-05 12:02:45 1468 3
原创 Android MVC设计模式详解
一、MVC原理 MAC是一种非常经典的应用设计思路,MVC将业务逻辑、数据与界面显示分离,真正实现了代码的高内聚低耦合。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。它主要分Mode --View--Controller(模型--视图--控制器)三层。一个模型可以有多个视图,一个视图可以有多个控制器,一个控制器也可以有多个模型。
2017-04-05 11:48:51 3111
转载 Android 广播Broadcast的两种注册方式静态和动态
定义BroadcastReceiver,“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作;当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时...
2017-04-01 18:14:35 39216
原创 最常见的Android内存优化方式及防止泄漏造成OOM总结篇
前言内存优化目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收。既然说到内存泄漏和优化,就不得不先简单了解一下内存分配策略,然后再举常见泄漏例子和解决方法,最后做一下总结,这样更直观全面了解Android内存方面处理。强烈!推荐好文相关阅读。1、Java 垃圾...
2017-04-01 12:07:27 4229 3
原创 Java Final修饰符存储位置,为什么String是不可变的?
前言 相信大家在开发中,对于final修饰符都比较常见,它会将修饰的变量固定不可重复赋值。但是我们是否思考过被它所修饰属性变量或类存储在哪里呢?下面已我将用比较有趣的问答形式,让大家对final有一个全面的认识。在不了解java的内存分配存储知识的可以先异步看一下内存如何分配(简单普及知识)。问题一究竟final修饰的数据被存储在什么位置呢?
2017-04-01 11:59:55 9437 5
原创 Java 面向对象封装、继承、多态——编程思想总结
什么面向对象?一句话,万物皆对象。比如,人是一个类,男人或女人就是人类的对象。而面向对象思想强大之处是,我们可以继续划分类,比如,前面说的人类可以属于动物类,那么本属于人类的男人或女人,也可以属于动物类。面向对象三大特性是什么?封装、继承、多态。首先,我们先通过一个有趣的比喻说明来理解。 首先说定义一类人被封装成“贪官”,我们就是平民老
2017-04-01 09:27:05 1770
Android 二维码扫一扫demo
2020-01-06
ExpandableListViewDemo.zip
2019-11-27
TestApplication.zip
2019-05-08
download-manage
2019-01-09
Bluetoothdemo
2017-09-11
音频震动管理
2017-09-08
ToolBar封装抽象类统一项目风格
2017-06-01
Android 热修复tinker补丁加载出错,提示日志如下:
2018-03-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人