亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中怎么調用C的函數

發布時間:2021-06-24 15:56:26 來源:億速云 閱讀:413 作者:Leah 欄目:大數據

Android中怎么調用C的函數,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity">
   <TextView        android:id="@+id/sample_text"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Hello World!"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />
   <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="測試按鈕"        android:id="@+id/btncs"        android:onClick="btnclick"/></android.support.constraint.ConstraintLayout>

按鈕里面加上了onCLick的事件名稱為btnclick,我們通過Alt+Enter選擇在對應的Activity中創建這個按鈕事件。

Android中怎么調用C的函數

MainActivity.java

我們回到MainActivity中,其中原來默認的stringFromJni方法就是直接返回了一個字符串,到時候我們看一下源碼即可。

接下來我們來試一下帶參數的方法怎么實現。

我們新建了一個settextgood的方法,里面有一個輸入參數,和一個返回參數。

Android中怎么調用C的函數

可以看到,剛定義完的方法顯示為紅色字體,接下來我們鼠標放到方法名上,然后按ALT+ENTER,選擇下方紅框中的第一項

Android中怎么調用C的函數

程序會自動跳轉到native-lib.cpp的文件夾中創建了對應的調用方法

Android中怎么調用C的函數

接下來我們編寫這個settextgood的方法


extern "C"JNIEXPORT jstring JNICALLJava_dem_vac_vaccaendk_MainActivity_settextgood(JNIEnv *env, jobject instance, jstring str_) {    const char *str = env->GetStringUTFChars(str_, 0);
   //定義追加的字符    char * addstr=",我是追加的字符";    //定義要輸出的字符并設置長度    char * outputstr = new char[strlen(str)+strlen(addstr)];    //開始組裝輸出的字符    //1.傳入的字符拷貝進來    strcpy(outputstr,str);    //2.連接剛剛定義的追加字符    strcat(outputstr,addstr);
   //釋放資源    env->ReleaseStringUTFChars(str_, str);
   return env->NewStringUTF(outputstr);}

最后我們再重新寫了一按鈕事件,點擊進傳入一個“Hello”進去。

Android中怎么調用C的函數

我們運行一下程序看看

Android中怎么調用C的函數

剛進來時顯示Hello from C++,我們現在再點擊一下測試按鈕后看看結果

Android中怎么調用C的函數

看完上述內容,你們掌握 Android中怎么調用C的函數的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

都匀市| 新沂市| 定安县| 巧家县| 论坛| 宜良县| 綦江县| 永平县| 白朗县| 淮滨县| 奇台县| 曲靖市| 岫岩| 交口县| 南康市| 资中县| 哈巴河县| 大连市| 祁门县| 扶沟县| 东山县| 夹江县| 鲁山县| 凤凰县| 咸宁市| 垣曲县| 广西| 门源| 宿松县| 唐山市| 武强县| 石泉县| 宣恩县| 容城县| 嘉祥县| 临泉县| 罗平县| 翼城县| 永修县| 鹤峰县| 遵义市|