- 博客(23)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 自定义View-仿小米秒钟
效果图:前言:自定义view,是开发者必备的技能之一,也是找工作时面试官必问的题目。 有文章把自定义控件归纳为三种: 一、自绘控件,即继承View,在onDraw()内使用canvas绘制; 二、组合控件,即把常用的控件组合在一起,变成新的控件; 三、继承控件,即继承一个常用的View,修改、增加某个方法等。组合控件最常用,自绘控件最体现水...
2018-04-15 13:39:20
766
原创 Rxjava 操作数据库是如此简单
先前有写过基于Rxjava+Retrofit获取网络数据,有时数据源来自本地数据库,读写数据库也是耗时操作。既然mvp+Rxjava的封装适用于网络数据,是否适用于数据库的操作呢? 这几天也查看了相关的资料,没有看到一针见血的文章。细细看来,其实也很简单。只需要改一行代码就可以搞定! Retrofit的封装过程可以参考先前的文章:安卓框架搭建之MVP+Retrofit+RxJava基础:,这里先
2018-01-06 15:38:37
6144
1
原创 (七)安卓框架搭建之其他必备要素的封装或引入
1.安卓6.0权限处理机制、android 7.0读写M的权限、N外部文件读写,相信坑了不少同学。框架里必须得有!1.1权限问题权限问题之前看到的一个很好的封装方法,真正做到一个方法解决问题,而且我试验下来,确实很完美。依赖:compile ‘pub.devrel:easypermissions:0.1.9’封装:在第三方基础上,重新封装,新建 EasyPermission、PermissionC
2017-11-26 13:24:44
553
1
原创 (六)安卓框架搭建之RecyclerView和Adapter以及列表案例
recycalview和adapter recycleview 的出现就是来替代listview,并且其性能上做了很多优化。今天用的这个是取自第三方的Xrecycleview,没错,这次又是站在了巨人的肩膀上。选Xrecycleview的原因是之前用这个写过一个自定义的头部刷新view.而且它在github上,评价也蛮好。有点小遗憾就是刷新效果很老气。所以我决定重新写一个RefresHeader.
2017-11-26 13:24:05
646
原创 (五)安卓框架搭建之BaseFragment,MainActivity, Toolbar细化
讲完了网络通信模块和MVP结构。回过头来再说说基础页面的封装BaseFragmentBaseFragment和BaseActivity基本是一样的 在BaseActivity同级目录下新建 BaseFragment,直接贴出内容package com.example.burro.demo.appframework.ui;import android.os.Bundle;import andro
2017-11-26 13:23:28
764
1
原创 (四)安卓框架搭建之MVP+Retrofit+RxJava优化
BasePresenter的优化RxJava也需要管理生命周期,即添加订阅和解除订阅。
2017-11-26 13:22:45
1561
5
原创 (二)安卓框架搭建之项目Butterknife引入,Application的简单封装
先写Butterknife,Application,主要因为第三篇的MVP封装会用到,需要提前做些准备工作。再者是Butterknife的导入,有几点是需要强调的!ButterknifeButterknife人称黄油刀,强大之处无需多言,案例中使用Butterknife的版本为8.5.1。
2017-11-26 13:16:46
1312
原创 安卓虚化背景的实现
之前有一个需求就是要实现类似音乐播放器的虚化背景。在此整理一下首先看看效果:一、引入的包package com.example.dell.myapplication;二、MainActivityimport android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.WindowMan
2017-11-18 16:33:17
2923
2
原创 安卓常用工具类-ToastUtils【提示工具类】
该工具类做了优化处理,若A消息正在显示提示,此时B消息进来,会直接改变提示的文字内容。不会等A消息结束再弹出。提高了用户体验~
2017-10-22 11:39:56
1560
原创 安卓常用工具类-StringUtils【String字符串工具类】
判断字符串是否为空,项目中用的太多了。必须封装起来!另外判断集合是否为空用的也很多,这里也放到一起~
2017-10-22 11:30:53
2818
1
原创 (一)安卓框架搭建之项目分层、主题、gradle基本配置
前言框架重要性不言而喻,一个好的框架可以大大提高后期开发的效率和质量。接下来将分七篇文章讲述安卓框架的搭建,框架中用的是当前比较主流的元素,也是相对成熟稳定的。讲述的内容参考了很多相关的资料,绝大部分也是经过一番思考和论证。文章既为分享,也为总结!主要涉及的知识点如下(所列内容不分先后):
2017-10-04 16:38:24
1579
原创 Android Studio 生成debug版本正常,生成release版本报错
最近的任务是优化一个老项目,这个项目的开发工具一直以来都是Inteliji IDEA,项目除了生成测试包外,还会有UAT包、生产包等,需要频繁的手动更改IP地址、端口等等一些参数。新项目的开发都是用Android Studio[基于IDEA],所以就尝试着把这个项目导人Android Studio,顺便利用gradle来创建多个版本的包。创建的步骤网上很多教程,这里不再赘述。遇到的问题是,
2016-08-03 21:14:38
23265
原创 GBK(GB2312)与UTF-8文件转码
最近使用的Intelij IDEA开发工具,转码有点小问题。百度了一下,Eclipse可以自动转码,而IDEA却不可以。总是需要手动去转若要把源文件由GBK转成UTF-8的,得靠其他方式了。网上搜罗了一下方法,然后自己整理了一下。现把代码贴出来,测试OK、可以直接使用!需要的四个jar包,分别是:“antlr-2.7.6.jar”、“commons-io-2.4.jar”、“cpdetecto
2016-07-06 22:28:55
2190
原创 Android逐帧动画的简单使用-语音播放效果的实现
逐帧动画(Frame-By-Frame Animation)原理很简单,即快速切换不同的图片,形成动画效果。Android中逐帧动画的实现方式也很简单,下面以语音播放效果为例说明。1. 首先准备图片素材三张图片分别命名为play1.png, play2.png, play3.png,放入drawable目录下,图片如下: 2. 编写anim.xml文件,文件内容如下:
2016-07-02 00:03:27
5231
原创 上下文菜单的创建
/**上下文菜单需要长按view才能弹出*/ 1. 注册:Button bt=(Button)findViewById(R.id.button1); registerForContextMenu(bt);2.创建: /**上下文菜单创建*/ @Override public void onCreateContextMenu(Conte
2015-11-14 10:09:13
710
流水灯、数码管动态显示(protues仿真实例)
2011-08-19
安卓仿支付宝首页的效果
2017-04-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人