自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Huang兄

博客迁移到gitPage: https://huangyuanlove.github.io/

  • 博客(184)
  • 资源 (17)
  • 收藏
  • 关注

原创 AndroidStuio插件开发-适用于jetbrains全家桶

文章目录创建项目创建类获取文件解析文件展示解析内容写入文件写了个类似Butter Knife的开发库,但是并没有与其配套的AndroidStudio插件,抽时间研究了以下IDEA的api文档,撸了一个对应的插件,源码在这里代码参考https://github.com/avast/android-butterknife-zelezny所用到的知识点:查找文件解析xml写文件IDEA插件开发文档:https://jetbrains.org/intellij/sdk/docs/intro/welc

2020-12-15 10:16:39 935

原创 自定义Gradle-plugin

groovy 语法入门gradle 基础gradle 任务gradle 插件gradle-java 插件gradle-android 插件前面简单的写了点关于gradle的以及gradle插件的东西,现在我们来看一下如何自定义插件,本篇文章是基于AndroidStudio、Android工程进行讲述。存放插件源码我们可以在以下几个地方存放我们的插件源码Build Script每个module中都会有build.gradle文件,我们可以在该文件中编写一些所需要的插件功能,好处是可以被自

2020-11-29 18:13:40 1356

原创 Android打包流程

文章目录构建过程初见细节终章现在的Android开发大部分是在AndroidStudio中进行的,当我们想要得到APK文件的时候,点一下RUN,或者执行一下gradlew assembleDebug 就可以了,那么在这个过程中到底发生了什么,我们来详细看一下。构建的过程大致可以划分为两个过程:编译和打包编译:编译器(compileer)通过编译source code、AIDL files、source filse、dependednce files,最终生成Dex(s)文件和编译后的资源文件打包:打

2020-11-16 23:14:53 3177 1

原创 面试总结

2018-06-03 14:30:54文章目录操作系统相关:进程和线程的区别线程调度算法内存页面置换算法java相关:synchronized 和Lock的区别 以及实现原理Map、Set、List区别Java虚拟机捕获子线程异常线程池单例模式 线程安全Android相关:多进程写sp的问题sp底层实现Activity和Fragment生命周期,生命周期函数是谁调用的Activity启动模式,启动过程View点击事件分发流程View绘制过程Handler省电优化广播的底层实现(binder)计算机网络相关

2020-11-06 07:54:52 311

原创 通过简单的自定义view来看View的工作流程

2017-03-18 14:54:01文章目录一、自定义View的分类1.1 继承View重写onDraw方法1.2 继承ViewGroup派生特殊的Layout1.3 继承特定的View(如TextView)1.4 继承特定的ViewGroup二、值得注意的地方2.1 让View支持wrap_content2.2 如果有必要,让View支持padding2.3 尽量不要在View中使用Handler,没必要2.4 及时停止动画和线程2.5 View带有滑动嵌套情形时,需要处理好滑动冲突三、自定义View

2020-11-06 07:50:17 146

原创 适配全面屏手机

2018-11-12 20:05:56文章目录显示问题在AndroidManifest.xml声明max_aspect值更换资源文件关于折叠屏放个图感受一下,上面的图是折叠屏,并非是全面屏,全面屏是手机业界对于超高屏占比手机设计的一个宽泛的定义。全面屏手机屏幕的宽高比例比较特殊,不再是以前的16:9了。比如三星的Galaxy S8屏幕分辨率是:2960×1440,对应的屏幕比例为:18.5:9。VIVO X20手机屏幕分辨率是2160x1080,对应的屏幕比例:18:9。由于全面屏手机的高宽比比之前大,

2020-11-04 08:07:55 365

原创 适配Android高版本系统常见问题

2019-04-17 18:03:41文章目录文件操作(FileOperationActivity)拍照、选择图片(TakePhotoOrChoosePhotoActivity)存储访问框架(SAFActivity)通知管理(NotificationActivity)权限申请(MainActivity)快捷方式(ShortCutActivity)Android P,Q 版本适配常见问题项目地址 https://github.com/huangyuanlove/AdaptationAndroidP文

