国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

公司的企業(yè)文化怎么寫微信搜一搜seo

公司的企業(yè)文化怎么寫,微信搜一搜seo,協(xié)會網(wǎng)站建設(shè)必要性,西安網(wǎng)站建設(shè)報價大家都知道Delphi能調(diào)用安卓SDK,比如jar、aar等, 但是反過來,能在Android Studio中調(diào)用Delphi開發(fā)的窗體嗎? 想想不太可能吧, Delphi用的是Pascal,Android Studio用的是Java,這兩個怎么能混用…

大家都知道Delphi能調(diào)用安卓SDK,比如jar、aar等,

但是反過來,能在Android Studio中調(diào)用Delphi開發(fā)的窗體嗎?

想想不太可能吧,

Delphi用的是Pascal,Android Studio用的是Java,這兩個怎么能混用呢?

而且用Delphi就能開發(fā)好APP,為啥還要用到Android Studio?

搞這個的人,得是有多閑!

就讓我這個閑得蛋疼的人來嘗試一下。

首先用Delphi建一個工程,

如下Delphi工程,

名為EmptyDelphi:

圖片

差不多是一個空的工程,就只有一個很簡單的窗體,上面放了按鈕,點擊彈出:

“Hello,我是Delphi窗體?!?? ?

圖片

圖片

將它在Android 64位平臺下Build一下,

會生成我們后面需要的文件,

它是Android64\Release目錄中的libEmptyDelphi.so,

so文件是安卓下的動態(tài)鏈接庫,

Delphi將工程的窗體和代碼都編譯到它里面了:?? ?

圖片

在手機(jī)上跑一下看看:?? ?

圖片

注意頂部狀態(tài)欄,是灰黑色的。

? ? ? ? ??

再用Android Studio來新建一個工程(簡單看看即可):?? ?

圖片

填入APP名稱、應(yīng)用包名等:

圖片

可以新建一個Activity來玩下原生開發(fā)(在安卓下的窗體叫Activity):?? ?

圖片

窗體名設(shè)置為MainActivity,

默認(rèn)勾上Generate a Layout File,表示新建一個窗體布局文件,就像Delphi中的窗體是一對.pas+.fmx文件,而安卓下窗體是一對.java+.xml文件,

如果勾上Launcher Activity,表示它是主窗體,程序一打開就顯示它,

如下圖所示:

圖片

?? ?

雙擊res\layout\activity_main.xml來在窗體上添加控件:

圖片

雙擊就能打開窗體設(shè)計器:?? ?

圖片

從左邊拖個按鈕進(jìn)去,這種可視化的方式和Delphi一樣:

圖片

如果建Activity的時候沒有勾上Launcher Activity,

那么需要編輯AndroidManifest.xml,

AndroidManifest.xml是安卓程序清單文件,里面登記著所有安卓窗體、服務(wù)等,

打開左邊manifests節(jié)點里面的AndroidManifest.xml進(jìn)行編輯:?? ?

圖片

在Activity節(jié)點里面加入如下XML節(jié)點,

表示它是一個主窗體,app一運行首先打開它,如下圖所示:?? ?

圖片

點擊下右上角的綠色小箭頭就能直接運行在手機(jī)上:

圖片

效果如下圖所示:?? ?

圖片

?? ?

? ? ? ? ??

? ? ? ? ??

接下來把Delphi開發(fā)的窗體集成進(jìn)來作為主窗體:

要想在安卓應(yīng)用中打開頁面,就需要在AndroidManifest.xml中注冊一個Activity,

那么我們Delphi開發(fā)的窗體有Activity嗎?

它叫什么呢?

我們可以打開Android64\Release\AndroidManifest.xml找到答案:

(或者工程目錄中的AndroidManifest.template.xml中)

圖片

?? ?

圖片

如上圖,Delphi開發(fā)的窗體Activity為com.embarcadero.firemonkey.FMXNativeActivity,它是固定的,只是其中meta-data節(jié)點中的value值會變,是需要一個動態(tài)庫文件名,為工程名稱。

那我們把這一段復(fù)制到Android Studio工程中的AndroidManifest.xml中去:

并把Android Studio工程中原來的MainActivity注釋掉:

圖片

但是可以看到我們Delphi的FMXNativeActivity粘到Android Studio中之后,

都標(biāo)紅了,應(yīng)該是出錯了,鼠標(biāo)移上去,? ??

提示“Class referenced in the manifest,com.embarcadero.firemonkey.FMXNativeActivity was not found in the project or the libraries”,

意思是在工程或庫中不存在這個FMXNativeActivity,

那它在哪里?

答案是fmx.jar。

Delphi開發(fā)的app需要使用fmx.jar來實現(xiàn)一些底層的安卓功能,

我們平??梢栽贒elphi 工程視圖中Android平臺下的Libraries節(jié)點中看到它:

圖片

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,它是安卓應(yīng)用的打包配置文件:

圖片

編輯它,在它的dependencies(依賴)中加入如下一行,

implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')

表示app需要引用libs目錄中的所有jar和aar:?? ?

圖片

改了build.gradle之后,右上角會有“Sync Now”,需要點擊:

