私は何をするべきか分からないので、助けが必要です。私はJNIの初心者です。JavaおよびJNIグローバル変数
私は、Androidアプリケーションを開発することだし、それはespecificプロトコル(OpenIGTLink)を使用する必要があります。
このプロトコルを使用するには、私はCライブラリを使用します。問題は、接続を格納するためにグローバル変数を定義する必要があることです。あなたは、次の例で見ることができます:
igtl::ClientSocket::Pointer socket;
Java_es_iac_iactec_infraredsend_Comunicacion_OpenIGTLink_connect(
JNIEnv *env,
jobject mjobject,
jstring host,
jint port) {
socket = igtl::ClientSocket::New();
const char *chost = env->GetStringUTFChars(host, 0);
int r = socket->ConnectToServer(chost, port);
if (r != 0) {
return (jstring) "Cannot connect to the server.";
}
return (jstring) "ok";
}
てみませんか他の方法のiwant中:
Java_es_iac_iactec_infraredsend_Comunicacion_OpenIGTLink_send() {
igtl::ImageMessage::Pointer imgMsg = igtl::ImageMessage::New();
imgMsg->SetDimensions(size);
imgMsg->SetSpacing(spacing);
imgMsg->SetScalarType(scalarType);
imgMsg->SetDeviceName("ImagerClient");
imgMsg->SetSubVolume(svsize, svoffset);
imgMsg->AllocateScalars();
imgMsg->Pack();
socket->Send(imgMsg->GetPackPointer(), imgMsg->GetPackSize());
}
私はデ・ソケットオブジェクトを格納するためにJavaのグローバル変数を宣言する必要がある場合、私は知らないし、 JNIからアクセスするか、またはcppファイル内にグローバル変数のようなソケットを定義できるかどうかを調べます。
はすべて、私の英語のために残念に感謝します。
のようになります、あなたが何を言ってるのか知ることは困難です。 – EJP
お返事ありがとうございます。私は私のプロジェクトを説明しようとします。私はmovilカメラからOpenIGTLink画像を送っていきたいです。私は、C + +でコードをいくつかの画像をサーバーに送信するsdcardからです。今私はカマラから画像を送信したいので、私はカメラ画像をプレビューするためにSurfaceViewを持っています。私が考えているproccesは、Javaのフォームは、サーバーへの接続を確立するためにJNI関数を呼び出し、javaから画像を送信する別のJNI関数を呼び出します。 Thnakあなたは非常に! –