2020-11-04 08:00:36 1273

原创 自定义注解,打造自己的框架-最终篇

2019-12-12 21:42:27文章目录前提声明注解处理注解逻辑给使用者提供调用方法使用结语该系列介绍自定义注解,完成如下功能。 @BindView 代替 findViewById @ClickResponder 代替 setOnClickListener @LongClickResponder 代替 setOnLongClickListener @IntentValue 代替 getIntent().getXXX @UriValue 代替 getQueryParameter @B

2020-11-04 07:59:07 152

原创 自定义注解,打造自己的框架-下下下篇

2019-12-10 23:27:06文章目录前提声明注解处理注解逻辑给使用者提供调用方法使用该系列介绍自定义注解,完成如下功能。 @BindView 代替 findViewById @ClickResponder 代替 setOnClickListener @LongClickResponder 代替 setOnLongClickListener @IntentValue 代替 getIntent().getXXX @UriValue 代替 getQueryParameter @Bro

2020-11-04 07:57:59 150

原创 自定义注解,打造自己的框架-下下篇

2019-12-09 23:21:08文章目录前提声明注解处理注解逻辑给使用者提供调用方法使用该系列介绍自定义注解,完成如下功能。 @BindView 代替 findViewById @ClickResponder 代替 setOnClickListener @LongClickResponder 代替 setOnLongClickListener @IntentValue 代替 getIntent().getXXX @UriValue 代替 getQueryParameter @Bro

2020-11-04 07:57:19 127

原创 自定义注解,打造自己的框架-下篇

2019-12-04 22:53:52文章目录结构声明注解声明注解处理器处理注解逻辑给使用者提供调用方法使用该系列介绍自定义注解,完成如下功能。 @BindView 代替 findViewById @ClickResponder 代替 setOnClickListener @LongClickResponder 代替 setOnLongClickListener @IntentValue 代替 getIntent().getXXX @UriValue 代替 getQueryParamete

2020-11-04 07:56:41 207

原创 自定义注解,打造自己的框架 (中篇)

2019-12-01 17:42:27文章目录javapoet反射该系列介绍自定义注解,完成如下功能。 @BindView 代替 findViewById @ClickResponder 代替 setOnClickListener @LongClickResponder 代替 setOnLongClickListener @IntentValue 代替 getIntent().getXXX @UriValue 代替 getQueryParameter @BroadcastResponde

2020-11-04 07:56:00 150

原创 自定义注解,打造自己的框架(上篇)

2019-11-23 23:09:29文章目录常见的注解:太长不看系列总结注解的声明反射实现该系列介绍自定义注解,完成如下功能。 @BindView 代替 findViewById @ClickResponder 代替 setOnClickListener @LongClickResponder 代替 setOnLongClickListener @IntentValue 代替 getIntent().getXXX @UriValue 代替 getQueryParameter @Broa

2020-11-04 07:54:37 156

原创 自定义View--贝塞尔曲线、Shader

2019-01-20 21:56:52文章目录贝塞尔曲线的应用手势追踪,改变moveTo、LineTo生硬路径现象波浪效果望远镜效果(点击哪里则哪里出现图像)贝塞尔曲线可以将Path中的moveTo、LineTo等连接的生硬路径变得平滑,也能实现很多好看的效果。一阶贝塞曲线B(t)=P0(1−t)+tP1,t∈[0,1]B(t)=P_0(1-t)+tP_1,t\in[0,1]B(t)=P0​(1−t)+tP1​,t∈[0,1]二阶贝塞尔曲线B(t)=P0(1−t)2+2t(1−t)

2020-11-04 07:52:14 496

原创 网站免费升级https

2018-04-01 12:36:16文章目录昨天跟着酷壳网左耳朵耗子的文章把自己在亚马逊主机上的网站变成https的安全访问了,证书不是自签名的,也不是花钱购买的。据说https的网站在搜索引擎中的rank值会比http的更高一些。升级完成后的浏览器截图如下:下面是这次升级的记录。为网站开启https安装证书非常简单,我用的是 Let’s Encrypt 这个免费的解决方案。打开https://certbot.eff.org/这个网页在Software 和 System选项里面选择

