当前位置: 首页 > news >正文

扬州专注企业网站建设网络推广哪个网站好

扬州专注企业网站建设,网络推广哪个网站好,ios系统软件开发,工作努力加油的句子大家都知道Delphi能调用安卓SDK#xff0c;比如jar、aar等#xff0c; 但是反过来#xff0c;能在Android Studio中调用Delphi开发的窗体吗#xff1f; 想想不太可能吧#xff0c; Delphi用的是Pascal#xff0c;Android Studio用的是Java#xff0c;这两个怎么能混用…大家都知道Delphi能调用安卓SDK比如jar、aar等 但是反过来能在Android Studio中调用Delphi开发的窗体吗 想想不太可能吧 Delphi用的是PascalAndroid Studio用的是Java这两个怎么能混用呢 而且用Delphi就能开发好APP为啥还要用到Android Studio 搞这个的人得是有多闲 就让我这个闲得蛋疼的人来尝试一下。 首先用Delphi建一个工程 如下Delphi工程 名为EmptyDelphi 差不多是一个空的工程就只有一个很简单的窗体上面放了按钮点击弹出 “Hello我是Delphi窗体。”     将它在Android 64位平台下Build一下 会生成我们后面需要的文件 它是Android64\Release目录中的libEmptyDelphi.so so文件是安卓下的动态链接库 Delphi将工程的窗体和代码都编译到它里面了     在手机上跑一下看看     注意顶部状态栏是灰黑色的。 再用Android Studio来新建一个工程简单看看即可     填入APP名称、应用包名等 可以新建一个Activity来玩下原生开发在安卓下的窗体叫Activity     窗体名设置为MainActivity 默认勾上Generate a Layout File表示新建一个窗体布局文件就像Delphi中的窗体是一对.pas.fmx文件而安卓下窗体是一对.java.xml文件 如果勾上Launcher Activity表示它是主窗体程序一打开就显示它 如下图所示 双击res\layout\activity_main.xml来在窗体上添加控件 双击就能打开窗体设计器     从左边拖个按钮进去这种可视化的方式和Delphi一样 如果建Activity的时候没有勾上Launcher Activity 那么需要编辑AndroidManifest.xml AndroidManifest.xml是安卓程序清单文件里面登记着所有安卓窗体、服务等 打开左边manifests节点里面的AndroidManifest.xml进行编辑     在Activity节点里面加入如下XML节点 表示它是一个主窗体app一运行首先打开它如下图所示     点击下右上角的绿色小箭头就能直接运行在手机上 效果如下图所示     接下来把Delphi开发的窗体集成进来作为主窗体 要想在安卓应用中打开页面就需要在AndroidManifest.xml中注册一个Activity 那么我们Delphi开发的窗体有Activity吗 它叫什么呢 我们可以打开Android64\Release\AndroidManifest.xml找到答案 或者工程目录中的AndroidManifest.template.xml中 如上图Delphi开发的窗体Activity为com.embarcadero.firemonkey.FMXNativeActivity它是固定的只是其中meta-data节点中的value值会变是需要一个动态库文件名为工程名称。 那我们把这一段复制到Android Studio工程中的AndroidManifest.xml中去 并把Android Studio工程中原来的MainActivity注释掉 但是可以看到我们Delphi的FMXNativeActivity粘到Android Studio中之后 都标红了应该是出错了鼠标移上去     提示“Class referenced in the manifest,com.embarcadero.firemonkey.FMXNativeActivity was not found in the project or the libraries” 意思是在工程或库中不存在这个FMXNativeActivity 那它在哪里 答案是fmx.jar。 Delphi开发的app需要使用fmx.jar来实现一些底层的安卓功能 我们平常可以在Delphi 工程视图中Android平台下的Libraries节点中看到它 fmx.jar它在Delphi的安装目录中 C:\Program Files (x86)\Embarcadero\Studio\22.0\lib\android\release fmx.dex.jar则是fmx.jar编译之后的文件。 fmx.jar的源码都在Delphi的源码目录中 C:\Program Files (x86)\Embarcadero\Studio\22.0\source\rtl\androiddex\java\fmx     这个目录一看就是一个Eclipse项目 找到FMXNativeActivity这个类它是Embarcadero用java写的     所以要想在Android Studio中使用Delphi的页面那么就需要引用fmx.jar。     在Android Studio中引用fmx.jar 将它拷到安卓工程app目录中的libs目录里面 找到工程app模块的安卓配置文件 build.gradle它是安卓应用的打包配置文件 编辑它在它的dependencies依赖中加入如下一行 implementation fileTree(include: [*.jar,*.aar], dir: libs) 表示app需要引用libs目录中的所有jar和aar     改了build.gradle之后右上角会有“Sync Now”需要点击 你的APP如果用到了别的aar、jar也都放到libs目录中来。 因为FMXNativeActivity在创建的时候会加载libEmptyDelphi.so这个文件     我们需要将它布署到library\lib\arm64-v8a目录中 先将libEmptyDelphi.so拷到安卓项目app\libs\arm64-v8a目录中 把这个so布署进去 编辑app模块中的build.gradle在android节点中加入 sourceSets { main { jniLibs.srcDirs  [libs] } } 如下图所示 好了在Android Studio中运行工程到手机     看看顶部状态栏它是蓝色的。 现在我们成功的用Android Studio将Delphi窗体打包进去了 其实就类似在Windows平台将Delphi窗体封装进DLL然后给C#调用来显示它们。 这么做有什么好处呢 1.集成aar方便稳定特别是遇到实在解决不了的闪退卡死等情况 如果Delphi APP引用了太多的aar我们不仅需要自己处理依赖包的下载、资源的合并编译R.jar除此之外经常会遇到闪退卡死等问题非常难排查 用Android Studio就不会有这种问题的产生直接在build.gradle中编辑好 Gradle插件直接帮你自动完成全部工作。 2.打包安卓应用快 当你的Delphi APP引用了太多了aar之后要布署相当多的资源文件用Delphi打包APK的过程就会显示相当的漫长我有一个项目打包一次在五分钟左右 而用Android Studio打包则一分钟都不到。     3.与安卓原生协同开发 你可以将你的工程编译为安卓链接库给原生java他们调用。 当然Delphi也可以使用Gradle插件来自动集成aar后面有时间整理好分享给大家。
http://www.hkea.cn/news/14414632/

