自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (14)
  • 收藏
  • 关注

原创 windows编译ndk项目路径超出长度限制问题处理

在Windows环境下编译ndk安卓项目,有时会出现一些奇怪的编译错误,一般表现为报错部分文件xxx.o无法找到,但是同样处理的其上级目录下的文件就能正常编译通过。在build.gradle里面添加一行,buildDir = "D:/tmp/${rootProject.name}/${project.name}"有一个处理方法是制定buildDir的路径。

2024-03-06 16:35:04 394

原创 调用DeleteLocalRef的正确姿势

做安卓jni相关开发的总会在涉及到jni变量释放时怀疑人生,what? where? when? who? why? how? how much?最近碰到一个比较奇怪的问题,有一个jni方法的耗时在随着调用次数的增加而上涨,但是没有明显的内存泄漏,经过我缜密分析之后,终于解决了深埋多年的疑惑。

2023-11-07 18:19:02 312

原创 Android Camera相关

在Android 8.0以前,我们只需要关注前二者即可。在Android 8.0上, Google推出了一项Project Treble计划,旨在规范HAL接口, 简化Android的版本升级,其中一个重要改变就是, Framework层和HAL层也是通过Binder(HIDL)通信,HAL相关资源迁移到了名为(xx表示版本号)中,在不同厂商的定制系统下也可能有其他名字,定位大同小异。

2023-05-04 16:27:24 423

原创 ERROR: Unknown host CPU architecture: arm64

在编译基于Android.mk构建的android ndk项目时发现,在m1的macbook pro上会出现如下错误ERROR: Unknown host CPU architecture: arm64需要修改ndk根目录下的ndk-build文件 (推测原因是m1属于arm架构)本来故事到这里就应该结束的,奈何我是一个动手能力比较强的人,对于复制粘贴不是很擅长,但是独爱徒手敲代码,结果就敲漏了最后的 "$@",所以有了很多很奇怪的路径不对的问题...

2022-06-14 16:22:03 3571 3

原创 ubuntu初始环境搭建

在一个docker里的ubuntu很多工具都没有,我大概有这些是必须要的,先记录一下。第一步,添加源,否则apt-get无法找到软件echo "deb http://mirrors.aliyun.com/ubuntu/ XXXXX main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ XXXXX-security main restricted universe multiversedeb http:/

2022-05-22 14:06:12 254

原创 local reference table overflow问题记录

之前一直以为env->NewStringUTF创建的jstring被传递给了java后就可以不用释放了,也在很多手机上反复操作后没有发现什么问题,然后今天在一台android7.1.1的oppo老机器上折戟沉沙了。网上查了一个大佬的文章才知道android8.0做了这么大一个改动,才让我的代码这么久都没有崩溃。特此记录一下。env->NewStringUTF后是需要env->DeleteLocalRef的...

2022-05-09 12:22:51 665

原创 Android.mk error: unable to open output file ‘xxx.o‘

ndk旧编译系统(Android.mk)开发中经常遇到很奇怪的问题今天我碰到的问题就是完全摸不着头脑,以致于我最终开始怀疑自我了。问题是这样的:error: unable to open output file 'D:/sourceTree/videosystem/demo/videosystemvideosystemvideosystemvideosystemvideosystemvideosystemvideosystemvideosystem/libvideo/build/interme

2022-01-26 17:43:09 4576 1

原创 视频算法学习

当下作为视频工作者,如果不是专门的算法研究人员,可以不必懂太多的视频算法,但结合我之前长期的音视频sdk入端工作经历,视频工作者必备的算法我认为有:磨皮算法 流行特效算法(漫画脸)磨皮是作为所有秀场直播最倚重、使用最广的一种算法,很多直播app的大主播都对其美颜算法相当依赖,其重要性不言而喻,可以不一定要求能手写优化什么的,但原理一定要懂。漫画脸是很早就有很多人在做这块的一些效果,但今年开始我觉得这个算法显得尤为重要起来,因为元宇宙概念的兴起,包括facebook改名为Meta、马化腾提出的全真

2021-12-11 16:57:31 2667

原创 c++手动调用虚函数表

