- 博客(118)
- 资源 (7)
- 收藏
- 关注
原创 Hyperledger Fabric 1.4 环境搭建-CentOS
偷得浮生半日闲!HyperledgerFabric 1.4已经发布一段时间,作为第一个长期支持的版本,我在这里整理一下使用HyperledgerFabric 1.4 的过程。一、软件安装(我的是在VitualBox的 CentOS7.6系统下安装)1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 ...
2019-03-28 18:12:16
6680
6
原创 Retrofit详解(二)(Retrofit核心流程)
上一章已经介绍了Retrofit创建过程,这章介绍Retrofit Api Service创建与访问过程。Retrofit 相比Volley等网络框架一个最大区别就是它只需要声明接口,就可以访问网络,刚刚使用的时候觉得很神奇,有木有。要彻底理解底层实现访问,需要先来看看Java的动态代理。public interface Subject { boolean login(St
2016-04-18 16:17:06
8931
1
原创 Retrofit详解(一)(Retrofit创建过程)
作为一个coder最悲哀的莫过于知其然,不知其所以然,呵呵,玩笑而已啦。闲暇之余,研究研究Retrofit源码,为了防止大篇幅的代码,看得头晕眼花,这章仅仅详细介绍Retrofit的创建过程。Retrofit使用方法这里就不介绍了,请看我前面写的博客。首先贴上需要提前展示的APIService:public interface UserService { @POST(Const
2016-04-18 14:43:56
8571
原创 自定义Gradle插件(二)
上一篇博客已经介绍了如何实现简单的自定义gradle插件,今天介绍如何自定义Task。一、自定义Task 1、直接沿用上一篇的代码,copy一份改名CustomPluginTask 在plugin\src\main\groovy\com\micky\gradle目录创建源文件 MyCustomTask.groovypackage com.micky.
2016-01-19 14:47:31
10292
原创 自定义Gradle插件(一)
Google已经建议Android开发全部转向Android Studio开发,Android Studio 是使用gradle编译、打包的,那么问题来了,gradle可是有一堆东西...,为了测底了解gradle,今天就来学习下如何写自己的gradle插件(当然插件类是使用groovy写的),先看如下代码目录:如上图所示,plugin目录是插件源码目录,sample是用来测试插件的。
2016-01-19 13:35:27
15039
原创 RxAndroid 应用(四)(简易天气App之RxBus)
如果还不知道什么是RxBus,可以google下Otto或者EventBus看看。 介绍RxBus前先介绍下什么是Subject,直接看看我前面的描述: subject 是一个神奇的对象,它可以是一个Observable同时也可以是一个Observer:它作为连接这两个世界的一座桥梁。一个主题可以订阅一个Observable,就像一个观察者,并且它可以发射新的数据,或
2016-01-11 16:17:59
4894
原创 RxAndroid 应用(三)(简易天气App之Observable内存泄露)
在我们的Handler使用不当会发生内存泄露,那么Observable会不会发生持有context而导致内存泄露呢?答案是肯定的,接下来就来看看怎样避免。public class RxUtils { public static void unsubscribeIfNotNull(Subscription subscription) { if (subscription
2016-01-11 14:57:38
4394
原创 RxAndroid 应用(二)(简易天气App)
上篇博文已经基本介绍了如何使用RxJava,这篇主要解决上篇遗留下的问题 ”在Activity中分别调用了获取天气数据和城市列表的方法,那么问题来了,如果取数据的时候显示了process Dialog, 我该在什么时候结束呢,写flag判断?“ 这个问题可以使用RxJava的Merge操作符实现,故名思议就是将两个接口Observable合成一个,废话不说直接上代码:
2016-01-11 10:32:08
2810
原创 RxAndroid 应用(一)(简易天气App)
关于RxJava、RxAndroid 详解请看 RxJava、RxAndroid详解,今天写下关于RxAndroid在实际项目中的应用。右侧栏天气列表:左侧栏城市列表
2016-01-11 09:51:03
5437
原创 Android内存泄露自动检测神器LeakCanary
经典的面试题:a、怎样在coding中避免内存泄露?b、怎样检测内存泄露?这两个问题我想大部分android 职位面试时都会被问到吧。 怎样避免就不赘述了,网上很多答案。 工具呢,当然也有很多,比如DDMS、MAT等,但是怎样在我们编码过程中植入内存检测代码,让我们程序在开发调试阶段就能发现内存泄露呢?好了,现在该大名鼎鼎的LeakCanary出场了,
2016-01-04 11:30:01
17422
1
原创 Android应用架构之Android MVP使用
前两篇已经将Retrofit和RxAndroid应用到了项目中,这篇本打算直接将Dagger2引进项目,但是考虑到整个项目结构,就来个结构整理吧,一起来看看网上炒得火热MVP模式。说到MVP就不得不提到MVC,做过J2EE的猿友们肯定知道MVC是个什么东西。MVC即 Model、View、Controller, 那MVP就Model、View、Presenter。Model用于提供数据模型,V
2015-12-22 16:33:45
12151
原创 Android应用架构之Retrofit、RxAndroid使用
上篇博客客http://blog.youkuaiyun.com/liuhongwei123888/article/details/50375283 已经介绍了Retrofit的简单使用方法,接下来介绍的是在Retrofit中怎么使用RxAndroid,如果还不了解请移步大神“扔物线”的教程 http://gank.io/post/560e15be2dca930e00da1083。1、将RxJa
2015-12-22 00:23:51
27302
3
原创 Android应用架构之Retrofit使用
Retrofit:Square提供的开源产品,为Android平台的应用提供一个类型安全的REST客户端 https://github.com/square/retrofitRxAndroid:响应式编程框架RxJava针对Android平台的扩展。 https://github.com/ReactiveX/RxAndroid ht
2015-12-21 23:42:28
103049
3
原创 RxJava 、RxAndroid 详解
请看大牛扔物线的教程 http://gank.io/post/560e15be2dca930e00da1083
2015-12-17 11:55:43
5301
原创 解决Android Studio gradle resolve 过慢
Android 开发伙伴么,还在吐槽Android Studio编译项目发生“gradle resolve ...",无期限的waiting么? 还在为不停关闭、打开Android studio但是还是编译不过而喷中国特色的GFW么? 今天买了个VPN翻墙也没解决,最后发现换个源就搞定了。 http://maven.oschina.net
2015-11-30 09:38:40
14504
原创 Android 6.0 使用 Apache HttpClient
Android 6.0版本已经已经基本将Apahce Http Client 移除出SDK。 那么问题来了,既然如果我项目中使用了volley 怎么办呢(volley引用了大堆的ApacheHttpClient类)?请看官网给出的答案Apache HTTP Client RemovalAndroid 6.0 release removes support for
2015-11-29 22:38:24
28219
1
原创 Android 网络框架Volley JAR包生成
Google I/O 2013上,谷歌发布了Android网络通信框架Volley,以前我都是直接使用源码编译的,那么问题来了,怎么直接打包成jar包使用呢?不要着急,请看如下步骤:1、下载源码git clone https://android.googlesource.com/platform/frameworks/volley2、编译 gradle
2015-11-29 15:27:07
5444
原创 IOS7、8模态半透明弹出框
//源Controller跳转方法实现 MKDialogController *controller = [[MKDialogController alloc] init]; controller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; if ([
2014-12-18 09:26:00
18228
原创 温故知新之数据结构顺序表
1、线性表是具有相同类型的n(n >= 0)个数据元素的有限序列,即: 线性表(List)是零个或多个数据元素的集合 线性表中的数据元素之间是有顺序的 线性表中的数据元素个数是有限的 线性表中的数据元素的类型必须相同
2014-06-09 00:05:48
2326
原创 送给奋斗在路上的码农们
如果你真想做技术,请正确认识高级语言,做技术的人,ASM应该排第一,C排第二,至于C++,JAVA,C#,我不反对你为混口饭去学他,但不要将他们和你的计算机技术的水平挂钩. 他们的主要作用是引导你成为一个熟练的蓝领开发者,而你若真是技术的爱好者,请重视起C来!
2014-05-30 10:04:04
1452
原创 各种邮箱Folder---IMAP协议
QQ邮箱:设置-->账户-->开启IMAP/SMTP服务 SMTP服务器:imap.qq.com IMAP服务器:smtp.qq.comINBOX 其他文件夹 Sent Messages Drafts Deleted Messages Junk
2013-11-22 10:05:36
15154
1
原创 终极解决adb server is out of date问题
通常做法: 方法一、重启eclipse 方法二、adb kill-server adb start-server 以上海解决不了就用以下方法: 方法三: adb nodaemon
2013-09-23 10:16:06
1829
原创 JavaMail在Android上使用
下载http://code.google.com/p/javamail-android/ 虽然n年没更新了,但还是将就用吧,遇到问题自己解决。 说说纠结了2两天的问题:IMAPInputStream cannot be cast to javax.mail.Multipart,这种问题真是折腾人。 我建一个普通的java项目,导入javamai
2013-07-27 11:53:05
2975
1
原创 Sailfish应用开发入门(六)DatePicker和DatePickerDialog
一、DatePicker控件 DatePicker即一个日历控件,如下代码可以被设置为显示2008年5月12日的日历(中国人都应该还记得这个日子)。import QtQuick 1.1import Sailfish.Silica 1.0import "pages"ApplicationWindow{ initialPage: Page {
2013-05-05 20:41:56
1969
原创 Sailfish应用开发入门(五)PageStack、Button使用
PageStack提供了基于栈的Sailfish UI导航模型。 PageStack由多个page页面组成,一个页面可以push到栈里面替代栈顶的page,或者从栈里移除某个page。 Sailfish 应用被创建的时候PageStack就已经包含了一个page,这个page是由ApplicationWindow initialPage属性指定的。
2013-05-02 22:41:38
2519
原创 Sailfish应用开发入门(三)使用Puty、WinSCP连接Sailfish Emulator和MerSDK VM
Linux 上可以直接使用ssh、 scp等命令连接到Sailfish Emulator和MerSDK VM,在windows上可以用我们开发中常用的puty和WinSCP两个工具实现。 一、使用puty连接Sailfish Emulator 第一步:下载puttygen:http://www.chiark.greenend.org.uk/~sgtath
2013-05-02 20:33:17
2384
原创 Sailfish应用开发入门(四)ApplicationWindow与Cover
一、Sailfish Silica 基于QT Quick提供了Sailfish的UI界面。每个Sailfish 引用必须定义为一个Qt C++应用项目,在项目里使用QDeclarativeView加载应用UI。#include #include #include "sailfishapplication.h"Q_DECL_EXPORT int main(int argc, char
2013-05-01 22:10:05
2958
原创 Sailfish应用开发入门(二)Sailfish SDK 简介
Sailfish OS 是一款基于 Mer Project(MeeGo 旗下一个使用 Qt 开发的分支)的开源移动系统,它采用了 Nemo 架构,还加入了定制化UI。UI界面使用QML、QtQuick和QtMobility 作为UI框架,这和当初的Meego是一样的。 Sailfish SDK集成了Qt Creator和Mer Platform SDK和Sailfish组件。开发
2013-05-01 11:21:54
3462
原创 Sailfish应用开发入门(一)Windows 安装Sailfish,创建第一个Sailfish APP
1、下载安装:virtualbox http://dlc.sun.com.edgesuite.net/virtualbox/4.2.10/VirtualBox-4.2.10-84105-Win.exe2、下载安装SDK http://jolla.cachefly.net/SailfishOSSDK/alpha/installers/SailfishOSSDK-
2013-04-28 10:33:37
2693
原创 DM9000驱动程序详解
//arch/arm/mach-s5pv210/mach-smdkv210.c/*片选信号使用的是XM0CSn1,查看S5PV210的芯片手册内存映射一节可以找到SROM BANK1的地址范围是0x8800_0000 --0x8FFF_FFFF, 则访问这个范围的地址时会激活片选使能信号XM0CSn1*/#define S5PV210_PA_DM9000_A (0x880010
2013-03-21 13:59:34
2354
原创 DM9000网卡介绍
1、总体介绍 DM9000是一款完全集成的和符合成本效益的,单芯片快速以太网MAC控制器。它有一个一般处理接口,一个10/100M自适应的PHY和4K DWORD值的SRAM。它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容,DM9000还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器。该DM9000支持8位,16位和32 -位接
2013-03-21 11:09:36
5448
原创 Linux内核时间管理
(1)内核中的时间概念 时间管理在linux内核中占有非常重要的作用。 相对于事件驱动而言,内核中有大量函数是基于时间驱动的。 有些函数是周期执行的,比如每10毫秒刷新一次屏幕; 有些函数是推后一定时间执行的,比如内核在500毫秒后执行某项任务。 要区分: *绝对时间和相对时间 *周期性产生的事件和推迟执行的事件
2013-03-16 14:42:01
5786
原创 详解中断下半部tasklet 和workqueue(基于S5PV210的按键中断)
(1)为什么中断处理流程要分成两部分 中断处理程序是内核必不可少的一部分,但由于一些局限,它只能完成整个中断处理流程的前半部分. 这些局限包括: *中断处理程序以异步方式执行,可能会打断其他重要代码(甚至其他中断程序的执行)。因此,中断处理程序应该执行的越快越好 *中断处理程序会引起其他中断的屏蔽(同级别的或所有中断),这个屏蔽时间必
2013-03-16 14:11:40
3167
原创 Android 模拟器(源码编译)测试内核驱动
假设源码编译已经完成,并且能执行emulator -image system.img -data userdata.img -ramdisk ramdisk.img 启动模拟器。1、下载android goldfish内核,我的android源码版本为4.0.3,但是模拟器跑起来显示的内核版本是2.6.29而不是3.x,先不管这个,就下载2.6.29的goldfish吧。 c
2013-03-14 16:00:38
4775
原创 Android内核&源码下载
===========================内核下载=====================================$ git clone https://android.googlesource.com/kernel/common.git下载完成后进入common目录执行$ git branch -a //列出所有内核分支$ git checkout -b
2013-03-12 13:02:29
3027
原创 Linux内核模块
Linux设备驱动会以内核模块的形式出现,因此学会编写Linux内核模块编程是学习linux设备驱动的先决条件。Linux内核的整体结构非常庞大,其包含的组件非常多。我们把需要的功能都编译到linux内核,以模块方式扩展内核功能。先来看下最简单的内核模块 #include #include static int __init hello_init(v
2013-03-07 11:46:33
1519
转载 nand_flash_裸板驱动及其时序图详解(转)
nand flash 裸板驱动,介绍的比较精辟NAND Flash的驱动程序设计:http://www.usr.cc/html/99/n-599.html1. 硬件特性:【Flash的硬件实现机制】 Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile M
2013-03-06 16:18:16
5235
5
原创 NandFlash简介
Flash Memory中文名字叫闪存,是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器。 从名字中就可以看出,非易失性就是不容易丢失,数据存储在这类设备中,即使断电了,也不会丢失,这类设备,除了Flash,还有其他比较常见的入硬盘,ROM等,与此相对的,易失性就是断电了,数据就丢失了,比如大家常用的内存,不论是以前的SDRAM,DDR SDRAM,还是现在
2013-03-06 14:34:27
44375
4
Learn iPhone and iPad Cocos2D Game Development
2012-04-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人