<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[scusyq的专栏]]></title><description><![CDATA[浏览器开发，学习和研究webkit及blink！]]></description><link>https://blog.csdn.net/scusyq</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; scusyq]]></copyright><item><title><![CDATA[【鸿蒙开发】Camera Picker拍照和录制视频]]></title><link>https://blog.csdn.net/scusyq/article/details/140711420</link><guid>https://blog.csdn.net/scusyq/article/details/140711420</guid><author>scusyq</author><pubDate>Fri, 26 Jul 2024 11:36:19 +0800</pubDate><description><![CDATA[如果开发者仅是需要拉起系统相机拍摄一张照片、录制一段视频，可直接使用CameraPicker，无需申请相机权限，直接拉起系统相机完成拍摄]]></description><category></category></item><item><title><![CDATA[Android SurfaceView 绘图覆盖刷新及脏矩形刷新方法]]></title><link>https://blog.csdn.net/scusyq/article/details/7789986</link><guid>https://blog.csdn.net/scusyq/article/details/7789986</guid><author>scusyq</author><pubDate>Thu, 26 Jul 2012 16:47:21 +0800</pubDate><description><![CDATA[SurfaceView在Android中用作游戏开发是最适宜的，本文就将演示游戏开发中常用的两种绘图刷新策略在SurfaceView中的实现方法。
　　首先我们来看一下本例需要用到的两个素材图片：
　　bj.jpg就是一个渐变图，用作背景。
　　question.png是一个半透明的图像，我们希望将它放在上面，围绕其圆心不断旋转。
　　实现代码如下：

package SkyD.Sur]]></description><category></category></item><item><title><![CDATA[多线程同步之生产者---消费者模型]]></title><link>https://blog.csdn.net/scusyq/article/details/7690842</link><guid>https://blog.csdn.net/scusyq/article/details/7690842</guid><author>scusyq</author><pubDate>Mon, 25 Jun 2012 19:28:33 +0800</pubDate><description><![CDATA[生产者消费者模型

对于多线程程序来说，不管任何编程语言，生产者和消费者模型都是最经典的。就像学习每一门编程语言一样，Hello World！都是最经典的例子。

实际上，准确说应该是“生产者-消费者-仓储”模型，离开了仓储，生产者消费者模型就显得没有说服力了。
对于此模型，应该明确一下几点：
1、生产者仅仅在仓储未满时候生产，仓满则停止生产。
2、消费者仅仅在仓储有产品时候才能消费]]></description><category></category></item><item><title><![CDATA[Android Bundle类---activity之间通信]]></title><link>https://blog.csdn.net/scusyq/article/details/7690749</link><guid>https://blog.csdn.net/scusyq/article/details/7690749</guid><author>scusyq</author><pubDate>Mon, 25 Jun 2012 18:42:40 +0800</pubDate><description><![CDATA[http://blog.csdn.net/randyjiawenjie/article/details/6651437 




根据google官方的文档（http://developer.android.com/reference/android/os/Bundle.html）



Bundle类是一个key-value对，“A mapping from String va]]></description><category></category></item><item><title><![CDATA[android.mk示例]]></title><link>https://blog.csdn.net/scusyq/article/details/7674401</link><guid>https://blog.csdn.net/scusyq/article/details/7674401</guid><author>scusyq</author><pubDate>Mon, 18 Jun 2012 19:25:31 +0800</pubDate><description><![CDATA[怎样添加一个模块
LOCAL_PATH:= $(call my-dir)
#编译静态库
include $(CLEAR_VARS)
LOCAL_MODULE = libhellos
LOCAL_CFLAGS = $(L_CFLAGS)
LOCAL_SRC_FILES = hellos.c
LOCAL_C_INCLUDES = $(INCLUDES)
LOCAL_SHARED_LIB]]></description><category></category></item><item><title><![CDATA[android.mk中常见local变量解析]]></title><link>https://blog.csdn.net/scusyq/article/details/7674371</link><guid>https://blog.csdn.net/scusyq/article/details/7674371</guid><author>scusyq</author><pubDate>Mon, 18 Jun 2012 19:19:48 +0800</pubDate><description><![CDATA[local变量是用来向生成系统描述你的组件的。你应该在'include $(CLEAR_VARS)'和'include $(BUILD_XXXXX)'之间定义其中的一些变量。
1.LOCAL_PATH
   这个变量用来设置当前文件的路径。你必须在Android.mk的开始处定义它，比如：
     
    LOCAL_PATH := $(call my-dir)
    
   这]]></description><category></category></item><item><title><![CDATA[android.mk 中GUN makefile的宏函数及其使用]]></title><link>https://blog.csdn.net/scusyq/article/details/7674362</link><guid>https://blog.csdn.net/scusyq/article/details/7674362</guid><author>scusyq</author><pubDate>Mon, 18 Jun 2012 19:16:01 +0800</pubDate><description><![CDATA[调用形式：'$(call )'。函数返回文本信息。
常用的宏函数
1.my-dir
    返回放置当前Android.mk的文件夹相对于NDK生成系统根目录的路径。可用来 在Android.mk的开始处定义LOCAL_PATH的值：

       LOCAL_PATH := $(call my-dir)      
        
