小编Viv*_*and的帖子

检查共享首选项中是否存在密钥

我正在创建共享首选项,如下所示

preferences = getSharedPreferences("text", 0);
final Editor editor = preferences.edit();

String s1 = serverIP.getText().toString();
String s2 = serverPort.getText().toString();
String s3 = syncPass.getText().toString();
String s4 = proxyServer.getText().toString();
String s5 = proxyPort.getText().toString();

editor.putString("SERVERIP", s1);
editor.putString("SERVERPORT", s2);
editor.putString("SYNCPASS", s3);
editor.putString("PROXYSERVER", s3);
editor.putString("PROXYPORT", s3);
Run Code Online (Sandbox Code Playgroud)

和onCreate我想在一组新的TextViews中显示值,但是第一次我没有在共享首选项中存储任何值,并且会得到一个NULL指针异常.

我想知道是否有任何内置方法可以检查SharedPreferences是否包含任何值,以便我可以检查密钥是否存在,如果不存在,则将新的TextViews集替换为首选项值.

android sharedpreferences

42
推荐指数
3
解决办法
6万
查看次数

导出的(Eclipse)可执行jar文件中的UnsatisfiedLinkError

从Eclipse执行时,代码工作正常.我正在使用OpenCV 2.4.11和JavaFX for UI.当我从Eclipse导出可执行Jar并从cmd运行它时,我得到以下异常:

在此输入图像描述

我跟很多张贴在这里的SO和OpenCV论坛(1,2,3,4),但是,没有一个答案似乎帮助我.

我已经将OpenCV jar添加为库,而Native Library链接到/ build/java/x64,如SO答案中所建议的那样.

Java构建路径

发生在的System.loadLibrary(Core.Native_Library_Name)例外,我查了Native_Library_Name和OpenCV的版本是一样的一个我在我的项目进口.

public class CustomFrame extends Application{

    @Override
    public void start(Stage primaryStage){
        Group root = new Group();
        Canvas canvas = new Canvas(1440, 840);

        ImageView imageView = new ImageView();
        imageView.setFitHeight(canvas.getHeight());
        imageView.setFitWidth(canvas.getWidth());
        new FrameController().startCamera(imageView);

        root.getChildren().addAll(imageView, canvas);
        primaryStage.setScene(new Scene(root));
        primaryStage.show();
    }

    public static void main(String[] args)
    {
        // load the native OpenCV library
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果有人认为我错过了什么,请告诉我.

java eclipse opencv javafx executable-jar

6
推荐指数
1
解决办法
2158
查看次数