自定义博客皮肤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/

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

原创 鸿蒙-状态管理V2其他方法

除了之前介绍的状态管理装饰器,在 V2 中还有其他新增的方法。

2025-02-26 18:25:13 1097

原创 鸿蒙-canvas-画时钟

你在 Android 上能画出来的东西,在鸿蒙上画不出来?画个时钟嘛,有啥难的?你行你上!给钱就上!给钱?早说嘛,来来来,现在就画效果图就先这样吧,勉勉强强,可以自己调调颜色,调调样式,或者搞一些图片来代替这些元素也行。源码在这里仓库地址:https://github.com/huangyuanlove/HelloArkUI以上。

2025-02-21 22:12:33 725

原创 鸿蒙-canvas-实现波浪效果

Android 中 canvas 能画出来的东西鸿蒙的 canvas 还画不了,不大可能吧?有个朋友问鸿蒙应用中想实现波浪效果,应该咋画?这个问题,你能在 Android 上用 canvas 画出来,在鸿蒙里面用 canvas 画不出来?还是 api 不熟悉吧?

2025-02-21 22:08:57 854

原创 鸿蒙-canvas-刮刮乐

其实canvas并没有那么麻烦那么困难,我们只要熟悉了鸿蒙canvas的api,在Android上能实现的功能,鸿蒙能基本都能实现。比如手写签名、贝塞尔曲线、图片翻转、九宫格图片等等。并不像我们想象中的那么困难,总之,先动手rua代码试试呗其实canvas并没有那么麻烦那么困难,我们只要熟悉了鸿蒙canvas的api,在Android上能实现的功能,鸿蒙能基本都能实现。比如手写签名、贝塞尔曲线、图片翻转、九宫格图片等等。并不像我们想象中的那么困难,总之,先动手rua代码试试呗。

2025-02-21 21:48:51 1029

原创 鸿蒙-验证码输入框的几种实现方式-上

