栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

移动端视觉SLAM学习笔记 (五) 参数设置

Java 更新时间:发布时间: 百科书网 趣学号

考虑到后续的各项参数,这里先把配置文件和参数设置界面做好,后面增加的参数就都可以添加进来了。

Android本身参数设置的框架,包括配置文件和设置界面,也就是PreferenceFragmentCompat。本来以前用的是PreferenceFragment,结果写代码的时候发现已经被androidx里的PreferenceFragmentCompat替换了,然后学习了下,用法差不多。

如上图,可以添加配置文件功能,会自动添加三个文件(根据你的命名):SettingsActivity.java、settings_activity.xml、root_preferences.xml。

        其中,root_preferences.xml就是所谓的配置文件,参数设置可以放在这里:



    

        

        
    

SettingsActivity.java文件中会SettingsFragment类会加载root_preferences.xml,其主类SettingsActivity继承AppCopatActivity可供程序作为Activity进行调用。

settings_activity.xml界面文件会调用SettingsFragment类:



    

由此,三部分组成了参数配置的基本功能,使用还是比较简单的,效果图如下:

为了动态获取手机相机支持的分辨率,在程序启动后读取相机分辨率列表,然后存到文件里,代码如下:

 public static class SettingsFragment extends PreferenceFragmentCompat {
        @Override
        public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
            setPreferencesFromResource(R.xml.root_preferences, rootKey);

            //图像分辨率列表,从相机设备读取参数存过来
            ListPreference listPreferenceCategory = (ListPreference) findPreference("ImageSize");
            if (listPreferenceCategory != null && mImageSizes.length > 0) {
                CharSequence entries[] = new String[mImageSizes.length];
                CharSequence entryValues[] = new String[mImageSizes.length];
                int i = 0;
                for (Size size : mImageSizes) {
                    entries[i] = size.toString();
                    entryValues[i] = Integer.toString(i);
                    i++;
                }
                listPreferenceCategory.setEntries(entries);
                listPreferenceCategory.setEntryValues(entryValues);
            }
        }
    }

 使用参数值的时候也比较简单,如下:

SharedPreferences preferences= PreferenceManager.getDefaultSharedPreferences(getContext());
String sCameraFocus = preferences.getString("camera_focus", "1.0");

干到这突然进行不下去了,如果修改分辨率需要重启相机,可是重启相机的过程出了很多问题,Surface释放、Camera释放,查了查网上Camera2相关的资源,找到的只有这个链接做到了修改分辨率:https://gitee.com/hugang2021/Camera/tree/master,但是对我来说改动有点大,不想改,不过查找的时候发现现在又出了个CameraX,据说使用简单方便,果断准备尝鲜(●ˇ∀ˇ●)。

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/956841.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号