在 android 中保存该数据的最合适方法是什么

What is the most suitable way to save that data in android

我正在制作一个应用程序,它会询问用户他的院系、部门和年级,然后显示科目列表。

问题是保存主题的最佳方式是什么,以便于检索它们并将它们显示给用户。

我尝试了 XML 但它不起作用,现在我尝试了 JSON 但不确定它是否是存储此类数据的最佳方式?

答案:

as all people say the best way is to save the data in SQLite dataBase.

这是我的 JSON

的快照
{
  "faculty_engineering": {
    "name": "Engineering",
    "department_prep": {
      "name": "prep",
      "grade_1": {
        "term_1": {
          "subjects": [
            "Math",
            "physics",
            "English",
            "Realisation",
            "subject"
          ]
        },
        "term_2": {
          "subjects": [
            "chemistry",
            "Math",
            "fekh",
            "Geometry",
            "Entag",
            "Mechanics"
          ]
        }
      }
    },
    "department_systems_and_computer_engineering": {
      "name": "Systems and computer engineering",
      "grade_1": {
        "term_1": {
          "subjects": [
            "Programming",
            "Electronics",
            "Math",
            "Circuits",
            "Measure",
            "English"
          ]
        },
        "term_2": {
          "subjects": [
            "Algorithms",
            "Electronics",
            "Math",
            "Fields",
            "Religious subject"
          ]
        }
      },
      "grade_2": {
        "term_1": {
          "subjects": [
            "Math",
            "Integrated circuits",
            "Systems and signals",
            "machines  VHDL",
            "Numerical Analysis",
            "Object-oriented programming",
            "Tests",
            "Realisation subject"
          ]
        },
        "term_2": {
          "subjects": [
            "Math",
            "Logical circuits",
            "Automatic Control",
            "Electric machines",
            "Religious subjects",
            "Realisation subject"
          ]
        }
      },
      "grade_3": {
        "term_1": {
          "subjects": [
            "Math",
            "Communications systems",
            "Electronics",
            "Religious subjects",
            "Operating system",
            "Digital Control",
            "Tests ",
            "Transition systems and mechanisms ",
            "Power electric systems ",
            "Realisation subject"
          ]
        },
        "term_2": {
          "subjects": [
            "Databases",
            "Microprocessors",
            "Administration and engineering projects",
            "Sensors of adapters",
            "Religious subjects",
            "Realisation subject"
          ]
        }
      },
      "grade_4": {
        "term_1": {
          "subjects": [
            "Special computer subject",
            "Tests",
            "Engineering programming",
            "Intelligent Systems",
            "Computer architecture",
            "Interpreters",
            "Advanced software",
            "Realisation subject"
          ]
        },
        "term_2": {
          "subjects": [
            "Algorithms",
            "Advanced software",
            "Computer architecture",
            "Interpreters",
            "Realisation subject"
          ]
        }
      }
    },
    "department_": {
      "name": "",
      "grade_1": {
        "term_1": {
          "subjects": [
          ]
        },
        "term_2": {
          "subjects": [
          ]
        }
      },
      "grade_2": {
        "term_1": {
          "subjects": [
          ]
        },
        "term_2": {
          "subjects": [
          ]
        }
      },
      "grade_3": {
        "term_1": {
          "subjects": [
          ]
        },
        "term_2": {
          "subjects": [
          ]
        }
      },
      "grade_4": {
        "term_1": {
          "subjects": [
          ]
        },
        "term_2": {
          "subjects": [
          ]
        }
      }
    }
  }
}

如果要查询的数据不在远程服务器上,那么可以使用Androidsqlite数据库来保存和获取数据。

也许您应该使用 SQLite 数据库: https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

JSON 和 XML 更可能用于传输数据,例如使用网络。

您可以使用 https://realm.io/,它在 Android 和 iOS 之间兼容。 更简单快捷。

希望对您有所帮助。

如果您想要离线存储,请使用 SQLite。

如果您想要云存储,请选择 Google Firebase,因为它提供了良好的实施抽象、大量存储和并发连接。