2020-11-04 07:49:23 1192

原创 简单的桌面小部件

2017-03-20 11:51:11文章目录定义小部件界面定义小部件配置信息定义小部件的实现类实现一个简单的桌面小部件,响应点击事件,更新等功能。定义小部件界面定义小部件配置信息定义小部件的实现类声明小部件在AndroidStudio中只需要在main\java下新建一个widget,就可以了,IDE会自动在res\layout添加布局文件,在res\xml下新建配置信息文件。然后就可以进行具体实现了。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tM

2020-11-03 22:02:50 805

原创 正则表达式--上

2020-09-24 20:05:59文章目录写正则过程正则功能正则元字符量词与贪婪贪婪匹配(Greedy)非贪婪模式(Lazy)独占模式总结分组与引用分组与编号不保存子组括号嵌套命名分组分组引用分组引用在查找中使用分组引用在替换中使用匹配模式不区分大小写模式(Case-Insensitive)单行模式多行匹配模式(Multiline)注释模式(Comment)断言单词边界(Word Boundary)行的开始或结束环视( Look Around)环视与子组如果你有一个问题,你想到可以用正则来解决,那么

2020-11-03 22:01:28 144

原创 树莓派安装owncloud

2019-08-03 22:45:08文章目录安装系统安装 owncloud所需环境检查php环境是否可用下载owncloud源码并部署访问owncloud并配置其他买了个新玩具:树莓派3b+,挺好玩。一个开发板(包含cpu、内存、网卡、usb接口)。一张扩展卡(内存卡,就是之前手机上用的那种TF拓展卡,用来装系统,开发板上有专门的卡槽用来安装扩展卡)。一根网线(其实开发板上是有无线网卡的,据说配置起来听麻烦,就用网线上,插上就能用)一根HDMI视频线,毕竟安装系统的时候可能会用到其他配件

2020-11-03 22:00:28 817

原创 如何发布开源库到jcenter

2019-11-04 22:24:26文章目录准备上传到bintray发布到jcenter最近学习了一下Annotation和APT,简单的写了个库,想要发布到公共仓库供大家使用(虽然没人用,但就是想尝试一下),最简单的是通过https://jitpack.io/直接从github上抓取release代码打包,并且目前已经支持https://gitee.com/。但是,发布简单的纯java库或者Android Application库都比较简单,在github仓库中打个tag或者发布一下release,

2020-11-03 21:56:54 157

原创 利用PathMeasure实现路径动画

2019-01-04 21:47:21文章目录PathMeasuregetLength()getSegment()路径加载动画山寨支付宝支付成功动画我们可以利用路径动画实现很多好玩的东西,比如上面图中的类似支付宝支付完成的动画。主要用到了PathMeasure,ValueAnumator这两个类PathMeasure类似于一个计算器,可以计算一些和路径相关的东西。两种初始化方式:PathMeasure pathMeasure = new PathMeasure();pathMeasure.

2020-11-03 21:52:27 222

原创 使用express模拟后台返回数据

2018-09-27 14:52:19文章目录2018-09-27 14:52:19@[toc]安装node安装express项目结构仿写在研发过程中,有时候会遇到前端写完了,但是后端接口还没有完成的情况。一般情况下我们会写一些假数据来填充UI,这种方式没有办法检测网络请求有没有问题。我们可以自己搭一个服务,请求自己的服务来返回一些模拟数据。比如可以使用node和express模块来做。安装node官网自己查安装node会自动安装npm包管理工具,检查是否有安装node和npm包管理工具,可以

2020-11-03 21:49:20 1592

原创 Window和WindowManager

2017-03-21 20:05:01文章目录Window的内部机制Window的添加过程Window的删除过程Window的更新过程 Window表示一个窗口的概念,在日常开发中直接接触WIndow的机会并不对,再试在某些特殊时候我们需要在桌面上显示一个类似悬浮窗的东西,那么这种效果就需要用到Window来实现。  Window只是个抽象类,它的具体实现是PhoneWindow。创建一个Window是很简单的事,只需要通过WindowManager即可完成,WindowManager是外界访问Win

