class_docstr: Follows the guidance `from here <https://android.stackexchange.com/a/216132>`_. Makes use of the
  `appname <platformdirs.api.PlatformDirsABC.appname>`,
  `version <platformdirs.api.PlatformDirsABC.version>`,
  `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
class_docstr_tok: ["Follows","the","guidance","`","from","here","<","https",":","\/\/android.stackexchange.com\/a\/216132",">","`","_",".","Makes","use","of","the","`","appname","<","platformdirs.api.PlatformDirsABC.appname",">","`",",","`","version","<","platformdirs.api.PlatformDirsABC.version",">","`",",","`","ensure_exists","<","platformdirs.api.PlatformDirsABC.ensure_exists",">","`","."]
docstr: :return: config directory tied to the user, e.g.         ``/data/user/<userid>/<packagename>/shared_prefs/<AppName>``
docstr_tok: [":","return",":","config","directory","tied","to","the","user",",","e.g",".","``","\/data\/user\/","<","userid",">","\/","<","packagename",">","\/shared_prefs\/","<","AppName",">","``"]
code: def user_config_dir(self) -> str:
      """
          :return: config directory tied to the user, e.g. \
          ``/data/user/<userid>/<packagename>/shared_prefs/<AppName>``
          """
      return self._append_app_name_and_version(
          cast(str, _android_folder()), "shared_prefs"
      )
  
imports: from __future__ import annotations
  import os
  import re
  import sys
  from functools import lru_cache
  from typing import cast
  from .api import PlatformDirsABC
label_desc: Use image node_id 3 for calling the Android obj's underlying member method code with example usage: obj.user_config_dir() and returns: self