- 博客(43)
- 资源 (83)
- 收藏
- 关注
原创 Android---MVP设计模式中级(二)
上一篇MVP设计模式相对来说比较简单 MVP设计模式初级这一篇的需求逻辑是如下图片(呵呵,盗图于hyman~~洋洋) 点击打开链接下载本需求demo这个需求的逻辑是1、首先在M层,定义一个user类,提供姓名、密码字段2、在M层中提供一个Login的登录业务方法,在这个方法里面在放置一个接口,这样做的用意是登录成功后,在UserLoginPrese
2015-11-30 18:15:52 814
原创 Android---MVP设计模式初级(一)
所谓的mvp,即是(model-处理业务逻辑(主要是数据读写,或者与后台通信(其实也是读写数据)),view-处理ui控件,presenter-主导器,操作model和view)从其他博客盗个图贴出来,MVC和MVP的区别官方的盗几句话,简单说下MVP的优点1、模型与视图完全分离,我们可以修改视图而不影响模型2、可以更高效地使用模型,因为所有的交互都发生在一个地
2015-11-30 16:28:49 1440
原创 Android5.x新特性之ViewOutlineProvider轮廓、阴影---setClipToOutline裁剪
——————————————————效果1————————————————————activity_main.xml主界面布局文件如下<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" and
2015-11-27 23:05:57 26223
原创 Android5.x新特性之ViewDragHelper拖动控件(3种方案)
+++++++++++++++++++++++++++++++方法1++++++++++++++++++++++++++++++++++++activity_main.xml布局文件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sche
2015-11-27 18:14:01 1809
原创 Activity、Fragment生命周期---横竖屏切换的生命周期
先贴出一张大家众所周知activity流程图onCreate():创建Activity调用,用于Activity的初始化,还有个Bundle类型的参数,可以访问以前存储的状态。onStart():Activity在屏幕上对用户可见时调用,但还不可与用户交互 onRestart():在activity停止后,在再次启动之前被调用。onResume():Activity开始和用户交互
2015-11-27 14:18:51 4995
原创 Android5.x新特性之CardView立体卡片--阴影、圆角
苹果追求的是扁平化,安卓追求的是层次,立体,阴影化安卓5.X新特性里面就有一个CardView可以实现该效果测试工具:Nexus5 开发工具Es Sdk版本5.1.1代码下载地址 点击打开链接------------提示:demo无法在4.x的手机上运行,由于Nexus5我刷机是5.x的rom,所以可以跑起来,我初学,不知道原因是不是,这个控件只能适用于5.x
2015-11-26 15:38:04 13956
原创 Android5.x新特性之RecyclerViewHorizontal、Vertical
****************************************RecyclerViewHorizontal*************************activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="
2015-11-26 15:14:25 1404
原创 下拉刷新之高仿京东头部快递小哥(1)
先看主页面布局文件activity_main.xml--有一个SeekBar、还有一个缩放快递小哥的自定义控件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layou
2015-11-24 19:23:55 996
原创 容联云通讯---进微信会话界面,主动同步服务器至本地数据库
进入微信,点击发消息,进入会话语聊界面接收Hook组发来的广播package com.godinsec.seland.updatecontacts;import com.godinsec.seland.immsUtils.LogUtils;import com.godinsec.seland.sqlite.VChatSipInfoStorage;import android.conte
2015-11-24 16:48:38 1487
原创 容联云通讯---将系统手机联系人注册用户,同步服务器至本地数据库
公司是在容联云通讯的代码上,进行二次开发的系统启动后,启动startHSCoreService服务操作 public static void startHSCoreService(Context context) { if (Global.clientInfo() != null && Global.IsActive) { Intent service = new Inten
2015-11-24 16:06:30 1015
原创 自定义控件(31)---【转载】Animation 动画(二)Interpolator插值器
转自 http://blog.csdn.net/harvic880925/article/details/40049763AccelerateDecelerateInterpolator 在动画开始与介绍的地方速率改变比较慢,在中间的时候加速AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速Antici
2015-11-22 12:55:30 546
原创 自定义控件(30)---【转载】Animation 动画(一)alpha、scale、translate、rotate、set的xml属性及用法
转自 http://blog.csdn.net/harvic880925/article/details/39996643一、scale标签——调节尺寸1、自有属性scale标签是缩放动画,可以实现动态调控件尺寸的效果,有下面几个属性:android:fromXScale 起始的X方向上相对自身的缩放比例,浮点值,比如1.0代表自身无变化,0.
2015-11-22 12:45:12 731
原创 自定义控件(32)---【转载】Animation 动画(三)ObjectAnimator、valueAnimator
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_p
2015-11-22 12:23:18 691
原创 自定义控件(23)---FloatView悬浮窗(2)
点击打开链接,下载demo...点击打开链接,下载自定义控件(22)---FloatView悬浮窗(1)点击打开链接,最原始的悬浮窗代码。。。先看效果图先看主页面布局main.xml--这里面有2个button,操作是打开浮动窗口,关闭浮动窗口<LinearLayout xmlns:android="http://schemas.android.c
2015-11-18 17:17:11 3644
原创 自定义控件(22)---FloatView悬浮窗(1)
点击打开链接,现在demo。。。。activity_main.xml看主界面的布局文件<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="f
2015-11-17 21:48:37 2500
原创 自定义控件(21)---自定义控件之高仿猫眼小项目(3)
在这篇博客里有链接 高仿猫眼电影app源码下载地址 先看布局文件吧fragment_movie_rank_layout.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:dandy="http://schemas.android.com/ap
2015-11-16 11:26:44 1292 1
原创 自定义控件(20)---自定义控件之高仿猫眼小项目(2)
项目的源码在 高仿猫眼项目连载(1)--->底部Tab栏切换实现 可以下载继续回到上篇 高仿猫眼项目连载(1)--->底部Tab栏切换实现底部Tab每个按钮各对应一个fragment界面,接下来先看简单的界面,点击Tab键的影院进行影院界面的加载--这个界面主要是了解自定义属性的使用哦主要是一个自定义属性和include的思想,如果想要让自定义属性发挥到极致去看我的fragmen
2015-11-16 11:25:49 961
原创 自定义控件(18)---自定义控件之面板思想---addRule
attrs.xml(第一步,在这里)[html] view plaincopyxml version="1.0" encoding="utf-8"?> resources> declare-styleable name="TopBar"> attr na
2015-11-15 17:14:57 582
原创 自定义控件(17)---布局方式组合系统控件,并封装自定义控件思想(自定义CheckBox)
先看主布局activity_main.xml(就一个自定义控件)<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="matc
2015-11-15 17:10:36 708
原创 自定义控件(16)---代码方式组合系统控件,并封装自定义控件思想
/** * * @author AigeStudio {@link http://blog.csdn.net/aigestudio} * @since 2015/1/27 * */public class LifeCycleView extends View { private static final String TAG = "AigeStudio:LifeCycleView
2015-11-15 15:38:48 611
原创 自定义控件(15)---ViewGroup绘制的自定义子View的margin注意
activity_main.xml<com.aigestudio.customviewdemo.views.CustomLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match
2015-11-15 14:02:14 3606 1
原创 自定义控件(14)---ViewGroup绘制的Padding、margin注意
ViewGroup测量子元素有关,其中measureChildWithMargins和measureChildren类似只是加入了对Margins外边距的处理,ViewGroup提供对子元素测量的方法从measureChildren开始:measureChildren的逻辑很简单,通过父容器传入的widthMeasureSpec和heightMeasureSpec遍历子元素并调用measure
2015-11-13 15:02:52 2554 1
原创 自定义控件(13)---View绘制的Padding、Margin
activity_main.xml--图片包裹内容<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:backgro
2015-11-12 22:29:03 3189
原创 自定义控件(12)---View的onMeasure默认、自定义情况(MeasureSpec)
默认情况下onMeasure方法中,只是简单地将签名列表中的两个int型参数,回传给父类的onMeasure方法,然后由父类的方法去计算出最终的测量值。但是,这里有个问题非常重要,就是onMeasure签名列表中的这两个参数是从何而来,这里可以告诉大家的是,这两个参数是由view的父容器,代码中也就是我们的LinearLayout传递进来的某个布局的上下级关系如下这也是为什么我们在获取我们
2015-11-11 23:42:25 757
原创 自定义控件(11)---Canvas的平移、旋转、缩放、错切、Matrix直接变换Canvas
Canvas中的变换操作,说起变换,无非就几种:平移、旋转、缩放和错切,而我们的Canvas也继承了变换的精髓,同样提供了这几种相应的方法,前面的很多章节我们也都用到了,像translate(float dx, float dy)方法平移画布用了无数次,这里再次强调,translate方法会改变画布的原点坐标,原点坐标对变换的影响弥足轻重,前面也多次强调了!scale(float sx, floa
2015-11-11 15:55:56 6656 1
原创 自定义控件(10)---Canvas的save、restore方法的Stack思想
save和saveLayerXXX方法有着本质的区别,saveLayerXXX方法会将所有操作在一个新的Bitmap中进行,而save则是依靠stack栈来进行如果在上一篇博客里面的自定义view修改下onDraw方法,其他不变@Override protected void onDraw(Canvas canvas) { /* * 保存并裁剪画布填充绿色 */
2015-11-11 15:02:03 3098
原创 自定义控件(9)---Canvas的save、restore、saveLayer、saveLayerAlpha
Canvas是一个容器,如果把Canvas理解成画板,那么我们的“层”就像张张夹在画板上的透明的纸,而这些纸对应到Android则是一个个封装在Canvas中的Bitmap。除了save()方法Canvas还给我们提供了一系列的saveLayerXXX方法给我们保存画布,与save()方法不同的是,saveLayerXXX方法会将所有的操作存到一个新的Bitmap中而不影响当前Canvas的B
2015-11-11 14:00:08 1351
原创 自定义控件(8)---PathEffect平滑曲线--点、线、矩形、圆
activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF
2015-11-10 15:39:53 868
原创 自定义控件(7)---BlurMaskFilter边界阴影
Android中的很多自带控件都有类似软阴影的效果,比如说Button,使用BlurMaskFilter就可以得到类似的效果activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
2015-11-10 15:02:15 4658
原创 自定义控件(6)---PorterDuffXfermode图形过滤器之橡皮擦应用
activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
2015-11-09 17:05:18 800
原创 自定义控件(5)---PorterDuffXfermode图形过滤器
点击打开链接,下载项目代码。。。。。。。。。。。。当大家看到上面API DEMO给出的效果时一定会觉得PorterDuffXfermode其实就是简单的图形交并集计算,比如重叠的部分删掉或者叠加等等,事实上呢!PorterDuffXfermode的计算绝非是根据于此!上面我们也说了PorterDuffXfermode的计算是要根据具体的Alpha值和RGB值的PS:Src为源图像,
2015-11-09 16:35:07 714
原创 自定义控件(4)---PorterDuffColorFilter混合过滤器
PorterDuffColorFilter跟LightingColorFilter一样,只有一个构造方法PorterDuffColorFilter(int color, PorterDuff.Mode mode)这个构造方法也接受两个值,一个是16进制表示的颜色值这个很好理解,而另一个是PorterDuff内部类Mode中的一个常量值,这个值表示混合模式。那么什么是混合模式呢?混合
2015-11-09 14:39:49 2253
原创 自定义控件(3)---LightingColorFilter光照颜色过滤器--Selector的效果
源码就是博客里的这些文件,没有上传代码,就差一个图片而已,LightingColorFilter顾名思义光照颜色过滤LightingColorFilter (int mul, int add)mul全称是colorMultiply意为色彩倍增,而add全称是colorAdd意为色彩添加,这两个值都是16进制的色彩值0xAARRGGBBLightingColorFilter(
2015-11-09 14:07:38 1772
原创 自定义控件(2)---ColorMatrixColorFilter色彩矩阵颜色过滤器
可以通过Paint中大量的setter方法来为画笔设置属性setColorFilter(ColorFilter filter)设置颜色过滤,什么意思呢?就像拿个筛子把颜色“滤”一遍获取我们想要的色彩结果,这个方法需要我们传入一个ColorFilter参数同样也会返回一个ColorFilter实例,那么ColorFilter类是什么呢?ColorMatrixColorFilter
2015-11-09 13:11:08 2001
原创 自定义控件(1)---初探之不断闪烁的圆环
小案例的原理:1、new Thread(mCustomView).start();2、public class CustomView extends View implements Runnable3、 public void run() { /*确保线程不断执行不断刷新界面*/ while (true) { try { /*如果半径小于200则自加否则大于2
2015-11-09 13:08:44 841
原创 ImageLoader进阶(结合ListView、ViewPager使用)
先看主页面的布局ac_home.xml,里面只有一个Button,进入ListView界面展现图片列表<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_pare
2015-11-05 14:41:41 1396
原创 ImageLoader初见
activity_main.xml主页布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="fi
2015-11-04 11:52:36 495
原创 APK反编译并且用自己的keystore签名生成新的apk
1.下载apktooll工具:http://download.csdn.net/detail/u013210620/92383532.生成自己的keystore文件:(1)命令行模式下进入到jdk\bin目录(2)执行命令:keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -key
2015-11-03 20:32:29 1798
捕获异常、存sd卡、自定义封装json、传log日志到服务器、app崩溃友好重启
2016-07-15
一款很实用的 字母条索引+自定义进度条 http://blog.csdn.net/u013210620/article/details/51250542
2016-04-26
Animation动画详解(六)——ValueAnimator高级进阶(二)
2016-01-27
Animation动画详解(五)——ValueAnimator高级进阶(一)
2016-01-27
SaflyMVP
2016-11-09
简封Volley、Gson和JsonObject生成Json数据、添加Volley请求头体Json参数、Gson解析返回的Json
2016-07-24
buildJSONPacketBody数组形式封装json、JsonReader解析服务器返回值、封装对象、https协议
2016-07-16
捕获异常、存sd卡、自定义封装json(含网络工具类)、生成Json格式、传log日志到服务器(https方式))、app崩溃友好重启
2016-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人