圖片

你的APP如果用到了別的aar、jar也都放到libs目錄中來。

圖片

因為FMXNativeActivity在創(chuàng)建的時候會加載libEmptyDelphi.so這個文件,? ??

我們需要將它布署到library\lib\arm64-v8a目錄中,

先將libEmptyDelphi.so拷到安卓項目app\libs\arm64-v8a目錄中,

圖片

把這個so布署進(jìn)去,

編輯app模塊中的build.gradle,在android節(jié)點中加入:

????sourceSets?{

????????main?{

????????????jniLibs.srcDirs?= ['libs']

????????}

}

如下圖所示:

圖片

? ? ? ? ???? ?

好了,在Android Studio中運行工程到手機(jī):?? ?

圖片

?? ?

看看頂部狀態(tài)欄,它是藍(lán)色的。

現(xiàn)在我們成功的用Android Studio將Delphi窗體打包進(jìn)去了,

其實就類似在Windows平臺將Delphi窗體封裝進(jìn)DLL,然后給C#調(diào)用來顯示它們。

這么做有什么好處呢?

1.集成aar方便穩(wěn)定,特別是遇到實在解決不了的閃退卡死等情況

如果Delphi APP引用了太多的aar,我們不僅需要自己處理依賴包的下載、資源的合并,編譯R.jar,除此之外經(jīng)常會遇到閃退卡死等問題,非常難排查,

用Android Studio就不會有這種問題的產(chǎn)生,直接在build.gradle中編輯好:

圖片

Gradle插件直接幫你自動完成全部工作。

? ? ? ? ??

2.打包安卓應(yīng)用快

當(dāng)你的Delphi APP引用了太多了aar之后,要布署相當(dāng)多的資源文件,用Delphi打包APK的過程就會顯示相當(dāng)?shù)穆L,我有一個項目打包一次在五分鐘左右,

而用Android Studio打包,則一分鐘都不到。?? ?

? ? ? ? ??

3.與安卓原生協(xié)同開發(fā)

你可以將你的工程編譯為安卓鏈接庫給原生java他們調(diào)用。

? ? ? ? ??

當(dāng)然Delphi也可以使用Gradle插件來自動集成aar,后面有時間整理好分享給大家。

? ? ? ? ??

http://m.aloenet.com.cn/news/39170.html

相關(guān)文章:

  • 做的好的微信商城網(wǎng)站什么是seo推廣
  • 網(wǎng)站的后臺是開發(fā)做的八零云自助建站免費建站平臺
  • 做網(wǎng)站python和php哪個好學(xué)百度推廣怎么弄
  • 深圳 汽車網(wǎng)站建設(shè)百度網(wǎng)站首頁提交入口
  • seo診斷服務(wù)優(yōu)化什么
  • 中國哪些網(wǎng)站做軟裝seo廠商
  • 四川疫情最新消息今天優(yōu)化服務(wù)
  • 網(wǎng)站設(shè)計建設(shè)定制中國搜索引擎市場份額
  • 網(wǎng)站建設(shè)策劃方案如何寫愛站網(wǎng)關(guān)鍵詞查詢網(wǎng)站的工具
  • 新媒體營銷策略有哪些百度推廣優(yōu)化中心
  • 備案通過后 添加網(wǎng)站谷歌瀏覽器下載手機(jī)版安卓
  • 網(wǎng)站界面用什么做廈門百度推廣排名優(yōu)化
  • 高端的網(wǎng)站建設(shè)百度seo有用嗎
  • 造價咨詢公司加盟分公司上海百度搜索排名優(yōu)化
  • 鄭州企業(yè)建站模板河南疫情最新消息
  • google 垃圾網(wǎng)站推廣軟文300字范文
  • 做網(wǎng)站自己租服務(wù)器還是網(wǎng)絡(luò)公司如何發(fā)布自己的廣告
  • 建設(shè)網(wǎng)站的好處百度云服務(wù)器
  • 做宣傳網(wǎng)站需要多少錢附近電商培訓(xùn)班
  • 常用企業(yè)網(wǎng)站模板對比廣告聯(lián)盟下載app
  • 下載了網(wǎng)站建設(shè)asp深圳seo排名優(yōu)化
  • 怎樣搜網(wǎng)站seo工作流程
  • 清遠(yuǎn)做網(wǎng)站哪家好百度百家官網(wǎng)入口
  • 熊掌號網(wǎng)站怎么做百度的網(wǎng)頁地址
  • 上海網(wǎng)站制作軟件外鏈交易平臺
  • 攝影網(wǎng)站的規(guī)劃與設(shè)計seo網(wǎng)站排名查詢
  • 靜海區(qū)網(wǎng)站建設(shè)推廣老域名購買
  • 國內(nèi)優(yōu)秀網(wǎng)站網(wǎng)絡(luò)營銷專業(yè)是學(xué)什么的
  • 牛商網(wǎng)做的網(wǎng)站如何中國互聯(lián)網(wǎng)電視app下載安裝
  • 有個印度做網(wǎng)站的天天找我重慶網(wǎng)站開發(fā)公司