2020-11-03 21:47:38 123 1

原创 View绘制过程

2018-07-29 22:35:46文章目录MeasureSpecMeasureSpec和LayoutParamsView的工作流程measure过程layout过程draw过程抄的《Android开发艺术探索》第四章ViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewRoot来完成的。在ActivityThread中,当Activity对象被创建完毕后,会将DecorView添加到Window中,同时会创

2020-11-03 21:46:44 101

原创 Android-View的滑动

2017-03-15 11:01:46文章目录一 VelocityTracker 和 GestureDetector二 使用ScrollTo/ScrollBy三 使用动画四 改变布局参数五 使用Scroller进行平滑移动View的位置主要由它的四个顶点来决定,分别对应于View的四个属性:top,left,right,bottom,其中top是左上角的纵坐标,left是左上角的横坐标,right是右下角的横坐标,bottom是右下角的纵坐标。需要注意的是,这些坐标都是相当于View的父容器来说的,因此

2020-11-03 21:45:49 114

原创 View事件分发

2018-07-29 11:28:20文章目录MotionEventTouchSloppublic boolean dispatchTouchEvent(MotionEvent ev)public boolean onInterceptTouchEvent(MotionEvent event)public boolean onTouchEvent(MotionEvent event)事件传递机制事件分发源码处理滑动冲突抄的《Android开发艺术探索》3.4.1 和 3.4.2MotionEvent

2020-11-03 21:44:24 91

原创 Ubuntu输入密码登陆后回到登录界面

2018-12-26 11:25:57文章目录.Xauthority 权限不对ubuntu-desktop 挂了既然推荐更新了,那就更呗,然后更新到了18.04,被小伙伴吐槽不用命令行更新的系统是没有灵魂的。更新之后玩了没几天,昨晚突然间无法登录桌面了。输入密码登录后显示一下桌面背景然后就回到了的登录界面,使用tty登录没问题。这就好办了,盲猜桌面服务挂了。然后猜原因:.Xauthority权限不对/tmp权限不对ubuntu-desktop挂了盲猜完了,验证一下.Xauthority

2020-11-02 23:07:01 3254

原创 Toast显示过程

