首页 文章 精选 留言 我的

精选列表

搜索[云上实践],共10000篇文章
优秀的个人博客,低调大师

【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(上)

很多看过之前Himi的【iOS-cocos2d-X 游戏开发之七】整合Cocos2dX的Android项目到Xcode项目中,Xcode编写&编译代码,Android导入打包运行即可!博文的童鞋都在问我如何在Xcode中能调用Java的函数,比如在Android端需要加入广告、支付、等第三方平台或者单独处理的一些代码;那么本篇Himi分享如何在Cocos2dx中访问调用Android的Java层函数; 首先Himi大概的介绍一个类JniHelper ; 此类主要用于Jni与Java层之间的相互访问的作用,那么此类的常用的一些函数这里首先介绍下,否则直接上代码不太容易吸收 ; JniHelper 类常用函数: 1. getStaticMethodInfo (四个参数,bool 返回值) 使用示例代码: bool isHave = JniHelper::getStaticMethodInfo(minfo,"com/ai/ommr/OhMonsterMR4Android","testFun", "()V"); 此函数主要用于获取Java定义的类静态函数是否存在,返回bool; 此函数有3个参数: 第一参数:minfo ->JniMethodInfo 类型,后面详细说; 第二个参数:类的路径。 第三个参数:方法名(第一参数类中的函数) 第四个参数:(参数)返回类型 关于第一个和第二个参数都比较容易理解,那么第三个参数需要重点介绍一下;例如你在Java中定义一个如下函数 public void helloJni(){}; 那么getStaticMethodInfo函数第三个参数你应该传入 “()V” 表示此函数无参无返回值! 如果有这么一个函数:public int helloJni(int _int){return 823}; 那么getStaticMethodInfo函数第三个参数你应该传入 “(I)I” 表示此函数需要传入一个int类型的参数并且返回一个int类型! 大概说两个童鞋们应该基本理解了,那么下面详细写一些对照表,留给大家对照; 参数、返回值样式对照表: 这里的签名指的就是getStaticMethodInfo函数第三个参数中传入的样式; 2. getMethodInfo 类似与第一个函数,只是对应非静态函数;此函数主要用于获取Java定义的类非静态函数是否存在,返回bool; JniMethodInfo类: 此类型主要用户保存类结构体,可以通过JniHelper类的getStaticMethodInfo函数实例化JniMethodInfo对象,从而使用实例的env属性调用CallStaticVoidMethod,CallVoidMethod,CallStaticIntMethod等函数进行对保存的类结构调用函数; 常用的函数如下:(静态系列函数) 1. CallStaticVoidMethod(classID,methodID); 2.CallStaticIntMethod(classID,methodID); 3~(n-1) ……省略掉,童鞋们一看就明白; n.CallStaticObjectMethod(classID,methodID); 带参数的函数:(如int类型) CallStaticVoidMethod(classID,methodID,int _int); 非静态系列函数: 1. CallVoidMethod(jobj,methodID); 2.CallIntMethod(jobj,methodID); 3~(n-1) ……省略掉,童鞋们一看就明白; n.CallStaticObjectMethod(jobj,methodID); 带参数的函数:(如int类型) CallVoidMethod(classID,methodID,int _int); 这里讲解下几个参数函数: 1. classID: 类ID ,JniMethodInfo 对象包含此属性; 2. methdID: 方法ID,JniMethodInfo 对象也包含此属性; 3. jobj : java中Object类型,如自定义类,String… 非静态函数调用的时候,需要的是对象,所以与静态函数调用的第一个参数不同; 那么既然能调用Java的函数,那就能得到函数返回值,但是这里我们得到的返回值书写类型如下: 譬如返回int 类型,在Xcode中使用 jint 这种形式,更多形式如下: int -> jint …省略,大家一看就懂得; object -> jobject 估计有的童鞋已经晕了,没关系,下面Himi写了一些例子代码,结合来看就一目了然啦。 Xcode中先导入如下头文件: //使用预编译,对当前平台为Android时才会导入如下头文件 #if(CC_TARGET_PLATFORM==CC_PLATFORM_ANDROID) #include<jni.h> #include"platform/android/jni/JniHelper.h" #include<android/log.h> #endif 示例代码段1: Xcode 代码: ////静态函数示例1.无参数,无返回值---------------------------------$$$$$$----------------------------- #if(CC_TARGET_PLATFORM==CC_PLATFORM_ANDROID)//判断当前是否为Android平台 JniMethodInfominfo;//定义Jni函数信息结构体 //getStaticMethodInfo次函数返回一个bool值表示是否找到此函数 boolisHave=JniHelper::getStaticMethodInfo(minfo,"com/ai/ommr/OhMonsterMR4Android","testFun","()V"); if(!isHave){ CCLog("jni:此函数不存在"); }else{ CCLog("jni:此函数存在"); //调用此函数 minfo.env->CallStaticVoidMethod(minfo.classID,minfo.methodID); } CCLog("jni-java函数执行完毕"); #endif Android(Java) 代码: //静态函数示例1.无参数,无返回值 publicstaticvoidtestFun(){ Log.e("Himi","静态函数示例1.无参数,无返回值"); } 本文转自 xiaominghimi 51CTO博客,原文链接:http://blog.51cto.com/xiaominghimi/908804,如需转载请自行联系原作者

