热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在SQLite数据库中存储数组数组。-StoringanArrayListofArraysinSQLiteDatabase

MyquestionhastodowithstoringarraysandArrayListsinSQLite.IhaveanObjectCourseasfollo

My question has to do with storing arrays and ArrayLists in SQLite. I have an Object Course as follows:

我的问题与在SQLite中存储数组和数组列表有关。我有一个目标课程如下:

public class Course {
    private String name;
    private ArrayList tees;

which contains the ArrayList of Tee where Tee looks like this:

它包含三通的数组列表,其中三通看起来是这样的:

public class Tee {
    private String Name;
    private int Slope;
    private double Rating;
    private int[] Par={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    private int[] HCP={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

Each Course has a number of Tees associated with it and each Tee contains 2 integer arrays. I want to store a list of Courses in a SQLite database. Each row of the database will represent a Course and contain the Course object data. I have researched this and I find either too little or too much information to be helpful.

每门课程都有许多与之相关的三通,每个三通包含两个整数数组。我想在一个SQLite数据库中存储一个课程列表。数据库的每一行将表示一个课程,并包含课程对象数据。我研究过这个问题,发现信息太少或太多都没有帮助。

I think I need to use a JSON object or a BLOB to convert the ArrayLists to something that can be stored in SQLite, but I can't seem to find the way to convert an int array into such a thing (BLOB or JSON Object or JSON Array?) and then the subsequent list of Tees into another thing (BLOB, etc.)

我想我需要使用JSON对象或一个BLOB ArrayLists转换为可以存储在SQLite的东西,但我似乎无法找到一个int数组转换成这种事(BLOB或JSON对象或JSON数组?),然后后续的t恤列表到另一件事(BLOB等。)

2 个解决方案

#1


1  

Create several tables.

创建多个表。

One table ('Cource') contains field 'name' and field with reference('id' field) to row in table 'Tee'.

一个表('Cource')包含字段'name'和引用字段('id'字段)以在表'Tee'中行。

Table 'Tee' contains fields 'id', 'name', 'slop', 'rating', 'par' and 'hcp'.

表'Tee'包含字段'id'、'name'、'slop'、'rating'、'par'和'hcp'。

Since it is impossible to store an array in a table row you can:

由于不可能将数组存储在表行中,因此可以:

  • convert array to string
  • 将数组转换为字符串
  • create a field for each item in array

    为数组中的每个项创建一个字段

    StringBuilder b = new StringBuilder(); for(int i = 0; i

    新StringBuilder b = new StringBuilder();for(int i = 0;我 <数组。长度- 1;i++) {if(i !="0)" {b.b end(",");} b.append(阵列[我]);} string stringarr="b.toString();

#2


0  

You have to create the framework for retrieving data.

您必须创建检索数据的框架。

Each course you should treat like one object.

每一门课你都应该像对待一个对象一样对待。

  public class Tee {

    private String Name;
    private int Slope;

    private double Rating;
    private int[] Par={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    private int[] HCP={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

    public Tee(String name,int slope,double Rating,int[] par,int[] hcp)
    {

     this.name=name;
     this.slope=slope;
     this.Rating=rating;
     this.PAR=par;
     this.HCP=hcp;
   }

public String GetName()
{
return this.name;
}
....

public int[] GetHCP()
{
return this.HCP;
}
}

And Use for loop for inserting data into the database

用于将数据插入数据库的循环

for(int i=0;i

For PAR and HCP data storing, please do the table indexing for good way manage your data flow

对于PAR和HCP数据存储,请执行表索引,以便更好地管理数据流


推荐阅读
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 在探讨如何在Android的TextView中实现多彩文字与多样化字体效果时,本文提供了一种不依赖HTML技术的解决方案。通过使用SpannableString和相关的Span类,开发者可以轻松地为文本添加丰富的样式和颜色,从而提升用户体验。文章详细介绍了实现过程中的关键步骤和技术细节,帮助开发者快速掌握这一技巧。 ... [详细]
  • 本文介绍了如何在 ASP.NET 中设置 Excel 单元格格式为文本,获取多个单元格区域并作为表头,以及进行单元格合并、赋值、格式设置等操作。 ... [详细]
  • Android 自定义 RecycleView 左滑上下分层示例代码
    为了满足项目需求,需要在多个场景中实现左滑删除功能,并且后续可能在列表项中增加其他功能。虽然网络上有很多左滑删除的示例,但大多数封装不够完善。因此,我们尝试自己封装一个更加灵活和通用的解决方案。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • ECharts 官方提供了丰富的图表示例,但实际项目中往往需要从后端动态获取数据。本文将详细介绍如何从后端获取数据并将其转换为 ECharts 所需的 JSON 格式,以实现动态饼图的展示。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • oracle c3p0 dword 60,web_day10 dbcp c3p0 dbutils
    createdatabasemydbcharactersetutf8;alertdatabasemydbcharactersetutf8;1.自定义连接池为了不去经常创建连接和释放 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
author-avatar
军长长军765
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有