2018-08-03 11:35:14文章目录抄书抄的有点烦,自己也学着分析一下源码,挑了个在我看来比较简单的Toast显示过程来玩一玩。Toast.makeText(context, text, duration).show();先了解一下makeText过程,该过程最终都会调用下面的方法:/** * Make a standard toast to display using the specified looper. * If looper is null, Loope

2020-11-02 23:05:54 630

原创 Tinker初探

2018-03-10 12:35:18文章目录注册 TinkerPatch 平台SDK接入添加Gradle插件依赖集成 TinkerPatch SDK配置 tinkerpatchSupport 参数初始化 TinkerPatch SDK使用步骤在tinker-patch平台发布差异包前两天想试一下热修复的功能,对比各大平台的热修复功能,看到tinker的文档介绍,最终决定先拿Tinker试一下。TinkerQZoneAndFixRobust类替换yesye

2020-11-02 23:04:59 220

原创 TCP协议的简单理解

2017-07-03 16:28:36文章目录TCP的主要特点TCP通过下列方式来提供可靠性停止等待协议连续ARQ协议滑动窗口TCP连接的建立TCP连接的释放TCP有限状态机尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。这里的面向连接是指:两个使用TCP的应用(通常是一个客户一个服务器)在彼此交换数据之前必须先建立一个TCP连接。TCP的主要特点TCP是面向连接的运输层协议每一条TCP连接只能两个短点,每一

2020-11-02 23:03:05 570

原创 MMKV与SharedPreference

2020-08-23 11:31:39文章目录存储方式如何选择sp的N宗罪SP优化MMKV与SPMMKV原理:来源https://github.com/Tencent/MMKV使用方式参考鉴于SP的"种种问题",萌发了想要使用写文件的方式替换掉sp的想法,发现腾讯开源MMKV是个不错的选择。存储方式SharedPreferencesContentProvider文件数据库如何选择时间开销这里说的时间开销包括了CPU时间和/0时间,在I/O优化中我就多次提到相比C

2020-11-02 22:58:29 1230

原创 JVM垃圾回收-对象已死?

2017-03-29 17:23:36文章目录引用计数算法可达性分析算法生存还是死亡回收方法区在堆里面存放着Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还存活着,哪些已经死去(即不能再被任何途径使用的对象)。引用计数算法很多教科书判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器就减1;任何时刻计数器为0的对象就是不可能再被使用的。客观来讲,引用计数法(Reference

2020-11-02 22:57:48 67

原创 JVM内存区域

2017-03-27 18:00:21文章目录程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池直接内存 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间.有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁.根据《Java虚拟机规范(JavaSE 7版)》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域.如下所示:程序计数器程序计数器(Program C

2020-11-02 22:57:09 60

原创 JVM-垃圾收集算法与实现

2017-03-30 10:27:05文章目录垃圾收集算法标记-清除算法1. 复制算法2. 标记-整理算法3. 分代收集算法HotSpot算法实现枚举根节点安全点安全区域由于垃圾收集算法的实现涉及大量的程序细节,而且各个平台的虚拟机操作内存的方法又各不相同,这里只是介绍几种算法的思想及其发展过程。垃圾收集算法标记-清除算法最基础的算法是"标记-清除"(Mark-Sweep)算法,算法分为’标记’和’清除’两个阶段:首先标记处所有需要回收的对象,在标记后统一回收所有被标记的对象。它的主要不足有两个

2020-11-02 22:56:11 79

原创 JVM-内存分配与回收策略

2017-04-07 15:27:46文章目录对象优先在Eden分配大对象直接进入老年代长期存活的对象将进入老年代动态对象年龄判定空间分配担保 Java技术体系中所提倡的自动内存管理最终可以归结为自动化的解决了两个问题:给对象分配内存以及回收分配给对象的内存。对象的内存分配,往大方向讲,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接地栈上分配),对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配。少数情况下也可能会直接分配在老年代中,分配的规则并

2020-11-02 22:55:26 61

原创 JetPack中的WorkManager

2018年谷歌I/O 发布了一系列辅助android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。这次发布的 Android Jetpack 组件覆盖以下 4 个方面:Architecture、Foundation、Behavior 以及 UI。该系列博客介绍一下Jetpack中常用组件,本篇介绍LiveData、ViewModel、LifeCycle。最后借助于https://github.com/android/sunflower 来写一个完整的应用

2020-10-31 15:17:08 172

原创 JetPack中的Navigation

2018年谷歌I/O 发布了一系列辅助android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。这次发布的 Android Jetpack 组件覆盖以下 4 个方面:Architecture、Foundation、Behavior 以及 UI。该系列博客介绍一下Jetpack中常用组件,本篇介绍LiveData、ViewModel、LifeCycle。最后借助于https://github.com/android/sunflower 来写一个完整的应用

2020-10-31 15:16:07 228

原创 JetPack-sunflower

2018年谷歌I/O 发布了一系列辅助android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。sunflower with java,A gardening app illustrating Android development best practices with Android Jetpack.sunflower的java版本:园艺应用程序,说明了使用Android Jetpack进行Android开发的最佳做法。源码地址 <https://gith

2020-10-31 15:15:16 267

原创 JetPack中的Room

2018年谷歌I/O 发布了一系列辅助android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。这次发布的 Android Jetpack 组件覆盖以下 4 个方面:Architecture、Foundation、Behavior 以及 UI。该系列博客介绍一下Jetpack中常用组件,本篇介绍Room,结合ViewModel和LiveData完成上图的结构。最后借助于https://github.com/android/sunflower 来写一个完整的应用

2020-10-31 15:14:26 446

原创 JetPack中的LiveData、ViewModel、LifeCycle

018年谷歌I/O 发布了一系列辅助android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。这次发布的 Android Jetpack 组件覆盖以下 4 个方面:Architecture、Foundation、Behavior 以及 UI。该系列博客介绍一下Jetpack中常用组件,本篇介绍LiveData、ViewModel、LifeCycle。最后借助于https://github.com/android/sunflower 来写一个完整的应用

2020-10-31 15:12:42 268

原创 Jenkins安装与使用

2017-06-28 17:30:42文章目录Jenkins 环境安装Jenkinsjenkins安装插件创建jenkins用户配置Jenkins创建一个新的Maven工程配置工程开始构建公司需求,业务越来越多,服务器越来越多,后台部署项目麻烦的要死,于是上了jenkins这货。关于这货是干嘛的,请移步这里https://jenkins.io/,下载请移步这里https://jenkins.io/download/安装环境:ubuntu 16.04、tomcat7(这个是因为Jenkins是个war

2020-10-31 15:11:19 93

AutoLoadMoreRecycleview

在Adapter中监听RecyclerView是否滑动到底部,并且添加了item的点击、长按事件。

2016-08-12

TranslatePlugin

IDEA\AndroidStudio 的翻译插件,选中要翻译的单词,按ALT+T键即可翻译,也可以在Edit 菜单下的Translate进行翻译,每次翻译上限字符为200,请不要一次性翻译过长文字,另外翻译时需要联网。

2016-07-19

git命令大全

gitcheat,git命令大全,包含了几乎所有的git命令,但是是英文的

2015-10-23

fileupload

文件上传所需要的jar包,其中commons-fileupload包依赖于commons-io包

2015-07-06

重构改善既有代码的设计

图灵设计丛书 重构 改善既有代码的设计(Refactoring Improving the Design of Existing Code)Martin Fowler 著,熊节 译

2015-05-11

数据库连接池所需jar包

免费下载,数据库连接池所需要的包(DBCP)包含配置文件(dbcpconfig.properties)

2015-05-05

jstl.jarANDstanderd.jar

JSTL 是sun公司开发的一套标签库,使用JSTL可以在页面中实现一些简单的逻辑,从而替换页面中的脚本代码 在页面中使用JSTL标签需完成以下两个步骤 1 导入jstl.jar 和 standerd.jar 这两个 JSTL 的jar文件 在jsp页面中使用<%@ tablib url="" prifix=""%> 元素导入标签库

2015-03-01

google浏览器deb包

linux下的谷歌浏览器,deb格式的,可以用软件管理中心打开之后直接安装,ubuntu8.04以上没有未解决的依赖问题.

2015-02-26

java_api_1.7中文版

java_api_1.7中文版的,免积分下载.

2015-02-13

servlet_api英文网页版

servlet_api英文网页版,适用与linux用户,解决不能很好的支持chm文件的问题.

2015-02-13

ajax_读取服务器文件内容.js

js中的ajax库,使用时需要三个参数, function ajax(url,fnSucc,fnFailed) 第一个为要读取的文件的地址,第二个是读取成功之后要执行的操作的函数,第三个是读取失败后要执行的操作的函数。 if (oAjax.status == 200)//读取成功 { fnSucc(oAjax.responseText); } else//读取失败 { if (fnFailed) fnFailed(oAjax.status); }

2014-11-19

jsoup-1.7.3

解析HTML代码的jar包,使用这个包类,可以快速的解析HTML的内容,可以将HTML文件转化为String类型,再通过jsoup解析。

2014-10-01

计算机网络第六版谢希仁编著课后习题答案

计算机网络第六版谢希仁编著课后习题答案.最新更新。更具个人理解不同,答案可能会有不同,请根据个人理解正确选择。

2014-09-20

AE CS6破解文件X64

安装时选择试用版,安装完成后将该文件覆盖源文件夹中的同名文件即可,

2014-05-21

代码格式化工具

可以快速格式化代码,支持大多数主流语言 C C++ HTML java PHP C# CSS haskell JSP JSON LISP lua perl python ruby vb XML

2014-05-18

空空如也

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

TA关注的人

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