自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

维斯特洛(Westeros)大陆

Read The Fucking Source Code

  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 Weec JS Framework(四)

上图取自weex github 上的图1.JS Framework初始化Weex JS Framework 初始化是从对应的入口文件是 html5/render/native/index.jsimport setup from './setup'import frameworks from '../../frameworks/index'setup(frameworks)framework来自fr

2017-07-20 15:23:21 1866

原创 Weex list复用(三)

Weex list复用1.Android中的list标签list在Android中,对应的组件为Recyclerview。观察如何在Android中形成复用。复用情况下,首先追查对应的RecyclerView.Adapter,方法getItemViewType()返回值必须一致。在Weex对应的是RecyclerViewBaseAdapter @Override public int

2017-07-20 15:22:40 1150

原创 Weex事件传递机制(二)

Weex事件传递机制1.Weex组件事件绑定过程Weex组件的事件绑定发生在WXComponent<T extends View>的方法applyLayoutAndEvent上: public void applyLayoutAndEvent(WXComponent component) { if(!isLazy()) { if (component == null) {

2017-07-17 11:25:11 2029

原创 Weex渲染机制(一)

Weex渲染机制1.讲什么这篇文章主要简单介绍weex的渲染机制,将重点放在V8引擎在解析完.js文件后,客户端这边如何反序列化生成各种组件,最后组成界面的过程。 如上图,是一张网络普传的Weex工作原理图。介绍一下工作机制: 1. 首先通过编写.vue文件,完成界面组件设计以及逻辑代码编写; 2. Transformer :转换的意思,我们会借助Weex-Toolkit这个工具将.v

2017-07-15 14:06:28 5286

原创 SyncAdapter同步机制

官方文档:https://developer.android.com/training/sync-adapters/index.html一、简介Facebook可以定期更新朋友的最新信息,将最新近况和心情短语集成入联系人中。用途2用途3二、同步框架结构三、账号管理AuthenticationService类AuthenticationService是一个继承Service的服务,目的是提供

2017-07-01 15:43:24 3884

原创 Binder机制-简单用法(一)

Binder算是android里面比较难懂的部分了,但是非常重要,基本上,当我们深入到进程交互的阶段,Binder都是一个绕不开的槛,所以我也希望帮助大家更浅显地了解到这个知识点。笔者想通过3篇博文简单介绍Binder,也仅仅是Java层,希望能够帮助到想了解Binder基本知识的开发者。为什么需要Binder?在提及Binder之前,我们先看看我们平时开发的app的状况。每个app就像孤岛一样,生

2017-05-07 22:10:13 11454 4

原创 SharedPreferences多进程解决方案

由于进程间是不能内存共享的,每个进程操作的SharedPreferences都是一个单独的实例,这导致了多进程间通过SharedPreferences来共享数据是不安全的,这个问题只能通过多进程间其它的通信方式或者是在确保不会同时操作SharedPreferences数据的前提下使用SharedPreferences来解决。SharedPreferences支持多进程吗其实原则上是不支持的,下面这

2017-04-27 21:52:58 11969 4

原创 线程池为什么能维持线程不释放,随时运行各种任务?

线程池 之前一直有这个疑问:我们平时使用线程都是各种new Thread(),然后直接在run()方法里面执行我们要做的各种操作,使用完后需要做什么管理吗?线程池为什么能维持住核心线程不释放,一直接收任务进行处理呢?线程 线程无他,主要有两个方法,我们先看看start()方法介绍: /** * Causes this thread to begin execution;

2017-04-23 20:42:27 15788 10

原创 AccessibilityService简介

目录用 [TOC]来生成目录:目录简介配置Manifestxml配置配置辅助服务在代码中配置在xml文件中配置配置实现类实操简介AccessibilityService是一个辅助类,可以监听我们手机的焦点,窗口变化,按钮点击等等。实现它的服务需要在手机设置里面->辅助功能在这里面找到你自己实现的辅助类,然后打开它就可以进行我们一系列的监听了。还可以对监听的对象进行一些脚本的操作。配置

2015-12-16 15:49:43 5801 2

原创 android设计模式-装饰模式(Decorator Pattern)

什么是装饰模式装饰模式:动态地给一个对象添加一些额外的职责,本质就是拓展,不改变原有的代码结构。类图装饰模式的解析如上图,首先Component提供一个接口让别人去实现,在装饰模式下,一定有实现类ConcreteComponent,该类implements Component,提供具体实现的方法。同时,提供Decorator类,该类是一个装饰类,并不提供实际功能,但类内有成员变量Component,

2017-04-30 20:43:21 484

原创 Android中 主线程 Looper.loop() 死循环?

用过Handler的同学都应该直到,主线程默认为我们创建了Looper,所以一般情况下我们在主线程使用Handler直接new就是了,但是你会不会有个疑问,Looper里面做的是死循环拿消息的机制,这个代码放在主线程不会造成卡死吗?第一步,看看我们的Looper创建在哪里Activity的启动一般会调用到ActivityThread,里面有main方法,是初始化activity必经阶段,我们的Lo

2017-04-30 14:31:05 3131 1

原创 程序员学学智力题

程序员学学智力题关于智力题的心得:一般来说: - 题目语句中出现提示“无法确定”的情况,证明该组合有2个以上的可能性,这是一个关键切入点 - 有些题目采用“负负得正”的解放,这是一个隐藏的条件 - 推理的题目用小数字慢慢推敲,找规律==一、常规推理题==1.考虑一个双人游戏。游戏在一个圆桌上进行。每个游戏者都有足够多的硬币。他们需要在桌子上轮流放置硬币,每次必需且只能放置一枚硬币,要求硬币完全

2017-04-26 08:13:27 1713

原创 SwipeRefreshLayout源码分析

public class SwipeRefreshLayout extends ViewGroup implements NestedScrollingParent, NestedScrollingChild { // Maps to ProgressBar.Large style public static final int LARGE = MaterialPro

2017-04-20 22:25:00 300

原创 HandlerThread源码分析

public class HandlerThread extends Thread { int mPriority; int mTid = -1; Looper mLooper; //默认的构造方法就是要传参 public HandlerThread(String name) { super(name); mPriority =

2016-10-14 22:01:30 272

原创 谈谈android中的MVC,MVP和MVVM MVC

谈谈android中的MVC,MVP和MVVMMVC在jsp等网页架构中,mvc比较清晰,view就是网页前端,moderl数据端,controller在jsp中的体现就是Servlet,但在android中,这个架构一直存在问题。原因无他,皆因android中,view层和controller层经常混在一起。假设xml布局是view层,逻辑层属于四大组件,moderl继续是数据逻辑,咋眼看没啥大问

2016-10-13 12:28:37 774

原创 AsyncTask源码解析

```public abstract class AsyncTask<Params, Progress, Result> { private static final String LOG_TAG = "AsyncTask"; //下面这4个常量是设置到并发执行时的线程池 private static final int CPU_COUNT = Runtime.getRunt

2016-10-13 05:08:09 385

原创 SparseArray源码分析

```/* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the Licen

2016-09-25 11:51:30 435

原创 IntentService源码分析

IntentService源码分析public abstract class IntentService extends Service { private volatile Looper mServiceLooper; private volatile ServiceHandler mServiceHandler; private String mName; pri

2016-09-21 16:27:07 353

原创 常用排序算法分析

常用排序算法分析常用排序算法有冒泡排序,选择排序,插入排序,堆排,希尔排序和快排;本文尽可能详尽地分析每一种排序算法的定义,实现代码,算法时间复杂度和稳定性。1.冒泡排序(BubbleSort)定义:冒泡排序,是模拟气泡上升过程的排序。气泡在上升过程体积不断变大,相似与排序比较中,相邻的两个“气泡”比较大小,大的“气泡”换

2014-08-25 00:09:08 514

原创 UML类图几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)         1. 泛化(Generalization)        【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的

2014-07-07 20:44:15 435

原创 WCF 采用net.tcp协议实践

与Socket相比,WCF真是爽得不得了,其基本指导思想为SOA——面向服务。     其基本配置在于ABC(Address,Binding,Contract),通常,只要这三个因素配置对了,那么,基本上就无限接近目标了。    剩下的配置,就可能是行为(Behavior),安全(Security)等。     在所有绑定中,为什么要选择net.tcp,是因

2014-06-17 21:40:32 1328

原创 HTTP请求同时处理证书问题

string uriString = "https://202.116.160.58:443/cgi-bin/oauth2/access_token?grant_type=client_credentials&appid=ybahhl6z4wyizcsqwe4pjg&appsecret=mzm4zdc0owq4zdvmnwy3y2m4zjjjndazzmiznmq2owviyjjiymy0yg";

2014-06-14 16:26:03 614

原创 Json的使用

var webClient = new WebClient(); webClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于向Internet资源的请求进行身份验证的网络凭据 String sql = String.Format(地址); Byte[] bytes = we

2014-06-14 16:22:35 409

原创 组合模式

(1) 核心实现代码    接口类public interface ComputerPart {    public abstract int getPrice();    }ComputerPart 类是接口类,带有getPrice()的方法。    组合数据类 public class Compos

2014-06-12 18:17:59 376

单处理器进程调度模拟(java实现)

整个实验是模拟了单处理系统处理进程的机制,采用了轮转算法和优先数算法。经过这次实验,加深了对操作系统中单处理系统的进程调度的认识。此外,还学习并使用了进度条、表格等多种java的控件,对线程也有了更深的了解。整个实验难点在于对控件的灵活运用,算法算是比较简单的,最后还加入了一定的纠错防范机制,确保程序的正确运行。

2014-01-05

基于GTK+的单词数值计算器

  1)在第一个文本框输入一个单词(大写小写均可),按下旁边的‘计算’按钮在第二个文本框显示。    设置A B C .....Z 的值分别为 1 2 3 .....26,    同理,abc......z的值也分别为123......26,所以如    HARDWORD = H+A+R+D+W+O+R+D=98%    KNOWLEDGE=K+N+O+W+L+E+D+G+E=96%    apple = a + p + p + l + e =50 %   在最下面的单行文本框输入一个文件的路径,此文件每行记录一个单词,那么经过程序计算出多个单词的值,并把结果输入到当前文件下result.txt文件中。若该文件不存在,提醒错误。

2013-12-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除