2.all-subdir-makefiles]]></description><category></category></item><item><title><![CDATA[WebKit的JavaScript对象扩展]]></title><link>https://blog.csdn.net/scusyq/article/details/7648621</link><guid>https://blog.csdn.net/scusyq/article/details/7648621</guid><author>scusyq</author><pubDate>Sat, 09 Jun 2012 18:09:45 +0800</pubDate><description><![CDATA[转载时请注明出处和作者联系方式: 
http://mogoweb.net mogoweb@gmail.com
本文的内容主要参考网上收集的资料，不过在Android 4.0 webkit上做扩展时，碰到一些问题，觉得有必要记录下来。
所谓扩展JavaScript对象，就是增加一个JS对象，但它并没有定义在标准的JS对象集合中。如果网页中包含了扩展的JS对象，使用普通的浏览器就会报JS错误。]]></description><category></category></item><item><title><![CDATA[webkit如何实现JS DOM binding—基于V8分析]]></title><link>https://blog.csdn.net/scusyq/article/details/7648489</link><guid>https://blog.csdn.net/scusyq/article/details/7648489</guid><author>scusyq</author><pubDate>Sat, 09 Jun 2012 17:00:59 +0800</pubDate><description><![CDATA[一个web页面需要使用到JS的场景
Parser阶段
HTMLDocumentParser 中的HTMLTokenizer在解析到开始标签时，创建HTMLScriptElement对象，在解 析时，开始解析JS代码啊，如果中含有src,那么发出一个异步请求(在异步请求过程中，parser会中断，等待JS的解析结果，期间Webkit会来做一些 DNS预取，资源预解析等工作，总之WebKit是不会]]></description><category></category></item><item><title><![CDATA[为WebKit添加新DOM对象的三种方式及实作]]></title><link>https://blog.csdn.net/scusyq/article/details/7648482</link><guid>https://blog.csdn.net/scusyq/article/details/7648482</guid><author>scusyq</author><pubDate>Sat, 09 Jun 2012 16:56:31 +0800</pubDate><description><![CDATA[一．基础知识
首先WebKit IDL并非完全遵循Web IDL，只是借鉴使用。WebKit官网提供了一份说明（WebKitIDL），比如Web IDL称"operation”(操作), 而WebKitIDL称为"method"(方法)， 另外Web IDL也不像WebKitIDL那样将属性和参数分开。
 
为JavaScript绑定对象，可以使用module来定义所从属的模组。
典型的m]]></description><category></category></item><item><title><![CDATA[webkit idl parser 模块分析]]></title><link>https://blog.csdn.net/scusyq/article/details/7628548</link><guid>https://blog.csdn.net/scusyq/article/details/7628548</guid><author>scusyq</author><pubDate>Sun, 03 Jun 2012 19:30:16 +0800</pubDate><description><![CDATA[csdn    lidp    http://blog.csdn.net/perfectpdl 



webkit 中 根据idl接口 语言定义dom对象，然后通过perl 解析模块产生经过包装的c++ 文件。
与idl解析相关的五个文件如下：


bindings/scripts/CodeGenerator.pm 
bindings/scripts/CodeGenerator]]></description><category></category></item><item><title><![CDATA[webkit jsbind]]></title><link>https://blog.csdn.net/scusyq/article/details/7628543</link><guid>https://blog.csdn.net/scusyq/article/details/7628543</guid><author>scusyq</author><pubDate>Sun, 03 Jun 2012 19:27:56 +0800</pubDate><description><![CDATA[CREATE_DOM_NODE_WRAPPER(exec, globalObject, Text, text);
 



view
 plaincopy
 to clipboardprint?



#define CREATE_DOM_NODE_WRAPPER(exec, globalObject, className, object) createDOMNodeWrap]]></description><category></category></item><item><title><![CDATA[W3C Web IDL]]></title><link>https://blog.csdn.net/scusyq/article/details/7628535</link><guid>https://blog.csdn.net/scusyq/article/details/7628535</guid><author>scusyq</author><pubDate>Sun, 03 Jun 2012 19:23:30 +0800</pubDate><description><![CDATA[Web IDL（Interface Definition Language，接口定义语言）该规范定义了一个OMG IDL 3.0的语法子集，用来规范定义的接口。Web IDL 是一个具有多种功能的IDL 变量，便于规范Web平台中的常用脚本对象的操作。其中包括了大量的扩展功能，以及捆绑了针对ECMAScript 3rd Edition 和Java的语言工具。
《Web
 IDL》工作草案，即过]]></description><category></category></item><item><title><![CDATA[webkit idl 资料]]></title><link>https://blog.csdn.net/scusyq/article/details/7628532</link><guid>https://blog.csdn.net/scusyq/article/details/7628532</guid><author>scusyq</author><pubDate>Sun, 03 Jun 2012 19:22:21 +0800</pubDate><description><![CDATA[webcore 通过 idl 实现与 js引擎的绑定，idl为 w3c定义的一个 接口定义语言，为简化开发过程，webkit 通过perl解析 idl文件生成. h .cpp 源码 实现与外部js引擎提供的 js 对象，方法，属性的绑定, 通过自定义idl方式可以 扩展js引擎提供的 本地对象。


