<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[AINewBegin的专栏]]></title><description><![CDATA[FTD]]></description><link>https://blog.youkuaiyun.com/AINewBegin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AINewBegin]]></copyright><item><title><![CDATA[在Retrofit中持久化Cookie]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/80232259</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/80232259</guid><author>AINewBegin</author><pubDate>Mon, 07 May 2018 21:54:55 +0800</pubDate><description><![CDATA[前言Retrofit 是一款强大的网络访问框架，内置的和Okhttp结合在一起，在我们使用 Retrofit 进行网络访问的时候如何储存登录后的Cookie设置Okhttp
            //该url是登录的Url，作为cookieStore的一个key存储登录成功后的cookies
            final HttpUrl httuUrl = HttpUrl.parse("ht]]></description><category></category></item><item><title><![CDATA[使用Okhttp持久化Cookie]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/80232256</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/80232256</guid><author>AINewBegin</author><pubDate>Mon, 07 May 2018 21:54:35 +0800</pubDate><description><![CDATA[前言依赖：
  compile ‘com.squareup.okhttp3:okhttp:3.10.0’
对于简单的使用方法这里不做赘述了，一般的项目中都是需要登录再去获取对应的接口的数据，这里针对于登录后保持cookie然后访问剩余接口信息的功能实现新建一个HttpClient            OkHttpClient httpClient = new OkHttpClient.Builde]]></description><category></category></item><item><title><![CDATA[Rxjava学习笔记（四）]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/80232250</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/80232250</guid><author>AINewBegin</author><pubDate>Mon, 07 May 2018 21:54:10 +0800</pubDate><description><![CDATA[Zip操作Zip 通过一个函数将多个 Observable 发送的事件结合到一起，然后发送这些组合到一起的事件。它按照严格的事件顺序应用这个函数。它只发射与发射数据项最少的那个 Observable 一样多的数据。组合的过程：
  分别从几个 Observable 中各取出一个事件来进行组合，并且一个事件只能够被使用一次，组合的顺序是严格按照事件发送的顺序来进行的
  
  最终下游收到的事件的数量]]></description><category></category></item><item><title><![CDATA[Rxjava学习笔记（三）]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/80232248</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/80232248</guid><author>AINewBegin</author><pubDate>Mon, 07 May 2018 21:53:53 +0800</pubDate><description><![CDATA[变换操作符号需求是：当我们的操作是当注册成功后去登录的连贯过程Map操作符Map操作是用来转换结果的方式
Observable.create(new ObservableOnSubscribe<Integer>(){
            @Override
            public void subscribe(ObservableEmitter<Integer> e) throws]]></description><category></category></item><item><title><![CDATA[Rxjava学习笔记（二）]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/80232243</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/80232243</guid><author>AINewBegin</author><pubDate>Mon, 07 May 2018 21:53:33 +0800</pubDate><description><![CDATA[Rxjava学习（二）关于Rxjava的线程控制正常情况下，上游和下游是工作在同一个线程中的，也就是说：上游在哪个线程中发送事件，下游就在哪个线程中接收事件在Android中，一个Activity的所有默认动作都是在主线程中进行的：
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super]]></description><category></category></item><item><title><![CDATA[Rxjava学习笔记（一）]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/80232233</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/80232233</guid><author>AINewBegin</author><pubDate>Mon, 07 May 2018 21:53:00 +0800</pubDate><description><![CDATA[Rxjava学习基本用法
            Observable<Integer> observable = Observable.create(new ObservableOnSubscribe<Integer>() {
            @Override
            public void subscribe(ObservableEmitter<Integer> e)]]></description><category></category></item><item><title><![CDATA[ListView学习（四）]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/80232229</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/80232229</guid><author>AINewBegin</author><pubDate>Mon, 07 May 2018 21:52:35 +0800</pubDate><description><![CDATA[聊天 ListView通常的 ListView 的每一项都具有相同的布局，在聊天界面，会展示至少两种布局，既收的的消息和自己发送的消息。我们通过修改 ListView 的 Adapter 可以达到拥有两个布局的效果。在定义 BaseAdapter 的时候，需要去重写它的 getView（）方法，这个方法就是用来获取布局的，那么只需要在获取布局的时候，判断一下该获取哪一种布局就可以了。而且 ListV]]></description><category></category></item><item><title><![CDATA[ListView学习（三）]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/80232224</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/80232224</guid><author>AINewBegin</author><pubDate>Mon, 07 May 2018 21:52:19 +0800</pubDate><description><![CDATA[自动显示、隐藏布局的 ListView当我们在 ListView 上滑动的时候，顶部的 ActionBar 或者 ToolBar 就会相应的隐藏或显示。我们知道，让一个布局显示后者隐藏并带有动画效果，可以通过属性动画方便的而实现,所以这个效果的关键是在于如何获取 ListView 的各种滑动事件。所以通过借助 View 的 OnTouchListener 接口来监听 ListView 的滑动，通过比]]></description><category></category></item><item><title><![CDATA[ListView学习（二）]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/80232215</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/80232215</guid><author>AINewBegin</author><pubDate>Mon, 07 May 2018 21:51:54 +0800</pubDate><description><![CDATA[### ListView 的滑动监听事件
  OnTouchListener
OnTouchListener 是 View 中的监听事件，通过 ACTION_DOWN、ACTION_MOVE、ACTION_UP 这三个事件发生时的坐标，就可以根据坐标判断用户滑动的方向，并在不同的事件中进行相应的逻辑处理：“`javamListView.setOnTouchListener(new View.OnTo]]></description><category></category></item><item><title><![CDATA[ListView学习（一）]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/80232206</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/80232206</guid><author>AINewBegin</author><pubDate>Mon, 07 May 2018 21:51:32 +0800</pubDate><description><![CDATA[使用 ViewHolder 的模式提高ListView的效率ViewHolder模式充分利用了ListView的缓存机制
  MyListViewAdapter
    public class MyListViewAdapter extends BaseAdapter {    private List<String> mData;
    private LayoutInflater mInfl]]></description><category></category></item><item><title><![CDATA[实现一个随手指移动而滑动的效果---爬坑]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/73717330</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/73717330</guid><author>AINewBegin</author><pubDate>Sun, 25 Jun 2017 14:55:04 +0800</pubDate><description><![CDATA[@(Android笔记)scrollTo和scrollBy爬坑初体验我只是想要实现一个可以随着手指移动而移动的小滑块
  当我实现 public class MyView extends View的时候直接使用是有问题的
package com.example.glf.myapplication;import android.content.Context;
import android.suppo]]></description><category></category></item><item><title><![CDATA[Android Studio 2.3初爬坑]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/73716990</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/73716990</guid><author>AINewBegin</author><pubDate>Sun, 25 Jun 2017 14:39:55 +0800</pubDate><description><![CDATA[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/]]></description><category></category></item><item><title><![CDATA[设计模式探索——观察者模式]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/55099733</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/55099733</guid><author>AINewBegin</author><pubDate>Tue, 14 Feb 2017 15:15:03 +0800</pubDate><description><![CDATA[当对象间存在一对多关系时，则使用观察者模式（Observer Pattern）。比如，当一个对象被修改时，则会自动通知它的依赖对象。观察者模式属于行为型模式。UML图片 
1.创建Subject类public class Subject{
    private List<Observer> observers = new ArrayList<>();
    private int state;]]></description><category></category></item><item><title><![CDATA[设计模式探索——桥接模式]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/55099421</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/55099421</guid><author>AINewBegin</author><pubDate>Tue, 14 Feb 2017 15:01:44 +0800</pubDate><description><![CDATA[桥接（Bridge）是用于把抽象化与实现化解耦，使得二者可以独立变化。这种类型的设计模式属于结构型模式，它通过提供抽象化和实现化之间的桥接结构，来实现二者的解耦。 
UML图 
1.创建桥接实现接口public interface DrawAPI{
    public void drawCircle(int radius,int x,int y);
}
2.创建实现了DrawAPI接口的桥接实现类]]></description><category></category></item><item><title><![CDATA[设计模式探索——适配器模式]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/55096025</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/55096025</guid><author>AINewBegin</author><pubDate>Tue, 14 Feb 2017 11:02:02 +0800</pubDate><description><![CDATA[适配器模式（Adapter Pattern）是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式，它结合了两个独立接口的功能。UML图 
 
MediaPlayer 接口和一个实现了 MediaPlayer 接口的实体类 AudioPlayer。默认情况下，AudioPlayer 可以播放 mp3 格式的音频文件。接口 AdvancedMediaPlayer 和实现了 Advanced]]></description><category></category></item><item><title><![CDATA[设计模式探索——原型模式]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/55095194</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/55095194</guid><author>AINewBegin</author><pubDate>Tue, 14 Feb 2017 10:00:31 +0800</pubDate><description><![CDATA[原型模式（Prototype Pattern）是用于创建重复的对象，同时又能保证性能。这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式。UML图 
1.创建实现了Clonable的抽象类public abstract class Shape implements Clonable{
    private String id;
    protected Stirng type;]]></description><category></category></item><item><title><![CDATA[设计模式探索——建造者模式]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/54947142</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/54947142</guid><author>AINewBegin</author><pubDate>Thu, 09 Feb 2017 14:49:09 +0800</pubDate><description><![CDATA[UML类图例如电脑的装机：public class Computer{
    //电脑组件集合
    private List<String> parts = new List<String>();    //添加组件
    public void Add(String part){
        parts.add(part);
    }
}public abstract class B]]></description><category></category></item><item><title><![CDATA[设计模式探索——工厂模式]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/54946582</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/54946582</guid><author>AINewBegin</author><pubDate>Thu, 09 Feb 2017 14:04:55 +0800</pubDate><description><![CDATA[一、工厂方法模式关于UML图 
 
典型应用：class Engine{
    public void getStyle(){
        System.out.println("这是汽车的发动机");
    }
}class Underpan{
    public void getStyle(){
        System.out.println("这是汽车的底盘");
    }]]></description><category></category></item><item><title><![CDATA[WCF学习笔记——契约(Contract)]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/54934341</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/54934341</guid><author>AINewBegin</author><pubDate>Wed, 08 Feb 2017 23:16:12 +0800</pubDate><description><![CDATA[什么是契约或者契约的用处是么？任何的一个分布式应用程序，关键之处就在于相互之间消息的传递。那么要想传递消息就不能是我说英语你说中文吧，所以需要实现定义好数据交换规则。这样契约的作用就是就是表示这个规则的体现，或者说契约就是WCF的消息标准，是任何一个WCF程序不可或缺的一部分契约的种类1.用于定义服务操作的服务契约：Service Contract2.用于定义数据结构的数据契约：Data Contr]]></description><category></category></item><item><title><![CDATA[DOM4J学习]]></title><link>https://blog.youkuaiyun.com/AINewBegin/article/details/54603353</link><guid>https://blog.youkuaiyun.com/AINewBegin/article/details/54603353</guid><author>AINewBegin</author><pubDate>Wed, 18 Jan 2017 17:55:34 +0800</pubDate><description><![CDATA[两个jar包：1.dom4j和jaxen1.查询XML文件:<?xml version="1.0"?>
<class>
   <student rollno="393">
      <firstname>dinkar</firstname>
      <lastname>kad</lastname>
      <nickname>dinkar</nickname>
      <marks>8]]></description><category></category></item></channel></rss>