相关文章:

  • 网站建设+设计那种连接线厂家网店运营推广具体内容
  • 有没有做衣服的网站吗传奇手游官网
  • 网站建设文化策划书免费推广方式都有哪些
  • 如何在网上建立自己的网站电商培训机构排名
  • 网站建设和维护本地wordpress
  • 铭誉摄影网站工业设计公司宣传语
  • 企业只有建立了自己的网站内容营销模式
  • 网站备案如何查询网站建设图片教程视频教程
  • 电商网站模板免费资源库最新版在线
  • 永兴网站开发wordpress最好的图片压缩
  • 番禺区网站设计南京网站设计公司有哪些公司
  • 快手等视频网站做推广贵州省冶金建设有限公司网站
  • 网站建设公司需要什么网站建设销售好做
  • 网站建设飠金手指科杰十二怎么自己做淘宝客网站吗
  • 龙岗南联网站建设做淘宝客导购网站
  • 织梦cms做视频网站flash做网站轮播图
  • 个人备案的网站视频号最新动作
  • 河南网站建设官网衡水做wap网站
  • 建设一个网站需要什么手续门户网站制作流程博客
  • 建设淘宝网站的意义网站开发盈亏平衡分析表
  • 手机主页哪个网站好网页的后台管理系统
  • 邯郸网站建设哪能做北京php网站建设
  • 清流县建设局网站通付盾 建设网站公司
  • 建设通网站原理网站优化方法
  • 学怎么做建筑标书哪个网站微网站设计
  • 怎么用ps做网站前台美工wordpress做直播网站
  • 郴州市宜章网站建设八年级信息做网站所用软件
  • 设计网站页面设计win7配置不能运行wordpress
  • 秦皇岛网站开发做建筑看那些网站
  • 软件定制开发网站建设小程序推广员好做吗