两个 idl 资料：
webidl接口
http://www.w3.org/TR/Web]]></description><category></category></item><item><title><![CDATA[基于WebKit浏览器的本地扩展方法]]></title><link>https://blog.csdn.net/scusyq/article/details/7628527</link><guid>https://blog.csdn.net/scusyq/article/details/7628527</guid><author>scusyq</author><pubDate>Sun, 03 Jun 2012 19:20:33 +0800</pubDate><description><![CDATA[摘要：对浏览器进行本地扩展，对JavaScript的功能进行扩充，能强化浏览器在嵌入式平台的应用。该文将主要介绍基于WebKit内核浏览器的本地JS扩展方法，以实现浏览器对本地JavaScript对象的调用，拓宽浏览器的功能领域。 
　　论文网－关键词：WebKit；JavaScript；本地扩展；嵌入式；播放器 
　　论文发表：www.qikan110.com1009-3044(2011)3]]></description><category></category></item><item><title><![CDATA[webkit的js对象扩展（二）——binding方式创建自定义对象（多实例）]]></title><link>https://blog.csdn.net/scusyq/article/details/7628524</link><guid>https://blog.csdn.net/scusyq/article/details/7628524</guid><author>scusyq</author><pubDate>Sun, 03 Jun 2012 19:18:28 +0800</pubDate><description><![CDATA[今天刚好有时间，把创建多实例对象的方法写一下，也就是可以像new Date()一样。关于new操作符有一篇讲的很详细，大家可以先看下http://www.pushiming.com/blog/2009/10/the-new-operator/

了解new操作符后大家应该已经知道，必须有一个构造器才能执行new操作。所以比单实例要多了一个过程，就是要创建构造器，下面我把步骤给贴出来。

以]]></description><category></category></item><item><title><![CDATA[Android中 Js 扩展及交互]]></title><link>https://blog.csdn.net/scusyq/article/details/7628518</link><guid>https://blog.csdn.net/scusyq/article/details/7628518</guid><author>scusyq</author><pubDate>Sun, 03 Jun 2012 19:12:54 +0800</pubDate><description><![CDATA[Android中的JS扩展有2中方式：
1.利用webkit提供的js扩展接口在 java层扩展，直接由app实现
优点：容易
缺点：跟app耦合，其他app不能使用该js扩展
2.利用npapi在cpp层扩展
优点：所有app都能共享该扩展
缺点：相对有难度

引擎主要分为3大模块
1.webkit                          平台相关代码，是对以下2模块]]></description><category></category></item><item><title><![CDATA[android 上 webkit js 本地扩展之全局本地对象实现步骤]]></title><link>https://blog.csdn.net/scusyq/article/details/7628442</link><guid>https://blog.csdn.net/scusyq/article/details/7628442</guid><author>scusyq</author><pubDate>Sun, 03 Jun 2012 18:46:56 +0800</pubDate><description><![CDATA[android 上编写 浏览器插件有三种方式，
1. app 层，通过android framwork 层提供的 封装扩展，优劣：简单，有局限性
2. 通过 NPAPI 方式， 在 webkit上 通过 NPAPI方式扩展，优劣：相对复杂，接口统一，方便移植到其他平台
3. 通过本地扩展方式，类似于js中对象的实现，在webcore 上实现，优劣：复杂，功能强大，移植性不好。
下面为and]]></description><category></category></item><item><title><![CDATA[webkit的js对象扩展（一）——binding方式创建自定义对象（单实例）]]></title><link>https://blog.csdn.net/scusyq/article/details/7628434</link><guid>https://blog.csdn.net/scusyq/article/details/7628434</guid><author>scusyq</author><pubDate>Sun, 03 Jun 2012 18:40:56 +0800</pubDate><description><![CDATA[通过binding方式

要扩展一个全局JS对象除了要为webkit添加这个对象的头文件和cpp文件外，还需要为这个对象写一个idl文件以便webkit自动生成相应的代码；另外，还需要修改DOMWindow.*以便把新对象注册上去。下面以MyObject对象为例介绍具体步骤。

WebCore/page/


1.添加MyObject.h文件





view
 pl]]></description><category></category></item><item><title><![CDATA[使用GDB调试Android 4.0中的WebKit]]></title><link>https://blog.csdn.net/scusyq/article/details/7575254</link><guid>https://blog.csdn.net/scusyq/article/details/7575254</guid><author>scusyq</author><pubDate>Thu, 17 May 2012 10:17:36 +0800</pubDate><description><![CDATA[转载http://blog.csdn.net/su_yong/article/details/7021389 
使用GDB调试Android 4.0中的WebKit


      昨天在网上看到了有人用gdb调试Android中的WebKit，今天试了好一会儿，确实可行。
      以下是步骤：


      1. 进入android系统源码根目录，然后执行]]></description><category></category></item></channel></rss>