摘要:
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换,本模式使得算法可独立于使用它的客户而变化 Strategy:策略接口,用来约束一系列具体的策略算法。Context使用这个忌口来调用具体的策略实现定义的算法。 ConcreteStrategy:具体的策略实现,也就是具体的算法实现。 St 阅读全文
摘要:
1,模板方法的定义 <!--?xml version="1.0" encoding="UTF-8" standalone="no"?--> 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤 uml AbstractClas 阅读全文
摘要:
迭代器模式的定义 提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 UML 图例 Iterator: 迭代器接口,定义访问和遍历元素的接口 ConcreateIterator:具体的迭代器实现对象,实现对聚合对象的遍历,并跟踪遍历时的当前位置 Aggreate:聚合对象 阅读全文
摘要:
在app中这种效果用的越来越多了,下面看看如何实现这种效果,这里我整理了两种实现这种效果的方式方式一:使用github上面的类库,把这个类库加入到我们的项目中即可https://github.com/ozodrukh/CircularReveal具体代码实现 1 <?xml version="1.0 阅读全文
摘要:
android 窗口类型分为三类: 1,第一种为应用窗口。所谓的应用窗口一般是指该窗口对应一个Activity,由于加载Activity是由AmS完成的,因此,对于应用程序来讲,要创建一个应用类窗口,只能 在Activity内部完成。 2,第二种是子窗口。所谓的子窗口是指,该窗口必须有一个父窗口,父 阅读全文
摘要:
1,设置dialog 背景 1 <?xml version="1.0" encoding="utf-8"?> 2 <shape xmlns:android="http://schemas.android.com/apk/res/android" 3 android:shape="rectangle" 阅读全文
摘要:
代码很清晰,文字也适合阅读https://www.bignerdranch.com/blog/带有小视频的文章,循序渐进https://blog.stylingandroid.com/Material Design Animations & Transitionshttp://lgvalle.xyz... 阅读全文
摘要:
自定义view 拖动的边界需要严谨控制view 1 public class DragView extends LinearLayout{ 2 3 private View childView; 4 private ViewDragHelper mDragHelper; 5 6 ... 阅读全文
摘要:
ViewDragHelper 是谷歌2013年i/o大会上提出的,统一了view 的拖动处理,ViewDragHelper。使用ViewDragHelper场景:一般是view需要滑动拖拽,比如slidingmenu, listview item左右滑动效果等等。写在自定义的view中。使用View... 阅读全文
摘要:
1 html.setText(Html.fromHtml("百度一下"));2 html.setMovementMethod(LinkMovementMethod.getInstance());href 地址需要加上http:// 阅读全文
摘要:
android 监听一些系统的广播可以帮助我们做很多事情 比如 启动应用,app数据同步,闹钟提醒等等广播 监听网络 启动应用manifest 1 public class MyReceiver ext... 阅读全文
摘要:
如果只是在应用程序进程内发送和接收广播,可以考虑使用LocalBroadcastManager而不是更通用的Context.sendBroadCaset()方法。使用LocalBroadcastManager更高效,因为不需要跨进程管理草错,也不要考虑广播涉及的安全问题。demo:接收activit... 阅读全文
摘要:
http 1.0 与 http1.1的区别TCP连接上1.1之后每次只需要建立一次TCP通道http1.0每次请求都需要简历新的TCP连接,连接不能复用。http1.1心的请求可以在上次请求建立的TCP连接之上发送,连接可以复用。有点是减少重复进行TCP三次握手的开销,提高效率。注意:在同一个TCP... 阅读全文
摘要:
ListView 图片错乱的根本问题是:ListView 布局复用导致的,也就是复用convertView导致的解决:1,用第三方的ImageLoader2,自己处理最主要的就是给ImageView设置Tag,保证ImageView要加载的图片就是从网络上获取的图片3,通过ListView Item... 阅读全文
摘要:
设置ListView 快速滑动不加载要设置滑动监听OnScrollListener, 当快速滑动是设置标志位不请求网络这个也属于listview优化的一步设置监听器 1 package com.example.listview_01; 2 3 import android.widget.AbsLi... 阅读全文
摘要:
要想设置不同的item需要在adapter里面重写两个方法getItemViewType() 需要注意这个个类型是0开始getViewTypeCount(); 1 package com.example.listview_01; 2 3 import java.util.List; 4 ... 阅读全文
摘要:
场景: 数据库版本v1 有一个persion表 数据库版本v2 新增表student 数据库版本v3 persion表新增一个字段 1 package com.example.natedb; 2 3 import android.content.Context... 阅读全文
摘要:
插入sqlite插入数据的方法 1,execSQL() 直接拼接sql语句 2,insert() 3,compileStatement()预处理这三中方式插入数据相对较快依次是compileStatement ,insert,execSQL插入大量数据是加上事务处理 1 package com... 阅读全文
摘要:
关系: IntentService继承service区别: IntentService 是一个带有HandlerThread的线程的service,把任务执行完成以后IntentService自动销毁。 Service要手动 调用stopSelf()来销毁。 IntentService 运行... 阅读全文
摘要:
如何向ArrayList 中写入一个字符串利用反射实现package cn.haoju.reflections;import java.lang.reflect.Method;import java.util.ArrayList;public class ReflectionDemo { pu... 阅读全文