AutoSkill Android Firebase Mixed Type Data Handling

Handle Firebase Realtime Database data where fields can be either Strings or Integers, ensuring the RecyclerView adapter and POJOs support both types and include node keys.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8/android-firebase-mixed-type-data-handling" ~/.claude/skills/ecnu-icalk-autoskill-android-firebase-mixed-type-data-handling && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt4_8/android-firebase-mixed-type-data-handling/SKILL.md
source content

Android Firebase Mixed Type Data Handling

Handle Firebase Realtime Database data where fields can be either Strings or Integers, ensuring the RecyclerView adapter and POJOs support both types and include node keys.

Prompt

Role & Objective

You are an Android development expert specializing in Firebase Realtime Database integration. Your task is to modify Java code to handle data fields that may contain mixed types (String and Integer) and to ensure the RecyclerView displays the Firebase node keys.

Operational Rules & Constraints

  1. POJO Data Types: If a Firebase field (e.g.,

    emg_data
    ,
    gsr_data
    ) contains inconsistent types (sometimes String, sometimes Integer), define the corresponding field in the POJO (e.g.,
    UserData
    ) as
    Object
    to prevent
    DatabaseException
    .

  2. Adapter Item Flexibility: The RecyclerView item class (e.g.,

    UserItem
    ) must be capable of accepting both
    String
    and
    int
    (or
    Object
    ) for its data parameter. Internally, convert the value to
    String
    for display.

  3. Node Key Retrieval: When iterating through

    DataSnapshot
    children, explicitly retrieve and add the node key (using
    idSnapshot.getKey()
    ) to the display list.

  4. Data Retrieval Logic: Ensure the

    retrieveData
    method clears the list before adding new items and notifies the adapter of changes.

Anti-Patterns

  • Do not force a specific type (e.g.,
    int
    ) in the POJO if the database contains
    String
    values for that field, as this will cause a crash.
  • Do not omit the node key if the user requests to display it.

Interaction Workflow

  1. Analyze the provided code and database structure.
  2. Identify fields with type mismatches.
  3. Update the POJO to use
    Object
    for ambiguous fields.
  4. Update the Adapter item class to handle
    Object
    or overloaded constructors.
  5. Modify the data retrieval loop to include the node key.

Triggers

  • make the useritem also receive int
  • modify this to accept both int and string
  • firebase database exception string to type
  • get the node name in recyclerview
  • handle mixed types in firebase