- 博客(51)
- 收藏
- 关注
原创 在Retrofit中持久化Cookie
前言Retrofit 是一款强大的网络访问框架,内置的和Okhttp结合在一起,在我们使用 Retrofit 进行网络访问的时候如何储存登录后的Cookie设置Okhttp //该url是登录的Url,作为cookieStore的一个key存储登录成功后的cookies final HttpUrl httuUrl = HttpUrl.parse("ht
2018-05-07 21:54:55
928
原创 使用Okhttp持久化Cookie
前言依赖: compile ‘com.squareup.okhttp3:okhttp:3.10.0’对于简单的使用方法这里不做赘述了,一般的项目中都是需要登录再去获取对应的接口的数据,这里针对于登录后保持cookie然后访问剩余接口信息的功能实现新建一个HttpClient OkHttpClient httpClient = new OkHttpClient.Builde
2018-05-07 21:54:35
1043
原创 Rxjava学习笔记(四)
Zip操作Zip 通过一个函数将多个 Observable 发送的事件结合到一起,然后发送这些组合到一起的事件。它按照严格的事件顺序应用这个函数。它只发射与发射数据项最少的那个 Observable 一样多的数据。组合的过程: 分别从几个 Observable 中各取出一个事件来进行组合,并且一个事件只能够被使用一次,组合的顺序是严格按照事件发送的顺序来进行的 最终下游收到的事件的数量
2018-05-07 21:54:10
301
原创 Rxjava学习笔记(三)
变换操作符号需求是:当我们的操作是当注册成功后去登录的连贯过程Map操作符Map操作是用来转换结果的方式Observable.create(new ObservableOnSubscribe<Integer>(){ @Override public void subscribe(ObservableEmitter<Integer> e) throws
2018-05-07 21:53:53
406
原创 Rxjava学习笔记(二)
Rxjava学习(二)关于Rxjava的线程控制正常情况下,上游和下游是工作在同一个线程中的,也就是说:上游在哪个线程中发送事件,下游就在哪个线程中接收事件在Android中,一个Activity的所有默认动作都是在主线程中进行的: @Override protected void onCreate(Bundle savedInstanceState) { super
2018-05-07 21:53:33
356
原创 Rxjava学习笔记(一)
Rxjava学习基本用法 Observable<Integer> observable = Observable.create(new ObservableOnSubscribe<Integer>() { @Override public void subscribe(ObservableEmitter<Integer> e)
2018-05-07 21:53:00
349
原创 ListView学习(四)
聊天 ListView通常的 ListView 的每一项都具有相同的布局,在聊天界面,会展示至少两种布局,既收的的消息和自己发送的消息。我们通过修改 ListView 的 Adapter 可以达到拥有两个布局的效果。在定义 BaseAdapter 的时候,需要去重写它的 getView()方法,这个方法就是用来获取布局的,那么只需要在获取布局的时候,判断一下该获取哪一种布局就可以了。而且 ListV
2018-05-07 21:52:35
270
原创 ListView学习(三)
自动显示、隐藏布局的 ListView当我们在 ListView 上滑动的时候,顶部的 ActionBar 或者 ToolBar 就会相应的隐藏或显示。我们知道,让一个布局显示后者隐藏并带有动画效果,可以通过属性动画方便的而实现,所以这个效果的关键是在于如何获取 ListView 的各种滑动事件。所以通过借助 View 的 OnTouchListener 接口来监听 ListView 的滑动,通过比
2018-05-07 21:52:19
255
原创 ListView学习(二)
### ListView 的滑动监听事件 OnTouchListenerOnTouchListener 是 View 中的监听事件,通过 ACTION_DOWN、ACTION_MOVE、ACTION_UP 这三个事件发生时的坐标,就可以根据坐标判断用户滑动的方向,并在不同的事件中进行相应的逻辑处理:“`javamListView.setOnTouchListener(new View.OnTo
2018-05-07 21:51:54
260
原创 ListView学习(一)
使用 ViewHolder 的模式提高ListView的效率ViewHolder模式充分利用了ListView的缓存机制 MyListViewAdapter public class MyListViewAdapter extends BaseAdapter { private List<String> mData; private LayoutInflater mInfl
2018-05-07 21:51:32
423
原创 实现一个随手指移动而滑动的效果---爬坑
@(Android笔记)scrollTo和scrollBy爬坑初体验我只是想要实现一个可以随着手指移动而移动的小滑块 当我实现 public class MyView extends View的时候直接使用是有问题的package com.example.glf.myapplication;import android.content.Context;import android.suppo
2017-06-25 14:55:04
937
原创 Android Studio 2.3初爬坑
Android Studio 2.3初爬坑无法下载Gradle工具找到gradle-wrapper.properties文件修改distributionUrl=https://services.gradle.org/distributions/gradle-3.3-all.zip改为distributionUrl=http://services.gradle.org/distributions/
2017-06-25 14:39:55
461
原创 设计模式探索——观察者模式
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。UML图片 1.创建Subject类public class Subject{ private List<Observer> observers = new ArrayList<>(); private int state;
2017-02-14 15:15:03
502
原创 设计模式探索——桥接模式
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 UML图 1.创建桥接实现接口public interface DrawAPI{ public void drawCircle(int radius,int x,int y);}2.创建实现了DrawAPI接口的桥接实现类
2017-02-14 15:01:44
489
原创 设计模式探索——适配器模式
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。UML图 MediaPlayer 接口和一个实现了 MediaPlayer 接口的实体类 AudioPlayer。默认情况下,AudioPlayer 可以播放 mp3 格式的音频文件。接口 AdvancedMediaPlayer 和实现了 Advanced
2017-02-14 11:02:02
405
原创 设计模式探索——原型模式
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。UML图 1.创建实现了Clonable的抽象类public abstract class Shape implements Clonable{ private String id; protected Stirng type;
2017-02-14 10:00:31
506
原创 设计模式探索——建造者模式
UML类图例如电脑的装机:public class Computer{ //电脑组件集合 private List<String> parts = new List<String>(); //添加组件 public void Add(String part){ parts.add(part); }}public abstract class B
2017-02-09 14:49:09
414
原创 设计模式探索——工厂模式
一、工厂方法模式关于UML图 典型应用:class Engine{ public void getStyle(){ System.out.println("这是汽车的发动机"); }}class Underpan{ public void getStyle(){ System.out.println("这是汽车的底盘"); }
2017-02-09 14:04:55
433
原创 WCF学习笔记——契约(Contract)
什么是契约或者契约的用处是么?任何的一个分布式应用程序,关键之处就在于相互之间消息的传递。那么要想传递消息就不能是我说英语你说中文吧,所以需要实现定义好数据交换规则。这样契约的作用就是就是表示这个规则的体现,或者说契约就是WCF的消息标准,是任何一个WCF程序不可或缺的一部分契约的种类1.用于定义服务操作的服务契约:Service Contract2.用于定义数据结构的数据契约:Data Contr
2017-02-08 23:16:12
742
原创 DOM4J学习
两个jar包:1.dom4j和jaxen1.查询XML文件:<?xml version="1.0"?><class> <student rollno="393"> <firstname>dinkar</firstname> <lastname>kad</lastname> <nickname>dinkar</nickname> <marks>8
2017-01-18 17:55:34
408
原创 WCF学习笔记——Address
Address是什么? Address通过一个Uri来唯一的标识一个WCF终节点(EndPoint),它标示了消息发送的目的地。在WCF数据通讯中,他解决了服务在哪里的问题。Address的组成 Address在WCF中使用System.ServiceModel.EndpointAddress对象来表示的EndpointAddress - Uri - Addr
2017-01-13 13:22:28
562
原创 WCF学习笔记——契约(Contract)
什么是契约或者契约的用处是么?任何的一个分布式应用程序,关键之处就在于相互之间消息的传递。那么要想传递消息就不能是我说英语你说中文吧,所以需要实现定义好数据交换规则。这样契约的作用就是就是表示这个规则的体现,或者说契约就是WCF的消息标准,是任何一个WCF程序不可或缺的一部分契约的种类1.用于定义服务操作的服务契约:Service Contract2.用于定义数据结构的数据契约
2017-01-13 10:19:10
1050
原创 枚举Enmu
- 枚举类是一种特殊的类,单是和普通的类一样的是都有自己的成员变量、成员方法、构造器(只能使用private访问修饰符修饰) - 使用enmu定义的枚举类默认继承了java.lang.Enun类并且实现了java.lang.Seriablizable和java.lang.Comparable两个接口 - 枚举类的所有实例(枚举值)必须在枚举类的第一行显式的列出,否则这个枚举值永远不可能产生实例,
2017-01-11 11:40:19
906
原创 设计模式探索——单例模式
单例模式的思想就是某一个对象的只存在一个!懒汉式(线程不安全)public class Singleton{ private static Singleton instance; //这里将构造方法设置成私有的就保证了外部不能直接new出对象来 private Singleton(){ } public static Singleton getInstance()
2017-01-11 10:32:47
501
原创 Struts2
下载Struts2导入lib中的jar包工作流程介绍:用户访问.action的路径经过struts的过滤器交给actionmanager然后返回给struts的派发器派发给action代理然后生成一个action实例实例经过拦截器然后生成一个resultresult可能是一个jsp页面 这里以JSP为例子然后再经过一层拦截器筛选result然后将结果返回给用户struts.xml文
2017-01-07 15:03:29
336
原创 Hibernate
ORM 表示 Object-Relational Mapping (ORM),是一个方便在关系数据库和类似于 Java, C# 等面向对象的编程语言中转换数据的技术配置。。。。Hibernate的配置文件<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-configuration SYSTEM "http://www.hibern
2017-01-05 18:04:14
422
原创 JSP
web 服务器如何使用 JSP 创建 web 页面作为正常的页面,你的浏览器发送一个 HTTP 请求到 web 服务器。web 服务器承认一个 JSP 页面的 HTTP 请求,并将其转发给一个 JSP 引擎。这是通过使用 URL 或 JSP 页面实现的,该 JSP 页面是以.jsp结尾而不是以 .Html 结尾的。JSP 引擎从磁盘加载 JSP 页面并将其转换为一个 servlet 的内容。这
2017-01-05 13:36:42
386
原创 注解
@Override//复写注解@Deprecated//过时注解@Suppvisewarings(“deprecate”)//忽略警告的注解常见第三方注解:这两个都是编译时注解Spring中的@Autowired@Service@Repository Mybatis中的@InsertProvider@UpdateProvider@Options注解源码注解—–注解只存在源码中,编译成.class
2017-01-04 01:00:04
561
原创 Java-反射
任何一个类都是Class的实例对象,这个实例对象有三种表示方式//第一种,任何一个类都有一个隐含的静态成员变量Class c1 = Foo.class;//第二种,已知该类的对象通过getClass方法获取Class c2 = foo1.getClass();//第三种Class c3 = Class.forName("com.uds.flect.Foo");//很明显 c1是等于c2以
2017-01-03 23:57:32
347
原创 RCP插件开发
com.teamcenter.rac.aifrcpteamcenter基础客户化插件,一些主要的借口以及抽象类,入口类等都在改插件中进行了定义AbstractAIFApplicationAbstractAIFCommandAbstractAIFDialogAbstractAIFOperationAIFDesktopAIFPortalAbstractAIFActioncom.teamce
2016-12-30 13:09:37
3514
原创 java-poi-操作excel
使用POI的话就需要导入包poi-3.9 poi-ooxml-3.9使用POI创建 excel工作簿 //创建excel工作簿 Workbook wb = new HSSFWorkbook(); //创建第一个sheet(页),命名为 new sheet Sheet sheet = wb.createSheet("new she
2016-11-30 10:00:58
474
原创 Eclipse开发java插件
plugin.xml文件<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.4"?><plugin> <extension point="org.eclipse.ui.actionSets"> ① //这里的ID指定了扩展名称为org.eclipse.ui.actionSets.exten
2016-11-30 09:49:13
457
原创 Google搜索引擎使用技巧
1.双引号 搜索词放在双引号里面代表的是完全匹配,连顺序也是完全匹配的;2.减号 减号代表搜索不包含减号后面的词的页面,使用这个指令的话减号前面必须是空格,减号后面没有空格,比如:搜索 -引擎;则搜索到的页面就是包含搜索不包含引擎的界面3.星号 星号是常用的通配符。比如:搜索擎;
2016-11-22 16:12:57
514
原创 Okhttp使用总结
添加依赖:compile 'com.squareup.okhttp3:okhttp:3.4.2'一个简单的使用okhttp进行网络访问请求: //创建okhttpClient对象 OkHttpClient mOkHttpClient = new OkHttpClient(); //创建一个请求 Request request = new
2016-11-11 21:42:30
568
原创 View总结-工作流程
MeasureSpec的理解MeasureSpec代表一个32位的int值,高2位代表SpecMode,低30位代表SpecSize SpecMode:UNSPECIFIED-父容器不对View有任何的限制,要多大给多大EXACTLY-父容器已经检测出View所需的精确的大小了,这个时候View的最终大小就是SpecSize所指定的值AT_MOST-父容器指定了一个可用的大小来限制View的
2016-11-11 01:12:43
399
原创 View总结-事件分发机制
View的事件分发的过程其实就是对MotionEvent的分发的过程,就是看谁要处理这个事件,由三个很重要的方法来完成它:dispatchTouchEventonInterceptToucEventonTouchEventpublic boolean dispatchTouchEvent(MotionEvent event)//如果事件能够传递到当前的View则这个方法一定会被调用的//
2016-11-11 00:56:31
676
原创 View总结-基础知识总结
View的位置参数View的位置主要是由他的四个顶点来决定的,分别对应View的四个属性:top,left,right,bottom:这些坐标是对于当前View的父View来说的;mLeft = getLeft(); mRight = getRight(); mTop = getTop(); mBottom = getBottom();3.0之后新增加的位置参数X,Y是View的左上角的坐标,
2016-11-10 23:09:33
370
原创 Android Studio常用断点调试功能
关于怎么打断点怎么动态打断点在这里就不在赘述一步一步运行按钮 这样代码就一行一行的往下走如果我们遇见方法想要进去看一看 是不是内部出了问题从一个断点运行到下一个断点处在断点处设置条件 这样当此处的条件满足的时候就会停在断点位置
2016-10-29 22:30:42
415
原创 Android动画小结
属性动画总结Property Animation:属性动画是针对于3.0(API 11)以上版本的系统有效; 动画特点:可以设置给任意的Object,包括还没有渲染到屏幕上的对象; 可扩展性:自定义任何类型和属性的动画;常用的View属性成员:translationX,translationY:控制View的位置,值是相对于View容器左上角坐标的偏移;rotationX,ro
2016-10-29 21:57:49
554
原创 Android Studio插件
一、快速使Bean文件序列化–android parcelable code generator直接在As的安装插件部分搜索android parcelable code generator-安装-restart-使用方法也简单——打开你的bean文件然后鼠标放到类里面–Alt Insert–选中parcelable 在这里提一下: 是在用这种方法大大缩减了我们创建parceable文件的
2016-10-29 21:57:29
684
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人