日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 充電吧
[導(dǎo)讀]數(shù)據(jù)類型簽名對(duì)照表: jobject Ljava/lang/Object; jclass Ljava/lang/Class; jstring Ljava/lang/String; jthro

數(shù)據(jù)類型簽名對(duì)照表:


jobject
Ljava/lang/Object;

jclass
Ljava/lang/Class;

jstring
Ljava/lang/String;

jthrowable
Ljava/lang/Throwable;

jobjectArray
[Ljava/lang/Object;

jarray
[jbooleanArray
[Z

jbyteArray
[B

jcharArray
[C
jshortArray
[S

jintArray
[I

jlongArray
[J

jfloatArray
[F

jdoubleArray
[D

Primitive?Types


jboolean
Z

jbyte
B

jchar
C

jshort
S

jint
I
jlong
J

jfloat
F

jdouble
D


void
V
Custom?type
L;
JAVA中的String
String是一個(gè)類,在JAVA中非常常用,和C++交互也很常用.QT封裝了他,只需要調(diào)用:
QAndroidJniObject::fromString("字符串");


返回一個(gè)String對(duì)象,使用的時(shí)候JNI識(shí)別jstring,需要強(qiáng)制轉(zhuǎn)換:
對(duì)象.object());??轉(zhuǎn)換成jstring
QtAndroid::androidActivity()??
QtAndroid::androidActivity()?返回當(dāng)前安卓層的Activity對(duì)象。
調(diào)用動(dòng)態(tài)對(duì)象的動(dòng)態(tài)方法:
對(duì)象.callMethod("方法名","參數(shù)類型簽名",參數(shù))

例子:調(diào)用安卓窗口中封裝的Toask函數(shù)。

//JAVA層
public?class?QtActivity?extends?Activity
{
....
...
..
void??QMessage(String?s)
????{
????????Toast??toast?=??Toast.makeText(this,?s,?500);
????????toast.show();

????}

}
//C++調(diào)用
?void?MyJni::QMessage(QString?s)
?{

?????QtAndroid::runOnAndroidThread([=](){


?????????QAndroidJniEnvironment???EV;
??????????QAndroidJniObject?activity?=QtAndroid::androidActivity();
?????????QAndroidJniObject?str?=QAndroidJniObject::fromString(s);
??????????activity.callMethod("QMessage","(Ljava/lang/String;)V",str.object());
??????????qDebug()<<"WAIT*****END";

?????});

?}

或使用靜態(tài)方法獲取java對(duì)象,然后調(diào)用之:

c++:
?void?MyJni::QMessage(QString?s)
?{
?????QtAndroid::runOnAndroidThread([=](){?
?????????QAndroidJniEnvironment???EV;
?????????QAndroidJniObject?str?=QAndroidJniObject::fromString(s);
??????????QAndroidJniObject?selfobj?=?QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/bindings/QtActivity",?"getobj");
??????????selfobj.callMethod("QMessage","(Ljava/lang/String;)V",str.object());

?????});

?}
JAVA:
?public?static?QtActivity?selfObj?=null;
????public?QtActivity()
????{
????????selfObj?=?this;
????????m_loader?=?new?QtActivityLoader(this);
????????if?(Build.VERSION.SDK_INT?>=?21)?{
????????????QT_ANDROID_THEMES?=?new?String[]?{"Theme_Holo_Light"};
????????????QT_ANDROID_DEFAULT_THEME?=?"Theme_Holo_Light";
????????}?else?{
????????????QT_ANDROID_THEMES?=?new?String[]?{"Theme_DeviceDefault_Light"};
????????????QT_ANDROID_DEFAULT_THEME?=?"Theme_DeviceDefault_Light";
????????}
????}
public??static??Object?getobj(){
????????return?selfObj;
????}
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

Qt是一款由Qt公司(前身為T(mén)rolltech)開(kāi)發(fā)的跨平臺(tái)應(yīng)用程序框架。它提供了豐富的功能,包括圖形用戶界面、數(shù)據(jù)庫(kù)操作、網(wǎng)絡(luò)通信等,使得開(kāi)發(fā)者能夠更加便捷地創(chuàng)建高質(zhì)量、可移植性強(qiáng)的應(yīng)用程序。Qt采用C++編寫(xiě),同時(shí)也...

關(guān)鍵字: QT RTOS

Python和Java是兩種廣泛應(yīng)用于編程領(lǐng)域的高級(jí)編程語(yǔ)言,它們各有優(yōu)劣。本文從程序設(shè)計(jì)應(yīng)用、系統(tǒng)資源占用、高性能處理和語(yǔ)言特點(diǎn)等四方面詳細(xì)介紹兩種編程語(yǔ)言的區(qū)別。

關(guān)鍵字: python java 高性能處理

在這篇文章中,小編將為大家?guī)?lái)Java接口的相關(guān)報(bào)道。如果你對(duì)本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: java 接口 Interface

應(yīng)該有不少小伙伴有假期打工的經(jīng)歷,那今天就來(lái)給公眾號(hào)的讀者朋友們分享一個(gè)二哥編程星球里一個(gè)球友在富士康打工 50 天的感受,相信大家看完后會(huì)深深觸動(dòng)的。

關(guān)鍵字: 物聯(lián)網(wǎng) java 博客

在過(guò)去的幾年中,Python的普及速度令人驚嘆,Java的王者地位也常年不衰。目前兩者的競(jìng)爭(zhēng)愈發(fā)激烈,怎么選擇成為了許多初學(xué)者縈繞心中的問(wèn)題,網(wǎng)上有很多版本的說(shuō)法牽引著他們的思維,讓本來(lái)很簡(jiǎn)單的問(wèn)題復(fù)雜化。

關(guān)鍵字: python java

我們都知道,瀏覽一個(gè)網(wǎng)頁(yè),有兩個(gè)很主要的“電腦”在共同運(yùn)行,一臺(tái)是遠(yuǎn)程的,為你提供網(wǎng)頁(yè)數(shù)據(jù)的“服務(wù)器”,一臺(tái)是你正在使用的客戶端電腦。

關(guān)鍵字: javascript java

在各種網(wǎng)頁(yè)制作技術(shù)論壇中,常常有人詢問(wèn)javascript與Java有什么區(qū)別,甚至有人誤認(rèn)為javascript就是Java。javascript與Java確實(shí)有一定的聯(lián)系,但它們并不像我們想象的那樣聯(lián)系緊密,甚至可以...

關(guān)鍵字: javascript java

對(duì)于很多初學(xué)者來(lái)講,不太清楚Java和C語(yǔ)言的區(qū)別,為了讓那個(gè)大家更清晰的了解,近日特意給大家歸納了一些兩者的大致區(qū)別,希望能夠給大家?guī)?lái)一定的幫助作用,也歡迎大家進(jìn)行詳細(xì)補(bǔ)充和歸納。

關(guān)鍵字: C語(yǔ)言 java

摘 要 :為解決制鞋行業(yè)中噴膠精度不高、靈活性差、生產(chǎn)效率低的問(wèn)題,設(shè)計(jì)一種基于機(jī)器視覺(jué)的鞋模噴膠系統(tǒng)。該系統(tǒng)硬件由工業(yè)攝像頭、工控機(jī)及路由器構(gòu)成,軟件則采用圖像識(shí)別庫(kù) OpenCV 與圖形界面應(yīng)用程序開(kāi)發(fā)框架 Qt 編...

關(guān)鍵字: 機(jī)器視覺(jué) 圖像處理 鞋模 噴膠 OpenCV QT

Java封裝案例

關(guān)鍵字: java 實(shí)例
關(guān)閉