- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 opencart商品批量上传
上一篇我们讲了如何将商品采集到excel,现在我们通过脚本程序一键将excel商品导入到我们自己的网站。一 商品信息准备读取excel里的商品信息ReadExcelUtils excelReader = new ReadExcelUtils(EXCEL_PATH);Map<Integer, Map<Integer, Object>> map = excelReader.readExcelContent();System.out.println("获得Excel表格的内容:"
2021-04-07 18:12:22
1944
3
转载 AccessibilityService
http://blog.youkuaiyun.com/dd864140130/article/details/51794318
2017-01-18 10:54:26
334
原创 android 笔记 按键响应
PhoneWindowManager.interceptKeyBeforeQueueing PhoneWindowManager.interceptPowerDown() PhoneWindowManager.inteceptPowerUp();
2017-01-11 20:08:46
579
原创 通过AS调试android源码 看Activity的启动过程(1)
看源码重要性不多说了,本文通过跟踪代码学习android根activity(由Laucher启动的activity)的启动过程。1 源码的下载与编译(网上很多教程),在此说一下我的方法我是windows下安装ubutun 16.04虚拟机(站硬盘80G),在ubuntu上下载和编译源码,生成android.iml和android.ipr文件,然后想打开as工程一样open这个android.ipr
2016-12-25 21:30:02
1746
原创 根Acitivity的启动过程(1) Launcher 向ActivityManagerService发送一个启动MainActivity的进程间通信请求
Activity有两种由Launcher启动的根actvity由activity启动的子activity根activity在配置文件中声明 <action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" />根Activity的启动过程
2016-12-20 12:51:44
363
转载 android 状态栏(StatusBar)
一、SystemUI 概述 自 android2.2 开始 , 原本存在与 framework-res.apk 中的状态栏和下拉通知栏界面控制被分割出一个单独的 apk文件 , 命名为 SystemUI.apk, 保存在 System/app 文件夹中。在 SystemUI.apk 中 , 是存在着状态栏的图标 ,XML 和控制文件等 , 这样的分割 , 使我们可以更方便地去
2016-11-30 13:24:13
1345
原创 Volley 解析
首先简单介绍下使用方法。 1 通过Volley 这个类 创建一个 RequestQueueRequestQueue mRequestQueue = Volley.newRequestQueue(context);2 创建一个Request Request 分为StringRequest,ImageRequest,JsonArrayRequest,JsonObjectReque
2016-11-22 07:55:32
415
原创 OkHttp 源码解析(3) Interceptor 拦截器
一些概念:拦截器分为Application Interceptor 和 Network Inteceptor。 Application Interceptor 应用于应用层和OkHttp引擎,Network Interceptor应用于OkHttp 引擎与网络层。每一种Interceptor负责拦截请求进行一些额外的处理(例如 cookie),实际上拦截器把实际的网络请求、缓存、透明压缩等功能都统一
2016-11-21 02:29:48
1580
原创 OkHttp 源码解析(2) Dispatcher 工作机制
上一节说到,发送一个请求会到RealCall的execute()和enqueue(CallBack callBack) 方法中,首先看一下这俩个方法的实现。@Override public Response execute() throws IOException { synchronized (this) {// 判断这个Call有没有执行过,每一个Call只能执行一次 if (exe
2016-11-19 02:59:52
1289
原创 OkHttp 源码解析(1)
项目用到OkHttp,准备研究研究(OkHttp现在很火啊,Retrofit使用OkHttp,Volley支持替换底层http栈为OkHttp,甚至Google的最新源码里,都用起了OkHttp,替换了原来用的HttpClient)。OkHttp在网络有问题的时候表现很好:它会静默从常见的连接问题中恢复。 如果你的服务有多个IP地址对应,OkHttp会在首次连接失败的时候尝试其他地址。 OkH
2016-11-18 18:41:56
428
原创 jquery 元素选择器
1:基本选择器 (通过元素id,class,元素名,多个选择符 选择元素或元素集合)$$ $(“#ele_id”),$(“div span”),$(“.ele_class”),$(“*”) 2:层次选择器 (通过后代、父子、相邻、兄弟关系定位元素) $(“#ele_id”).next() .siblings(“div”) 3.1:简单过滤选择器 书写省略$(“”
2015-12-17 15:07:08
601
原创 android多个fragment返回键层层返回
在FragmentActivity的fragment跳转的时候添加到运行栈,public void switchFrag(BaseFragment to) { getSupportFragmentManager() .beginTransaction() .replace(R.id.frag_login_content,
2015-06-10 16:18:09
3234
1
原创 appcan 多窗口机制 主窗口与浮动窗口通讯
1:打开一个浮动窗口并命名为addGoods_0uexWindow.openPopover("addGoods_0","1","addGoods_0_content.html","",0,titHeight,$("#content").width(), $("#content").height(),32,"0");2 执行浮动窗口定义的函数uexWindow.evaluatePopoverScr
2015-05-12 10:18:07
2614
原创 nodejs mysql
1首先安装node环境 2然后在工程目录下 进入cmd npm install mysql安装node所需的mysql module 3新建server.js文件内容如下 4node server.js启动服务器 5使用mysql创建send_pro 数据库和 seller_info_table数据表(id,name,password,type) 6在浏览器中输入 127.0.
2015-05-10 12:17:53
750
原创 quick mvc 结合状态机
quick中mvc结合状态机在某一对象有多种状态且经常需要转换的时候,使用状态机实现非常方便。在model层给对象添加状态机组件,然后在触发某种状态时(onstart,onready,onrun…)分发事件,然后再view层监听此事件,当model处于某种状态时,触发相应的事件,view层监听到事件后做出不同的动作。关于mvc、状态机的使用可以查看sample下的demo
2015-04-30 10:04:49
751
1
原创 quick LuaJavaBridge
http://dualface.github.io/blog/2013/01/01/call-java-from-lua/#E5B08620lua20function20E4BD9CE4B8BAE58F82E695B0E4BCA0E98092E7BB9920java20E696B9E6B395int I float F string Ljava/lang/String; 注意分号 bool Z
2015-04-13 15:40:27
692
原创 quick StateMachine 状态机的使用
quick 的状态机 真是使用简单,功能强大,记录一下使用方式便于以后使用 1:创建一个状态机StateMachine (1) self.fsm_ = StateMachine.new() (2)self:addComponent(“component.behavior.StateMachine”) self.fsm_ = self:getComponent(
2015-03-31 17:07:30
1318
原创 quick WebSocket
将工程samples下的WebSockets工程的src/scenes 复制到自己的工程app/scenes/下 main.lua game.lua WebSockets.lua 复制到自己工程mian.lua同等级目录下,就可以运行了了。 其中使用到的接口函数--connect阶段function MainScene:onConnectClicked() if self.websoc
2015-03-29 14:00:58
1307
原创 quick lua的一个小坑
可能是lua 传值时的一些特性有两个class A , B A 有属性self.position setPosition() getPosition() 方法 首先对A进行初始化 设置位置 然后将getPosition()返回的值作为B的position属性local position = a:getPosition() b:setPosition(position)此时对b进行位置操作
2015-03-26 16:11:55
1068
原创 quick cocos2dx 游戏数据存储
1:json数据格式 json->table local str = json.encode({a=1,b=2,c={123}}) print(str)结果 {“a”:1,”c”:[123],”b”:”cc”} table->jsonlocal str2 = json.decode('{"a":1,"c":[123],"b":"cc"}')dump(str2)结果 [LUA-print
2015-03-23 15:11:16
1655
原创 使用quick自定义Button
使用quick时自己封装的类存放于特定的目录,便于以后使用 下面是作者经常用到的一个按钮local MyButton = class("MyButton")function MyButton:ctor(params,scene,listener) self.button = nil local time = 0.1 local offset = 40 self.b
2015-03-17 11:34:48
1113
原创 apk签名 此jar没有时间戳
打包apk时提示没有时间戳 下面是带时间戳的签名命令 主要是有 -tsa https://timestamp.geotrust.com/tsa 选项
2015-03-06 10:58:18
2938
原创 quick lua-binding使用详解
1 创建c++文件 MyClass.cpp MyClass.h 于 frameworks/runtime-src/Classes/tolua目录下 MyClass.cpp#include "MyClass.h"int MyClass::foo(int i){ return i + 100;}MyClass.h#include "cocos2d.h"using namespace coco
2015-03-04 17:30:55
2371
原创 quick Timer 倒计时
实现倒计时 位于framework cc ui Timer.lua文件 用法如下 local appTimer = Timer.new() -- 响应 CITYHALL_UPGRADE_TIMER 事件 -- 注册事件 appTimer:addEventListener("CITYHALL_UPGRADE_TIMER", function(event) i
2015-02-27 17:29:37
767
原创 lua table 重要函数
1 求长度操作# a = {“c”,”b”,”a”} #a=3 给table添加元素a[#a + 1] = “d” 2 table.concat(table, sep, start, end) 讲从start开始到end的元素以sep作为分隔符链接成一个整体 例: tbl = {“alpha”, “beta”, “gamma”} print(table.concat(t
2015-02-27 16:00:51
381
原创 Cocos2dx action 一些注意事项
Action本身记录一个node作为target,所以一个action不能作用于多个Node,否则将导致不正确的行为。 Node通过getNumberOfRunningActions查询正在运行的Action数量结果为0表示没有Action运行 2取消这在执行的动画stopActions();stopAction(Action* action);stopActionByTag(int
2015-02-26 09:59:50
3625
原创 quick ProgressTimer
local prog = display.newProgressTimer("img/bodyLD.png",display.PROGRESS_TIMER_RADIAL)--PROGRESS_TIMER_BAR/RADIAL 两种模式(旋转,进度条) :center() :addTo(self) prog:setProgress(0) --设置百分比0
2015-02-14 13:39:04
801
原创 quick 截屏 captureScreen
display.captureScreen(function(bSuc, filePath)--bSuc 标识截屏是否成功 if bSuc then --如果bSuc == true 将图片sprite添加到屏幕中央并缩放 print("aaa" .. filePath) display.newSprite(filePath)
2015-02-14 13:12:11
959
原创 quick 实现的工具类Tool 2 倒计时进度条TimeProgress
倒计时进度条Progress.lua文件local Progress = class("Progress", function(background, fillImage) local progress = display.newSprite(background) local fill = display.newProgressTimer(fill
2015-02-12 16:11:50
871
原创 用cocos2dx quick 实现的工具类1 自定义Toast
直接上代码--params msg 提示信息 img背景图片 time 显示时间 position 初始位置function Toast:createToast(node,msg,img,time,position) --Toast 显示的文字msg local label = cc.ui.UILabel.new({UILabelType = 2, font="font
2015-02-12 16:01:14
621
原创 quick 3.3 两个Scene跳转时传递参数
self:enterScene("PlayLevelScene", {index}, "fade", 0.6, display.COLOR_WHITE)
2015-01-28 14:26:01
797
原创 quick-lua touch 触摸事件
直接上代码Node:setTouchEnabled(true)Node:addNodeEventListener(cc.NODE_TOUCH_EVENT,function(event)print(event.name)if event.name == "began" thenprint("touch began!")return true ---------这
2015-01-21 14:02:40
1641
原创 cocos2dx quicxk 3.3 导入Json文件布局 UI
local myUILoader = cc.uiloader.new() local node,width,height = myUILoader:load("UIJsonExport/loginFrame.Json") node:addTo(self) -- local loginButton = myUILoader:seekNodeByName(node,"loginButton")
2015-01-14 10:17:04
1138
原创 cocos2dx 3.3 quick lua 实现返回键退出程序
local layer = display.newLayer() self:addChild(layer,-10) layer:setKeypadEnabled(true) layer:addNodeEventListener(cc.KEYPAD_EVENT, function (event) if event.key == "back"
2015-01-13 10:52:59
3700
原创 cocos2dx 3.0 quick lua schedler
local scheduler = {}>加载方式:local scheduler = require(cc.PACKAGE_NAME .. ".scheduler")--------note start -----计划一个全局帧事件回调,返回该计划的句柄1) scheduler.scheduleUpdateGlobal(listener)listener:回调函数return schedule
2015-01-08 17:12:23
606
原创 cocos2dx 3.0 quick lua transition action
transition = {}local actionManager = cc.Director:getInstance():getActionManager()1) transition.newEasing(action,easingName,more)action 动作对象 easingName 缓冲效果的名字 more 创建缓冲效果的参数return mixed ret2) tr
2015-01-08 15:41:28
1108
原创 cocos2dx quick lua 学习笔记1
framework下ui.lua文件1.定义ui表结构 local ui ={}1) 定义一些·全局变量ui.DEFAULT_TTF_FONT = "Arail" ui.DEFAULT_TTF_FONT_SIZE = 242)一些可用控件(1) ui.newEditBox(params) 参数:image(初始状态),imagePressed(输入状态),imageDisa
2015-01-07 16:08:04
707
原创 cocos2dx 3.0 实现 生成随机数
适合在cocos2dx 3.0 以上版本使用的真正的随机数生成函数int MovedTiled::getRand(int start,int end){TIMEVAL psv;gettimeofday(&psv,NULL);unsigned long int rand_seed = psv.tv_sec*1000 + psv.tv_usec/1000;srand(ran
2014-12-04 04:44:27
515
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人