优秀的个人博客,低调大师

PC及苹果设备上facebook,twiier,google+,看youtube,iOS、MAC OS软件更新加速一劳永逸 转载

附件中有hosts文件 另外,经实测,使用下面DNS下载速度很快 168.95.1.1 (台湾中华电信提供,会从苹果台湾服务器下载) 注:手动设置 DNS 之后,可能会对你打开国内其他网站的速度有影响,尤其是台湾中华电信DNS 可以在需要下载时临时使用这个DNS 台湾的中华电信的DNS 168.95.1.1(dns.hinet.net) 168.95.192.1(hntp1.hinet.net) 168.95.192.2(hntp3.hinet.net) 香港dns服务器有线宽频i-CableDNS 61.10.0.130 61.10.1.130 210.80.60.1 210.80.60.2 香港宽频HongKongBroadBandNetworkDNS 203.80.96.10 203.80.96.9 HKNet宽频DNS 202.67.240.222 202.67.240.221 和记环球电讯DNS 202.45.84.58 202.45.84.59 网上行宽频NevigatorBroadBandDNS 208.151.69.65 208.167.231.55 NetFront前线DNS 202.81.252.1 202.81.252.2 SmarToneBroadBand数码通宽频 202.140.96.51 202.140.96.52 PacificSuperNet 202.14.67.4 202.14.67.14 CyberExpress 202.85.146.104 202.60.252.8 附件:http://down.51cto.com/data/2361760 本文转自 h2appy 51CTO博客,原文链接:http://blog.51cto.com/h2appy/1059986,如需转载请自行联系原作者

优秀的个人博客,低调大师

基于 WorkBuddy 的生产力级 AI Agent 实践:跑通本地文本分析 Skill

过去一年,AI Agent 工具的能力边界一直靠两样东西撑着:大模型本身和function calling(工具调用)。但工具调用有个老问题——它高度依赖"宿主怎么定义工具",换个框架就得重写,A 家的 MCP 到了 B 家未必兼容。Skill 是想解决"可移植性"这件事。 一个 skill 往往被设计成一个自包含的目录:一个入口脚本、一个说明文档、若干配置,Agent 只要"能跑这个脚本、能解析 stdout",就能用。它不关心宿主是 WorkBuddy 还是 Qoder 还是 TRAE Work,也不关心模型是哪个。local-text-insight(ModelScope Neolnfra/local-text-insight,Apache-2.0)就是这么一个典型的 skill:核心引擎只用 Python 标准库、零第三方依赖,干的是"文本提纯"这件事——把又长又脏的网页/长文/markdown 变成干净正文、大纲树、摘要、关键词、阅读时长。

优秀的个人博客,低调大师

Vibe Coding 全栈开发:意图驱动的 AI 原生全栈工程范式与落地实践

Vibe Coding(氛围编程)由 Andrej Karpathy 于 2025 年提出,是一种以开发者意图为核心、大模型智能体为执行载体的人机协同软件开发范式。区别于传统全栈开发逐行编码、先详细设计再落地的模式,Vibe Coding 全栈开发将前端、后端、数据库、接口、部署配置等全栈工程资产交由 AI 智能体生成,开发者专注于产品目标、交互体验、架构约束与结果校验,通过持续对话反馈迭代直至交付可用应用。本文从范式定义、核心逻辑、全栈闭环工作流、技术栈选型、工程风险、质量管控,以及和前文 DeepAgents、Codex 多智能体集群的融合方式展开论述,剖析 Vibe Coding 在全栈项目中的工程价值、边界约束与规模化落地策略。

优秀的个人博客,低调大师

基于GeoTools的GIS专题图自适应边界及高宽等比例生成实践

在当今数字化浪潮中,地理信息系统(GIS)的应用场景日益丰富,从城市规划到环境监测,从交通运输到资源管理,GIS 技术为各领域提供了强大的空间数据分析与可视化支持。而专题图作为 GIS 表达的重要形式,其生成质量直接影响着信息传达的准确性和直观性。以下图为例,要求绘制与湖南省相邻的其它市级行政区划的专题图:

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册