小编Drk*_*Str的帖子

在SQLite数据库中搜索文本 - Android

我有一个包含6列的数据库,其中2列是文本格式.当用户输入字符串时,我想在2个文本列中搜索字符串并返回行.这是我提出的代码:

mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE, KEY_DATE}, 
                                        KEY_BODY + " LIKE '"+search_text+"%' OR "
                                      + KEY_TITLE + " LIKE '"+search_text+"%'" , 
                                        null, null, null,KEY_DATE_INT + " DESC");
Run Code Online (Sandbox Code Playgroud)

我确信这可以转化为

Select KEY_ROWID, KEY_TITLE, KEY_DATE from DATABASE_TABLE where {(KEY_BODY LIKE 'search_text') OR (KEY_BODY LIKE 'search_text')}   
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,这只搜索列的第一个单词.例如,如果列中的文本是"This is a test"并且搜索字符串是"test",则查询将不返回该行.如果搜索文本是"this",它将返回该行.

我做错了什么,是否有更好的方法在Android中的SQLite数据库中实现文本搜索.

sqlite android

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

ListFragment中的分隔线颜色

我正在尝试更改列表框中分隔符的颜色.我有这条线

getListView().setDivider(new ColorDrawable(Color.BLUE));
Run Code Online (Sandbox Code Playgroud)

在我的onActivityCreated(Bundle savedInstanceState).IT使分隔线消失.有谁知道这是为什么?以及我如何使分频器改变颜色.

PS:我知道这不是一个大问题,但它让我疯了,如果可能的话就像改变颜色一样.

android

0
推荐指数
1
解决办法
2132
查看次数

OnBackPressedCallback 中的 NavController 出现问题

does not have a NavController set在 OnBackPressedCallback 中遇到错误。这是代码

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {

    fragmentView = inflater.inflate(R.layout.patient_info_fragment, container, false)

    if(Utils.connectedToInternet()){
        fragmentView.pastScreeningsButton.visibility = View.GONE
    }

    requireActivity().onBackPressedDispatcher.addCallback(object : OnBackPressedCallback(true) {
        override fun handleOnBackPressed() {
                Navigation.findNavController(fragmentView).navigate(R.id.action_patientInfoFragment_to_patientsList)
        }
    })
    setHasOptionsMenu(true)


    return fragmentView
}
Run Code Online (Sandbox Code Playgroud)

当我回到实现它的片段时,我只会收到这个错误。

android:name="androidx.navigation.fragment.NavHostFragment"在家庭片段中。

澄清一下,我正在使用导航控制器围绕我的应用程序进行所有导航,并且效果很好。我只在这个内部得到这个错误,OnBackPressedCallback并且只有当用户导航回实现它的片段时。

如果您需要查看我的更多代码,请告诉我。

android kotlin android-architecture-components android-navigation-editor

0
推荐指数
1
解决办法
1364
查看次数

在 Android 中使用 OpenCV 的问题

我使用A Beginner's Guide to Setting up OpenCV Android Library on Android Studio作为在 Android Studio 项目中设置 OpenCV 的指南。我有项目要在我的手机上构建和安装,但我没有从相机获取视频(这JavaCameraView是空的)。

主要问题似乎是 OpenCV 管理器已从 Google Play 商店中撤出。:,(

我已经尝试过this SO question中的解决方案来尝试使用opencv而无需将其从Play商店中取出,但这也无济于事。

我拥有在我的应用程序上使用相机所需的所有权限。

我的代码与初学者指南教程中的代码非常相似,但如果您需要查看我的更多代码,请告诉我。

我的简历:

public override fun onResume() {
    super.onResume()
    if (!OpenCVLoader.initDebug()) {
        OpenCVLoader.initDebug()
    }
    loaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS)
}
Run Code Online (Sandbox Code Playgroud)

基本负载回调:

private val loaderCallback = object : BaseLoaderCallback(this) {
    override fun onManagerConnected(status: Int) {
        when (status) {
            LoaderCallbackInterface.SUCCESS -> {
                Log.i(TAG, "OpenCV loaded successfully")
                opencv_camera_view.enableView()
                opencv_camera_view.setOnTouchListener(this@MainActivity)
            }
            else -> {
                super.onManagerConnected(status) …
Run Code Online (Sandbox Code Playgroud)

android opencv kotlin

0
推荐指数
1
解决办法
2334
查看次数

在 terraform 中使用 for_each 时缺少资源实例键

我正在 terraform 中使用 for_each 创建多个 s3 存储桶。这是我正在使用的代码

\n
resource "aws_s3_bucket" "s3_private" {\n  for_each = var.git_repo_branch_env\n  bucket   = each.value.override_domain_name == "" ?  each.value.sitename_prefix == "" ? each.value.domain_name : join(".", [each.value.sitename_prefix, each.value.domain_name]) : each.value.sitename_prefix == ""  ? each.value.override_domain_name : join(".", [each.value.sitename_prefix, each.value.override_domain_name])\n  force_destroy = true\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我想为创建的每个存储桶设置 ACL 属性,这是我尝试使用的代码

\n
resource "aws_s3_bucket_acl" "s3_private_acl" {\n  bucket = aws_s3_bucket.s3_private.bucket\n  acl    = "private"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我收到以下错误消息

\n
\n

\xe2\x94\x82 错误:缺少资源实例密钥 \xe2\x94\x82 \xe2\x94\x82 位于\n../../modules/cloudfront-edge-auth-acp/main.tf 第 149 行,位于resources\n"aws_s3_bucket_acl" "s3_private_acl": \xe2\x94\x82 149: bucket =\naws_s3_bucket.s3_private.bucket \xe2\x94\x82 \xe2\x94\x82 因为 aws_s3_bucket.s3_private\n 设置了 …

terraform terraform-provider-aws

0
推荐指数
1
解决办法
1365
查看次数

检查 Dart 中的 String 容器是否是一组 Symbol 中的任何一个

我想检查一个字符串是否包含以下任何符号 ^ $ * 。[ ] { } ( ) ? - " !@#% & / \ , > < ' : ; | _ ~ ` + =

我尝试使用以下内容

string.contains(RegExp(r'[^$*.[]{}()?-"!@#%&/\,><:;_~`+=]'))
Run Code Online (Sandbox Code Playgroud)

但这似乎没有任何作用。我也无法添加'符号。

问题:

  1. 如何检查字符串是否包含一组符号中的任何一个?
  2. 如何'在我的正则表达式集合中添加符号?

dart

0
推荐指数
1
解决办法
2743
查看次数