java代码:public class SipMessage { public String serverIp;
public String username;
public String password;
}在activity上有三个输入框分别对应上边三个属性,输入(英文)完成后,点击一个按钮,触发native方法register()
JNIEXPORT void JNICALL Java_com_sxsexe_study_SipUIActivity_register
(JNIEnv *env, jobject obj, jobject message)
{
//printf("!!!!!!!!!!!!!!!!!!! -----------------------!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
LOGD("Register method in C has been invoked-----"); jclass clazz = (*env)->GetObjectClass(env, message);
jfieldID field_server_ip = (*env)->GetFieldID(env, clazz, "serverIp", "Ljava/lang/String;");
jfieldID field_username = (*env)->GetFieldID(env, clazz, "username", "Ljava/lang/String;");
jfieldID field_password = (*env)->GetFieldID(env, clazz, "password", "Ljava/lang/String;"); jstring str_server_ip = (*env)->GetObjectField(env, message, field_server_ip);
jstring str_username = (*env)->GetObjectField(env, message, field_username);
jstring str_password = (*env)->GetObjectField(env, message, field_password); __android_log_print(ANDROID_LOG_DEBUG,"sever ip","serveri ip is %s",str_server_ip);
__android_log_print(ANDROID_LOG_DEBUG,"username","username is %s",str_username);
__android_log_print(ANDROID_LOG_DEBUG,"password","password is %s",str_password); }结果输出显示成小方块了,如下:
03-01 08:03:58.502: D/sever ip(925): serveri ip is ??
03-01 08:03:58.502: D/username(925): username is ??
03-01 08:03:58.513: D/password(925): password is ??在eclipse的logcat窗口中就显示成了小方块儿有没有人可以解释一下是什么情况注:操作系统是中文的,Eclipse下编码格式为UTF-8
public String username;
public String password;
}在activity上有三个输入框分别对应上边三个属性,输入(英文)完成后,点击一个按钮,触发native方法register()
JNIEXPORT void JNICALL Java_com_sxsexe_study_SipUIActivity_register
(JNIEnv *env, jobject obj, jobject message)
{
//printf("!!!!!!!!!!!!!!!!!!! -----------------------!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
LOGD("Register method in C has been invoked-----"); jclass clazz = (*env)->GetObjectClass(env, message);
jfieldID field_server_ip = (*env)->GetFieldID(env, clazz, "serverIp", "Ljava/lang/String;");
jfieldID field_username = (*env)->GetFieldID(env, clazz, "username", "Ljava/lang/String;");
jfieldID field_password = (*env)->GetFieldID(env, clazz, "password", "Ljava/lang/String;"); jstring str_server_ip = (*env)->GetObjectField(env, message, field_server_ip);
jstring str_username = (*env)->GetObjectField(env, message, field_username);
jstring str_password = (*env)->GetObjectField(env, message, field_password); __android_log_print(ANDROID_LOG_DEBUG,"sever ip","serveri ip is %s",str_server_ip);
__android_log_print(ANDROID_LOG_DEBUG,"username","username is %s",str_username);
__android_log_print(ANDROID_LOG_DEBUG,"password","password is %s",str_password); }结果输出显示成小方块了,如下:
03-01 08:03:58.502: D/sever ip(925): serveri ip is ??
03-01 08:03:58.502: D/username(925): username is ??
03-01 08:03:58.513: D/password(925): password is ??在eclipse的logcat窗口中就显示成了小方块儿有没有人可以解释一下是什么情况注:操作系统是中文的,Eclipse下编码格式为UTF-8
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货