- 博客(41)
- 收藏
- 关注
原创 Kotlin 封装Adapter,使用DSL极其简洁的方式穿件Adapter,同时支持多类型
# KAdapterKAdapter 是Kotlin版本RecyclerView Adapter的封装,使用DSL创建Adapter,使用更简洁的方式创建github Demo地址 别忘给个starUsage#### 当前最新版本 1.0.2#### 引库 implementation 'cn.ustory.qy:kadapter:1.0.2'1. 创...
2018-10-30 17:28:06
1905
原创 kotlin with run apply alos let 详解
### 学习kotlin with run apply also letKotlin App架构我们把他们定义拆开来分析比如本身方法,我们叫前方法,后面传入的lambda,我们叫后方法,而几个方法中主要和扩展和传入参数有关1. with //前不扩展,前传入receiver,后扩展receiver,后不传入参数,返回值R(也就是函数返回值) public ...
2018-10-16 13:28:31
620
原创 深度学习Android MVP框架,手把手教你打造完美MVP框架------S-MVP
MVC时代:在MVC模型里,更关注的Model的不变,业务需求通常是Model不变,同时有多个对Model的不同显示,即View。所以,在MVC模型里,Model不依赖于View,但是View是依赖于Model的。 不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。MVP时代:在MVP里,Presenter完全把Model和View进行...
2018-07-06 17:52:50
1588
原创 算法学习
下面是我个人学习算法总结,里面有很好的注释,我会坚持一直学习算法,希望感兴趣的小伙伴能和我一起学习更多算法时间复杂度介绍空间复杂度介绍递归算法与非递归算法区别和转换折半查找/二分查找算法链表实现反转一个链表直接插入排序快速排序选择排序二叉树排序冒泡排序线程与锁详解(还差wait和notify,notifyAll)二叉树的遍历(
2017-11-25 21:05:28
370
原创 深入理解 Android 通信信使Intent和IntentFilter
深入理解 Android 通信管家Intent一、Intent对Android的核心和灵魂,是各组件之间的桥梁。四大组件分别为Activity 、Service、BroadcastReceiver、ContentProvider。而这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。Intent的中文意思为“意图”,在Android中可以理
2015-01-15 16:08:56
1106
原创 Android UI 详解之ActionBar+ViewPager+Fragment 实现滑动Tab
Android UI 详解之ActionBar+ViewPager+Fragment 实现滑动Tab一、 ActionBar 可以实现Tab导航栏,但是我们只能通过点击每个Tab标题实现,也可是通过定义手势,触发切换的方法,但这种显然效果不好,而且实现起来复杂。 ViewPager用于实现多页面的切换效果.他相当于一个容器和ListView很像,因此
2015-01-14 14:43:13
1684
原创 Android UI详解之Toast、Notification、SearchView
Android UI详解之Toast、Notification、SearchView一、Toast是一种非常方便的提示消息框。 它具有两个特点: ①Toast提示的消息不会获得焦点 ②Toast提示的消息过一段时间就会自动消失 开发步骤: ①调用Toast的构造器或makeText()静态方法创建一个Toa
2015-01-11 17:35:08
1249
原创 Androi UI 详解之ViewAnimator(ViewSwitcher,ImageSwitcher,TextSwitcher,ViewFlipper)
ViewAnimator一、ViewAnimator 是一个基类,他继承了FrameLayout 他可以将多个View组建叠加在一起,ViewAnimator新增加的功能正如他的名字所暗示的,可以在切换时表现动画效果, ViewAniamtor的继承关系 --FrameLayout --ViewAnimator
2015-01-09 17:41:11
5386
转载 Android UI详解之 shape和selector和layer-list
和在Android UI设计中经常用到。比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到和。可以这样说,和在美化控件中的作用是至关重要。在看这篇文章之前,可以看下这个小例子:镂空按钮的实现1.Shape简介作用:XML中定义的几何形状位置:res/drawable/文件的名称.xml使用的方法:Jav
2015-01-09 17:35:06
738
转载 android中的style部分属性值介绍
android中的style部分属性值介绍Android平台定义的主题样式:android:theme="@android:style/Theme.Dialog" 将一个Activity显示为对话框模式•android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏•android:theme="@an
2015-01-09 16:13:33
492
原创 Android UI详解之SeekBar、ProgressBar和RatingBar
Android UI详解之SeekBar、ProgressBar和RatingBar ***ProgressBar本身是一个进度条,他派生了两个子类SeekBar和RatingBar Android中支持几种风格的进度条,通过Style属性指定风格 style="@android:style/Widget.ProgressBar.Large" 大环进
2015-01-09 15:59:32
2541
原创 Android UI 详解之ToggleButton按钮和Swith按钮
Android UI 详解之ToggleButton按钮1、ToggleButton 和Swith同样是继承Button而来的,所以剧本Button的一切属性 ToggleButton新加的最重要属性, android:checked 设置按钮是否被选中 android:textOff 设
2015-01-09 10:09:58
1555
原创 Android UI 详解之Bitmap
Android UI 值Bitmap 详细介绍一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Ma
2015-01-08 15:27:17
757
原创 Android UI 详解之单选(RadioButton)和复选(CheckBox)
Android UI 详解之单选(RadioButton)和复选(CheckBox)
2015-01-08 11:13:58
3296
原创 Android UI详解之EditText
Android UI详解之EditText 一、EditText 属性 EditText继承关系:View-->TextView-->EditText。 1、android:layout_gravity="center_vertical" ----- 设置控件显示的位置:默认top,这里居中显示还有bo
2015-01-06 16:05:25
645
转载 Android UI详解之View绘制原理
Android View绘制原理详解 Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类,由此就得到了视图部分的基本结构--树形结构View定义了绘图的基本操作基本操作由三个函数完成:measure()、layout()、draw(),其内部又分别包含了onMeasure()、
2015-01-06 14:32:15
2712
转载 Android组件Fragment生命周期详解
Android组件Fragment生命周期 官网帮助文档链接: http://developer.android.com/guide/components/fragments.html主要看两张图,和跑代码一,Fragment的生命周 二,与Activity生命周期的对比 场景演示 : 切换到该Fragment11-29 14:2
2015-01-06 14:19:02
659
转载 Android之Activity生命周期详解
Android之Activity生命周期详解 在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。 Android总Activity的启动模式分为四种:Activity启动模式设置: ".MainA
2015-01-06 14:12:47
717
转载 Android为APP签名
1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。2.签名的步骤 a.创建key b.使用步骤a中产生的key对apk签名3.具体操作 方法一: 命令行下对apk签名
2015-01-06 14:06:16
735
原创 Android UI 详解之LayoutInflater和setContentView
Android UI 详解之LayoutInflater1、LayoutInflater LayoutInflater作用是将layout的xml布局文件实例化为View类对象。 2、LayoutInflater实例化方法有以下3种 LayoutInflater inflater=(LayoutInflater)context.getSyste
2015-01-06 12:02:20
1438
原创 Android UI 详解之ScrollView
Android UI 详解之ScrollView一、ScrollView 就是滚动视图的意思,他的下边只能有一个子元素,如果构造复杂的布局,就需要在子元素下边构造复杂的布局,通常用的子元素是垂直方向的LinearLayout,显示在最上层的垂直方向可以让用户滚动的箭头。 TextView类也有自己的滚动功能,所以不需要使用ScrollView,但是只有两个结合使用,才能保证显示较多内容时
2015-01-06 10:09:50
3260
原创 Android UI详解之动态布局
Android UI详解之动态布局RelativeLayout rl = new RelativeLayout(this); Button btn1 = new Button(this); btn1.setText("----------------------"); btn1.setId(1); RelativeLayout.LayoutParams lp1 = ne
2015-01-05 16:08:51
4269
1
原创 Android UI详解之Layout属性
Android UI详解之Layout属性1、RelativeLayout第一类:属性值为true可falseandroid:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:layout_centerInparent 相对于父元素完
2015-01-05 13:59:16
4923
原创 Android UI详解之布局管理器(一)
Android UI 之一Layout一、布局管理器 1、线性布局 2、表格布局 3、相对布局 4、帧布局 5、绝对布局 ①顶级父类View ②子类G
2015-01-03 16:23:17
1200
原创 全面掌握Android的JSON数据的传递
全面掌握Android的JSON数据的传递1、android解析JSON android sdk中为我们提供了 org.json,可以用来解析json,在android3.0 又为在 android.util包JsonReader和JsonWriter来进行json的解析和生成 我们知道json中就两种结构,一种Array,
2014-12-31 14:24:56
1988
原创 深入理解网络编程(二)
深入理解网络编程(二)1、Socket编程 ServerSocket 方法 ①Socket accept() ②ServerSocket(int port) ③ServerSocket(int port,int backlog) ④ServerSoc
2014-12-30 12:18:40
577
原创 全面掌握SharePreferences
全面掌握SharePreferences 一、SharePreferences是什么? 1、当程序中有少量的数据保存,而且这些数据的格式简单:都是一些字符串、标量类型的值等。比如应用程序的各种配置信息,应用程序的使用次数。这个时候就可以用SharePreferences对象保存,SharePreferences的数据总保存在/data/data//shared_prefs
2014-12-29 10:37:57
808
原创 深入理解Android解析xml(二)
Android解析xml一、前面介绍了3中方式的如何解析XML的,以及一些例子,这次我将介绍一下,如何写会XML以及3种解析的内部的详细介绍。
2014-12-29 00:21:00
575
原创 深入理解Android解析XML(一)
Android解析XML方法详解一、Android解析xml有3种方法,SAX ,DOM , PULL 1、Simple API for XML(SAX) SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备。 SAX解析XML文件采用的是事件驱动,也就是说
2014-12-28 16:13:50
660
原创 深入理解Handler消息传递机制详解
Handler详解1、出于线程考虑,Android的UI不是线程安全的,者意味着如果有多个线程并发操作UI组件,可能导致线程安全问题。为了解决这一问题,Android指定了一个简单的规则:只允许UI线程修改Android里的UI组件(UI线程也叫主线程)
2014-12-26 12:12:14
970
原创 AtomicInteger
这个类真的非常实用,更重要的是 它确实非常简单:附上自己的代码,可以自己试试:AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。 代码:package test;
2014-12-26 11:34:44
512
原创 深入理解异步任务AsyncTask
异步任务AsyncTask 1、Android 的UI线程主要负责处理用户的按键事件、用户触屏事件及品目绘图事件等,不能处理耗时操作,否则UI界面会停止响应。(Android UI想成超过20秒就会出现ANR,但是让用户等6秒钟就会非常反感,所以这里就不要记时间了) 2、为了避免失去响应,我通常是新开启个线程去处理耗时任务,但是问题又来了
2014-12-25 23:27:00
1590
原创 深入理解Android事件处理(二)
Android事件处理(下) 2、基于回调事件的处理 如果说事件监听是一种委托的事件处理,那么回调机制恰好相反,对于回调机制事件处理模型来说,事件源和时间监听器是统一的,或者说事件监听器完全消失了,当组件激发某个事件时,组件自己特定的方法会负责去处理,而Java又是一个静态语言,我们无法为某个对象动态添加方法,因此只能继承GUI组件类,并重写该类的事件处理方法来
2014-12-25 15:45:16
612
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人