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

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

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


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是一個類,在JAVA中非常常用,和C++交互也很常用.QT封裝了他,只需要調(diào)用:
QAndroidJniObject::fromString("字符串");


返回一個String對象,使用的時候JNI識別jstring,需要強制轉(zhuǎn)換:
對象.object());??轉(zhuǎn)換成jstring
QtAndroid::androidActivity()??
QtAndroid::androidActivity()?返回當(dāng)前安卓層的Activity對象。
調(diào)用動態(tài)對象的動態(tài)方法:
對象.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對象,然后調(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)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

在嵌入式系統(tǒng)開發(fā)領(lǐng)域,Qt憑借其跨平臺特性、豐富的GUI組件和高效的開發(fā)框架,成為構(gòu)建交互式界面的首選工具之一。對于嵌入式工程師而言,掌握Qt不僅能提升開發(fā)效率,更能為智能設(shè)備、工業(yè)控制、汽車電子等領(lǐng)域的產(chǎn)品帶來更優(yōu)質(zhì)的...

關(guān)鍵字: 嵌入式 QT

在嵌入式系統(tǒng)開發(fā)領(lǐng)域,Qt憑借其跨平臺特性和豐富的功能庫,已成為構(gòu)建高性能圖形用戶界面(GUI)的首選工具之一。對于嵌入式工程師而言,掌握Qt的多種開發(fā)方式不僅能提升開發(fā)效率,還能增強對復(fù)雜嵌入式系統(tǒng)的控制能力。

關(guān)鍵字: 嵌入式系統(tǒng) QT

在嵌入式Linux圖形界面開發(fā)中,Qt框架憑借其跨平臺特性與豐富的組件庫成為首選方案。其核心的信號槽機制為對象間通信提供了高效解耦方案,但在資源受限的嵌入式場景中,不當(dāng)使用可能導(dǎo)致性能瓶頸。本文從機制原理出發(fā),結(jié)合典型場...

關(guān)鍵字: QT 嵌入式Linux 信號槽

隨著數(shù)字孿生技術(shù)的發(fā)展 , 三維模型的顯示與控制技術(shù)應(yīng)用需求 日益迫切 , 當(dāng)前在嵌入式環(huán)境下實現(xiàn)復(fù)雜模型的三維顯示與控制仍存在渲染效率低 、交互控制復(fù)雜 、控制延遲高 、可移植性差等問題 。針對上述問題 ,提出了一種基...

關(guān)鍵字: 0SG QT 三維可視化 模型交互控制 RK3588平臺

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

關(guān)鍵字: QT RTOS

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

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

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

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

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

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

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

關(guān)鍵字: python java

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

關(guān)鍵字: javascript java
關(guān)閉