QueueContainer m_pIJobContainer = new QueueContainer;int64_t * ptr = reinterpret_cast<int64_t*>(m_pIJobContainer);//对象首地址指向虚函数表int64_t* vptr = reinterpret_cast<int64_t*>(*ptr);//虚函数表reinterpret_cast<void (*)()>(vptr[2])();__android_l.

2021-11-08 12:00:21 653

原创 Android测试方法论

背景:使用自动化测试脚本对性能测试相当关键,对于检测内存泄漏等性能问题帮助很大现状:目前了解到客户端使用的自动化测试脚本分如下两类,针对不同场景的测试可以添加自己的方法然后执行就可以了使用google提供的androidTest自动化测试,需要找到对应需要操作的控件id 连接手机后使用android studio打开项目工程代码Auto_script.zip后可以看到如下,点击下图类似小三角即可运行测试用例 使用shell脚本+adb工具执行一些屏幕点击和长按等事件,通..

2021-08-31 18:07:00 120

原创 error: Out of memory, malloc failed

今天使用gitpull时出现了如上提示,从最后一句“Already up to date”应该可以看出来,git pull这个操作本身是成功了的,看起来是pack操作失败了,原因就是内存溢出了。尝试找组内同事看过,他们并不会出现跟我相同的错误提示,说明应该跟我最近的某些操作相关。乍一看有点懵,gitpull也能出错,简单梳理了后,有几个疑问1.是因为什么引发了这个溢出2.pack操作到底是做什么3.要怎么解决搜索“Auto packing the reposit...

2021-06-24 21:12:26 2159

原创 问题:静态库中的jni方法找不到