看起来挺简单的,实际上一点也不难。还有可以优化的地方:比如输入的内容可以不用数组,直接用字符串就好,删除和添加都是在末尾进行比如焦点也可以不用记录的,直接用输入的字符串长度来判断就好。遗留下的一个问题:在上面使用enable来控制是否可点击时,为什么先设置enable为true,然后请求焦点会报错?先设置enable为true,在下一帧时请求焦点还是报错。这就留给大佬翻源码解释了。附一个完整代码@Componentbuild() {Row(){

2025-02-21 21:45:28 1214

原创 鸿蒙-验证码输入框的几种实现方式-下

怎么样,验证码输入框是不是看上去很简单,实际上一点也不难?只要有了思路,拆解成小步骤,然后又一步步实现就好了。个人认为常用的就是上一篇的TextInput方案和本篇的Text方法, canvas 自绘制一般真用不到,除非是一些奇形怪状的需求最后还得吐槽一下,鸿蒙的接口参数中有很多很多需要这种硬编码的配置,搞的很烦,就不能用个常量或者枚举值代替一下么???这样我们就完成了使用 canvas 绘制的验证码输入框怎么样,验证码输入框是不是看上去很简单,实际上一点也不难?

2025-02-21 21:42:24 924

原创 鸿蒙-自定义布局-实现一个可限制行数的-Flex

但假如我们只是需要简单的自己控制子组件所在的位置,不需要接管绘制等逻辑,比如实现一个扇形菜单、实现一个可以控制行数的标签列表等,怎么搞嘞?方法可以获取到子组件的大小,之后通过计算,综合子组件大小、selfLayoutInfo、constraint三者的信息来计算该组件需要的大小。方法中遍历子组件,通过子组件的宽高确认摆放位置,长度累加大于等于约束的最大宽度则换行,高度累加,直到超过指定行数或者遍历完子组件结束。在该方法中,我们可以获取到组件本身和子组件的大小,通过计算确认组件本身大小后返回一个。

2025-02-21 21:37:21 1029

原创 鸿蒙-做一个简版的富文本解析控件

如果父级标签设置了背景颜色、文字颜色等属性,子控件没有设置的话,需要继承父标签的属性。简单来讲就是需要合并子标签和父标签的属性来作为子标签的属性,当然,子标签属性值优先级高于父标签,也就是子标签属性值覆盖父标签的属性值。本来只是需要展示一下简单的富文本,支持简单的背景色,字体大小,字体颜色就够了。我们在解析的过程中需要知道标签名(根据标签名解析属性值),标签的开始和结束以及标签包裹的文本。遇到结束标签则出栈。基于我们的需求,需要展示的富文本不会很复杂,最多也就是上面说的这些属性,鸿蒙正好也由自带的。

2025-02-21 21:33:46 787

原创 鸿蒙-如何发布一个三方库

在Module的根目录中,创建一个 LICENSE 文件,指定该软件包可以在什么样的许可下被使用、修改和共享,文件不能为空。在【个人中心】-【认证管理】下:点击页面左上角的“新增”按钮,并将公钥文件(mykey.pub)的内容粘贴到公钥输入框中。在Module的根目录中,创建一个 CHANGELOG.md 文件,描述您三方库的代码不同版本的变更内容,文件不能为空。在Module的根目录创建一个 README.md 文件,描述您三方库的代码以及如何使用它,文件不能为空。该文件的内容会展示在仓库的描述标签下。

2025-02-21 21:30:18 1112

原创 鸿蒙-那些年我们踩过的坑-上

写起来也挺简单,带着业务跑了一下也挺好,直到后来这个组件被用到了验证码登录的情景:用户输入手机号,点击获取验证码按钮,请求服务器发送验证码,服务器返回成功,跳转到输入验证码页面,弹起键盘,用户输入验证码。在上面修改后的代码中,上述第五条依然成立:因为点击选择框之后,虽然UI发生了变化,但这种变化是因为点击行为导致的,并不是因为key的改变,也不是因为属性的改变。观察到了类属性的变化,从而刷新了页面,但ForEach子组件的key并没有发生变化,我们可以通过在键值对生成函数中添加日志来验证。

2025-02-21 21:28:31 994

原创 鸿蒙-那些年我们踩过的坑-下

使用做弹窗展示时,需要在组件中创建对象,至少在 api12 上是这样的。不想使用的话,可以使用做弹窗展示,当时,它是依赖UIContext这个上下文。注意不要和Context弄混了注意字面量对象和类对象。使用as将字面量对象转为类对象时,无法使用类本身的方法,可以使用class-transformer中的plainToClass创建类对象,这样可以调用对象的方法刷新的。也就是说我们使用和as这两种方式创建出来的对象,会使得@Observed装饰器和@ObjectLink装饰器失效。

2025-02-21 21:26:09 976

原创 鸿蒙-Canvas-图片滑动验证

两个Canvas,需要两个分别绘制两个Canvas上的内容。一个能接受的误差值。随机出来的抠图的横纵坐标。抠图的大小。//允许的误差//随机抠图的横坐标//随机抠图的纵坐标//抠图的宽度//抠图的高度整体的流程上面也说过了,这里就不再赘述。我们还可以加大点难度,比如在抠图后不在原图上提示范围,让使用者自己找。比如我们还可以将抠出来的图镜像一下,让使用者自己找。比如我们还可以将抠出来的图隔像素点抽样一下。比如我们还可以将抠出来的图中的像素调整一下颜色。。。。

2025-02-21 21:22:36 1060

原创 鸿蒙-自定义相机拍照

这个就没啥好说的,有需求就要搞定需求,搞不定需求就搞定提出需求的人嘛。

2025-02-20 18:10:51 1193

原创 鸿蒙-hvigor定制构建

之前需要发版时都是在开发机上修改一下相关配置,比如签名文件、三方SDK参数等,然后打包上传到应用商店。略显繁琐,也担心某次打包会有漏改错改的配置。现在使用jenkins搭建了构建流水线,希望可以根据传入的参数不同,替换配置文件中的字段。翻看文档后发现可以在中接收部分编译配置。

2025-02-20 18:09:11 1090

原创 鸿蒙-状态管理V1

随着鸿蒙Next的推广,做鸿蒙开发的人是越来越多,提问和寻求帮助的人也是越来越多,就我自己回答的问题而言,大部分和状态管理相关,比如List刷新问题,,还有一些录音录像拍照问题。也不是太难的问题,需要特别仔细的阅读官方文档,有些问题的解决方法还分散在好几个文档里面,文档上也没有对一些关键点做特别讲解。这里就最常见的问题总结一下,希望后来的朋友少走一些弯路。

2025-02-20 18:07:38 1149

原创 鸿蒙-状态管理V2

前面我们讲了状态管理V1相关装饰器和注意事项,一般来讲是足够在开发中使用了,但还是有一些不方便的地方,因此又有了状态管理 V2。截止到现在,V2的指南中已经移除了 gap提示,说明已经稳定可用。官方也希望我们尽快做迁移,当然,将来会不会出 V3 那就不得而知了。

2025-02-20 18:04:12 902

原创 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 1338

原创 自定义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 1580

原创 Android打包流程

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

2020-11-16 23:14:53 3432 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 510

原创 通过简单的自定义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 453

原创 适配全面屏手机

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 409

原创 适配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 1489

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

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

2020-11-04 07:59:07 199

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

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

2020-11-04 07:57:59 293

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

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

2020-11-04 07:57:19 249

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

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

2020-11-04 07:56:41 370

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

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 240

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

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

2020-11-04 07:54:37 301

原创 自定义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 558

原创 网站免费升级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 1485

原创 简单的桌面小部件

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

2020-11-03 22:02:50 899

原创 正则表达式--上

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

2020-11-03 22:01:28 190

原创 树莓派安装owncloud

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

2020-11-03 22:00:28 873

原创 如何发布开源库到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 275

原创 利用PathMeasure实现路径动画

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

2020-11-03 21:52:27 356

原创 使用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 1779

原创 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 167 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 145

原创 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 236

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

数据库连接池所需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关注的人

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