Android NDK Practical Learning-java End Object member assignment and get object member values

Source: Internet
Author: User

1, for Java End Class and interface definition, please refer to:

Android NDK Practical Learning-get Java-side classes and their class variables

2. Assign values to the passed parameters:

    • Assigning values to bool type members

Env->setbooleanfield (Jobj, Jfbdata, false);

    • Assign a value to a double type member

Env->setdoublefield (Jobj, Jfddata, 209.22);

    • assigning values to an int type member

Env->setintfield (Jobj, Jfidata, 3653);

    • Assigning a member of type byte to a value

Env->setbytefield (Jobj, Jfcdata, );

    • To assign a value to a string type

Char data[] = "4611354"; Env->setobjectfield (jobj, Jfsdata, Env->newstringutf (data));

    • Assigning values to a primitive type array type
1      //get int array assignment in Java2Jintarray Jint_arr = (jintarray) env->Getobjectfield (Jobj, Jiarr);3     intarrint[Ten] = {0};4      for(inti =0; I <Ten; ++i) {5Arrint[i] = -+i;6     }7Env->setintarrayregion (Jint_arr,0,Ten, arrint);8 9     //get a byte array assignment in JavaTenJfieldid Jbytearr = Env->getfieldid (Jcsetdatamgr,"Bytearr","[B"); One      Chararrbyte[Ten] ="20200825"; AJbytearray Jbyte_arr = (jbytearray) env->Getobjectfield (Jobj, Jbytearr); -Env->setbytearrayregion (Jbyte_arr,0,8, (ConstSignedChar*) arrbyte);

3, gets the value of the member variable:

    • Gets the bool type member variable value
bool bdata = Env->getbooleanfield (Jcsetdatamgr, jfbdata);
    • Gets the value of a double type member variable
double dData = Env->getdoublefield (Jcsetdatamgr, jfddata);
    • get int type member variable value
int iData = Env->getintfield (Jcsetdatamgr, jfidata);
    • Gets the byte type member variable value
char cData = Env->getbytefield (Jcsetdatamgr, jfcdata);
    • Get string member Variable value
1Jfieldid jfsdata = Env->getfieldid (Jcsetdatamgr,"SData","ljava/lang/string;");2Jstring jteststr = (jstring) (env->Getobjectfield (Jcsetdatamgr, Jfsdata));3 Const Char* Teststr = env->Getstringutfchars (Jteststr, NULL);4 Chartestdata[ -] = {0};5 strcpy (TestData, teststr);6Env->releasestringutfchars (Jteststr, TESTSTR);
    • Get the base type array member variable value
1Jfieldid Jiarr = Env->getfieldid (Jcsetdatamgr,"Intarr","[I");2     if(NULL = =Jiarr) {3Debug_out ("Jfbdata fail!");4     }5 6     //gets the object of the array property arrays in Java7Jintarray Jint_arr = (jintarray) env->Getobjectfield (Jobj, Jiarr);8 9     intarrint[Ten] = {0};Ten      for(inti =0; I <Ten; ++i) { OneArrint[i] = -+i; A     } -Env->getintarrayregion (Jint_arr,0,Ten, Arrint);

4, about the class contains the class can be followed by analogy, such as useful to, after the next perfect!

Android NDK Practical Learning-java End Object member assignment and get object member values

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.