前言以下所指的jni方法一律指的类似这种方法extern "C" JNIEXPORT jboolean JNICALL Java_com_yysdk_mobile_cam_TestJni_isCameraOpened(JNIEnv* env, jobject obj) { std::unique_lock<std

2021-04-14 10:25:01 800 1

原创 android视频录制与滤镜(三):grafika——Show + capture camera

 硬编这块网上的demo比硬解明显少了很多,但还好。认识几个做视频编辑方面的朋友都不约而同的向我推荐了google的grafika项目。仔细看了看,发现grafika里面能用的好东西有不少,如果能够把项目中一些比较精华的部分啃下来,对于视频编辑,对于opengl的操作都会有很大的益处。言归正传,我们需要的是视频录制与滤镜功能,找了一下“show + capture camera"这个部分的内容...

2018-06-29 20:05:11 3041

原创 android多控件切换效果

控件上传到了github,https://github.com/jw20082009/piececode,主要实现的是一个继承自FrameLayout的容器控件,比较好的实现了FrameLayout的第一个子控件和最后一个子控件之前相互切换的动画(中心缩放效果),对于子控件没用任何侵入性,简单包裹即可,使用起来相当简单。可以比较方便的用于消息通知的展开和收拢以及类似效果。先上一个效果图原理原理并不...

2018-06-29 12:19:44 1409

原创 Tesorflow与安卓(一)

关于tensorflow主要有几个关键点:模型训练,得到一个可用模型

2018-06-06 20:20:27 287

原创 android视频录制与滤镜(二)——google官方硬编demo:

视频录制使用android视频录制与滤镜(一)中提到的wysaid/android-gpuimage-plus项目时发现这个项目使用的eclipse时候的ndk编译方式,导致看c++代码时无法自动跳转,以及无法像阅读java代码一样使用快捷键,所以就自己fork了一份,改用了cmake的方式编译jni代码 ,这样阅读起来就方便了不少,但阅读不便这些都是小问题。最大的问题在于编码效率上,这个库由于视...

2018-06-06 20:12:44 1558

原创 android视频录制与滤镜(一)

项目需求:包含实时滤镜的视频录制功能接到需求后第一感受就是gpuimage赶快用起来,github上排名第一的c++版本gpuimage是wysaid/android-gpuimage-plus这个库已经帮忙把从GPU管线中取出视频数据并编码的工作都做好了,是一个可以直接用来加滤镜录制视频的项目。唯一不足的是没有加上硬编码,帧率常年性徘徊在20以下。早听说MediaRecorder在新版本中可以s...

2018-06-05 19:38:20 3252 2

原创 职业发展:bat职级对照

保存下这张图,时时勉励自己,砥砺前行

2018-01-31 10:21:17 4758

原创 git回滚commit与用户名的修改

git回滚今天碰到的一个问题,就是我commit了一次,然后git提示我用户名不对,所以我就git config --global user.name 'sss' 修改过后提交并没有产生任何作用。原来git config --global user.name 'sss'修改的是本地的配置用户名,每一次的commit操作都会去读取这个配置,并把读到的用户名写到每一次的commit

2018-01-04 22:07:59 363

原创 2017年度总结-2018总体规划

作为一个安卓工程师,2017年主要做了一些不务正业的音视频功能。加上去年的半年,整了一年半才上线了一个要死不活的app,上线才几天老板就给咔嚓了,说多了都是泪。 既然是个人总结就应该偏重总结下个人的得与失,没毛病啊,公司的总结就应该偏重对项目的贡献,个人发挥的价值。2017年度总结——完成的项目短视频录制(基于硬编码),优化思考(以下功能总结一下可分为四个点:视频采集与预览、音频采集、编码、混合

2017-12-14 19:41:26 1392

原创 android简单即时聊天sdk

android简单即时聊天sdk切换用户登录的实现联系人列表的实现聊天页的实现消息缓存与排序消息接收和分发——数据库队列和投递队列有序列表的维护切换用户登录的实现由于不同的登录用户需要有不同的联系人以及聊天记录等数据,而切换用户之后再重新登回时也应尽量保持与之前体验一致,所以比较恰当的方式是每一个登录用户建立一个以自己用户id为尾缀的database。每次用户登录成功后即可通过该登录

2017-12-08 16:33:47 2495 2

原创 java重写equals(Object obj)与重写hashCode()之间的关系

多年前,在我开始学习java语法的时候,我就听到了一条规则。重写equals方法就必须要重写hashcode方法,但是重写equals方法有一些规则,重写hashcode方法却貌似没有什么规则似的,搞的我一直都云里雾里的,总以为是equals方法的底层调用了hashcode方法之类的。时隔多年,我终于理解了为什么会有“重写equals方法就必须要重写hashcode方法”这一规则。是说ha

2017-09-20 02:19:56 404

原创 安卓沉浸式

4.4之后加入windowTranslucentStatus的属性,也就是我们可以用到状态栏的区域了。5.0由于提供了setStatusBarColor去设置状态栏颜色,但是这个方法不能在主题中设置windowTranslucentStatus属性。针对这两者的差别可以使用对应values- 来解决。根布局RelativeLayout,添加属性andro

2017-06-02 10:48:04 349

原创 svn一次添加所有未添加的文件

最近在linux下使用svn,有个蛋疼的问题就是每次有新文件添加了,但是自己并不能记得所有被添加的路径。也就无法一一的使用svn add命令添加了。然而linux下也并没有像windows中那么友好的界面操作。所幸我在网上找到了大神的遗迹,大神说“我用15分钟写出了这串命令,然后使用了他成百上千次”。我想说的是,没有大神的潇洒与坦荡,渊博的知识,我先花了15分钟迷茫无措,思

2017-04-15 15:04:30 8156 1

原创 The android gradle plugin version 2.3.0-beta4 is too old, please update to the latest version

Error:(1, 0) The android gradle plugin version 2.3.0-beta4 is too old, please update to the latest version.

2017-04-05 18:12:15 2398

原创 使用ndk工具链创建在安卓机器上的可执行文件

创建helloworld程序 #include <stdio.h>int main(){ printf("helloworld\n");} 使用工具链里的gcc工具来编译该helloworld可执行文件(需要指定sysroot) /root/android-ndk-r10/toolchains/arm-linux-androideabi-4.9/prebuilt/li

2017-04-01 15:18:04 508

原创 ffmpeg编译faac小结

这两周都在为安卓平台编译带aac编码功能的ffmpeg版本。截止今日,未编译出满意版本,时间已经过去一周有余,顿感无地自容。我的环境,ndk-r10e,ubuntu16.04lts  faac1.28 x264(应该是最新版,x264的加入完全没问题),ffmpeg版本还在测试中,唯一成功过的是ffmpeg-n1.2.4。具体编译脚本与环境等我编译成功后再回来加上。希望有大神看到我的环

2017-03-21 14:55:11 3267

原创 mac下android studio一直refreshing "xxx" gradle project问题解决

我最近一个项目在行进过程中,由于某些原因,将gradle版本从2.14.1升到了3.3。从我在mac上把代码拉下来后,大概是项目刷新了有一个小时左右时间没有完成,我就把电脑合上睡觉了。第二天到公司后,我就一边工作,一边把mac丢旁边让他刷新项目,结果貌似是进入了某个死循环一样的,一直停留在refreshing "xxx" gradle project的状态,一整天都没有变过。后来我就去

2017-01-19 00:33:00 4352

原创 android调用系统播放器播放视频-小坑一个

调用系统播放器播放本地视频,很多没真正实践过的人可能也会觉得so easy,“不过就是个隐式Intent,我没用过还没听过吗”我一开始就是这么想的,以下是我从网上搜索到的调用方式:事实上,以上这种方式也可以调用出市面上某些支持的播放器,比方说我试验过的,优酷是可以被唤起的。但是系统的视频应用,我试过锤子、小米、华为都无法被唤起。原因在于uri的生成方式不对,正确姿势如下。

2017-01-17 15:03:50 11410 2

原创 ffmpeg视频关键帧提取保存为图片

本程序基于ffmpeg官方例子demuxing_decoding.c文件来改写的,可以将mp4文件分离成未编码的视频裸流和音频裸流,另外增加了提取mp4关键帧,并保存为jpg格式图片的部分代码。

2016-12-25 12:39:58 11199 3

原创 android短视频录制与头像跟随(一)

最近在为公司的短视频项目做技术预研,研究了很久发现网上关于音视频的资料实在是有点少,所以我想自己来坚持写点东西,我会尽力把这个系列写完,相信会对后来的人有点帮助,因为本人对音视频研究并不深,难免整理有错,希望理解。       在网上调研了很久安卓的视频录制,发现基本都是讲的使用MediaRecorder,来进行录制的方案,这是个使用非常简单,封装度很高的方式,最重要我不能使用它的原因

2016-12-07 21:48:22 1707

原创 内存溢出:native溢出 和 上层溢出

内存溢出有两种,native溢出和上层溢出。native溢出顾名思义,就是native代码出现的内存溢出,图片的存储貌似也是在native的内存中。这种溢出我们是无法从android studio的Monitors中的内存图上看出猫腻来的。这种情况下,可以使用命令“adb shell dumpsys meminfo 包名”,从而在adb上来查看,其中有native heap一项。

2016-11-17 10:47:05 1055

原创 android笔记(一):Adapter写法优化

第一层:一开始写Adapter的时候,我不考虑重用和inflate之类的问题,只要convertView==null,那我就从xml里面inflate一个出来。第二层:后面有一天,我偶然看到别人一篇介绍adapter通用写法的文章。通过一个写一个ViewHolder的实体类,持有item中需要被更改的所有view类,大概类似。class ViewHolder{ TextView t

2016-11-01 12:04:41 439

原创 ffmpeg(一):doc文档到底该怎么读

最近公司项目要做一些音视频直播之类的东西,开始研究ffmpeg。下载源码后打算从ReadMe和doc开始入手。发现readme下东西不多,只对各个库和工具做了一句话的描述。打开doc发现下面东西蛮多,有很多的.texi后缀结尾的文件网上查了一下,发现.texi是用的一种叫texinfo的开源文档系统,具体有什么好处,我就不瞎bb了。要想有比较好的阅读体验,可以从

2016-10-21 00:57:49 2634

原创 终端优化机制:墓碑机制和Doze

终端系统的耗电和发热一直都是一个必须提高180度注意的重点。墓碑机制:ios和wp系统都是采用该机制。当手机上一个任务被迫中断时(如有电话打入),系统记录下当前应用程序的状态后,(像把事件记录在墓碑上一样),然后中止程序。当需要恢复时,根据“墓碑”上的内容,将程序恢复到中断之前的状态。这种机制对于一些需要后台持续运行的程序可能会有些影响,比如即时通信类应用。针对这种问题,两家系统都是通

2016-10-17 10:03:58 1466

原创 一种安全的前后端数据交互方案

加密方案:AES + RSA两种加密方式混合使用,能够实现数据的全程加密(无论是上传,还是拉取)。1、从客户端动态生成16位AES密码2、使用第一步生成的AES密码加密要上发的请求数据,由于AES加密后是byte[]数据,所以这里还需要使用base64封装一层以方便传输。格式大概如下:{ "key":"1234567890123456" "data":"5rWL

2016-10-13 16:56:56 9202 2

原创 React native:我的windows环境

根据官网指导,直到能在命令行运行helloworld。因为我本身已经有了安卓的原生开发环境,那部分就不多说了。对于原生代码的开发工具依旧使用android studio就可以了。但是react native的开发我使用了webstorm 2016.2.2,刚开始使用的时候在使用webstorm打开index.android.js等文件时会报错,需要在settings — Lan

2016-08-24 16:35:33 340

原创 React做一个数秒表

程序来源于React官网,写在这里仅仅只为了温习。欢迎来喷。第一步:引入react.js(或者react.min.js)第二步:引入react-dom.js(或者react-dom.min.js)第三步:引入brower.js,或者直接使用https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.min

2016-08-23 17:31:34 2711

原创 React第一次涉坑

最近在学习javascript技术,听说未来是我们的,也是你们的,但最终会是javascript的。facebook推出的react-native技术看起来是目前最像是要一统移动端开发的技术了。要学React-native,必须先看javascript,看完javascript就必须看看React(React-native是另一个框架)。今天在写React的hellow

2016-08-23 15:27:21 448

原创 adb端口占用处理

adb启动不了,很多时候都是由于一些第三方软件占用了adb的端口。解决该问题很easy第一步:netstat -ano|findstr "5037",然后会列出一系列与5037相关的信息,找到状态为established的那个,记住起pid第二步:启动进程管理器,选中详细信息一列,找出pid为刚才的那个进程,接下来就可以自行决定是否要杀死该进程或者其他操作了。

2016-07-30 20:39:34 522

ApplicationID_versus_PackageName译文

翻译自http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename ApplicationId与PackageName的纠葛

2016-05-19

gradle plugin user guide中文版

gradle plugin user guide中文版,翻译自安卓官网的新构建系统中的gradle插件用户指导一文。

2016-05-11

gradle基础使用教程

翻译自gradle官网的针对APP DEVELOPER的教程,希望对你能有帮助。

2016-04-28

Java经典问题算法大全.pdf

Java 经典问题算法大全.................................................................................................2 【程序1】......................................................................................................2 【程序2】......................................................................................................2 【程序3】......................................................................................................3 【程序4】......................................................................................................4 【程序5】......................................................................................................5 【程序6】......................................................................................................5 【程序7】......................................................................................................6 【程序8】......................................................................................................7 【程序9】......................................................................................................8 【程序10】....................................................................................................9 【程序11】....................................................................................................9 【程序12】..................................................................................................10 【程序13】.................................................................................................. 11 【程序14】..................................................................................................12 【程序15】..................................................................................................14 【程序16】..................................................................................................15 【程序17】..................................................................................................16 【程序18】..................................................................................................16 【程序19】..................................................................................................17 【程序20】..................................................................................................18 【程序21】..................................................................................................19 【程序22】..................................................................................................19 【程序23】..................................................................................................20 【程序24】..................................................................................................21 【程序25】..................................................................................................22 【程序26】..................................................................................................24 【程序27】..................................................................................................25 【程序28】..................................................................................................26 【程序29】..................................................................................................27 【程序30】..................................................................................................28 【程序31】..................................................................................................29 【程序32】..................................................................................................30 【程序33】..................................................................................................30 【程序34】..................................................................................................32 【程序35】..................................................................................................33 【程序36】..................................................................................................34 【程序37】..................................................................................................35 【程序38】..................................................................................................36 【程序39】..................................................................................................36 【程序40】..................................................................................................37 Java 经典问题算法大全 【程序1】 题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔 子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问 每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... */ package cn.com.flywater.FiftyAlgorthm; public class FirstRabbit { public static final int MONTH = 15; public static void main(String[] args) { long f1 = 1L, f2 = 1L; long f; for(int i=3; i<MONTH; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.print("第" + i +"个月的兔子对数: "); System.out.println(" " + f2); } } } 【程序2】 * 作者 若水飞天 题目:判断101-200 之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2 到sqrt(这个数), 如果能被整除, 则表明此数不是素数,反之是素数。 */ package cn.com.flywater.FiftyAlgorthm; public class SecondPrimeNumber { public static int count = 0; public static void main(String[] args) { for(int i=101;i<200;i++){ boolean b = true;//默认此数就素数 for(int j=2;j<=Math.sqrt(i);j++){ if(i%j==0){

2013-07-18

ecshop开发教程资料大全

ECShop二次开发思想.pdf ——ECShop 2.5.1 的结构图及各文件相应功能介绍 ——ECShop2.5.1_Beta upload 的目录 ——┣ activity.php 活动列表 ——┣ affiche.php 广告处理文件 ——┣ affiliate.php 生成商品列表 ——┣ article.php 文章内容 ——┣ article_cat.php 文章分类 ——┣ auction.php 拍卖前台文件 ——┣ brand.php 品牌列表 ——┣ captcha.php 生成验证码 ——┣ catalog.php 列出所以分类及品牌 ——┣ category.php 商品分类 ——┣ comment.php 提交用户评论 ——┣ compare.php 商品比较程序 ——┣ cycle_image.php 轮播图片程序 ——┣ feed.php RSS Feed 生成程序 ——┣ flow.php 购物流程 ——┣ gallery.php 商品相册 ——┣ goods.php 商品详情 ... ECShop开发资料.pdf ——目录 关于ECSHOP............................................................................................................ 3 产品特点:.....................................................................................................................................................3 1. 前言..................................................................................................................... 5 1.1. 模板系统介绍........................................................................................................................................5 1.2. 涵盖内容.................................................................................................................................................5 1.3. 适用版本.................................................................................................................................................5 1.4. ECShop 团队主要成员....................................................................................................................5 2. 模板结构说明..................................................................................................... 6 2.1. 模板目录结构........................................................................................................................................6 2.2. 链接模板文件使用例子.....................................................................................................................6 2.3. 模板文件结构.............................................................................................................

2013-06-03

libmySQL.dll

libmysql.dll文件是MySQL的动态链接库文件,缺少此文件数据库无法正常工作。系统文件libmysql.dll是存放在Windows系统文件夹中的重要文件,通常情况下是在安装操作系统过程中自动创建的,对于系统正常运行来说至关重要。在正常情况下不建议用户对该类文件进行随意的修改,它的存在对维护计算机系统的稳定具有重要作用。

2013-03-13

MySQL的最详细帮助文件

MySQL的最详细帮助文件, 类目明晰, 光目录就大小分了800多条,绝对可以让你更容易查找

2013-03-06

CSS简明教程

本教程包括以下篇章: 第一天 XHTML CSS基础知识 第二天 一列布局 第三天 二列和三列布局 第四天 纵向导航菜单及二级弹出菜单 第五天 超链接伪类 第六天 html列表 第七天 横向导航菜单 第八天 下拉及多级弹出菜单 第九天 CSS表单设计 第十天 div+css网页标准布局实例教程(一) 第十天 div+css网页标准布局实例教程(二) 第十天 div+css网页标准布局实例教程(三) 文章出处:标准之路

2013-02-26

十天学会DIV+CSS(WEB标准).chm

这是一本非常全面的基于dreamweaver来操作的css学习教程,分类非常明确,类目齐全,而且全部配带实例操作带有大量操作截图,简单易懂 本教程包括以下篇章: 第一天 XHTML CSS基础知识 第二天 一列布局 第三天 二列和三列布局 第四天 纵向导航菜单及二级弹出菜单 第五天 超链接伪类 第六天 html列表 第七天 横向导航菜单 第八天 下拉及多级弹出菜单 第九天 CSS表单设计 第十天 div+css网页标准布局实例教程(一) 第十天 div+css网页标准布局实例教程(二) 第十天 div+css网页标准布局实例教程(三)

2013-02-26

程序员表白专用html5网页

非常优美,有创意的表白网页,有意向的筒子可以借用

2012-07-12

jfreechart-1.0.12.zip

jfreechart-1.0.12.zip,是一个很好的java作图工具

2012-07-12

梦哈日历控件

非常方便的日历控件,我已经把它转换成了html文件,如果你想潜入到其他的网页中去的话,你也可以通过记事本打开该文件,再复制其中的[removed]***[removed]部分

2012-07-07

数据结构,数据库

数据结构,数据库

2012-05-17

空空如也

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

TA关注的人

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