2013-03-16 81 views
0

我一直坚持如何在sqlite数据库中创建目录结构。在数据库中创建目录结构并在其中存储数据

private void listFilesForFolder(Entry list) throws DropboxException 
    { 
     for (Entry ent : list.contents) 
     { 
      if (ent.isDir) 
      { 
       // Log.i("List",ent.fileName()); 
       // Log.i("Path",ent.path); 
      Entry list1 = mDBApi.metadata(ent.path, 1000, null, true,null); 
      listFilesForFolder(list1); 
      } 
      else 
      { 
       Log.i("List", ent.fileName()); 
       // Log.i("Path",ent.path); 
      } 
     } 
} 

这通过我从Dropbox帐户中的Android使用Dropbox的核心API获取所有文件和文件夹列表递归函数。

现在我怎么能将这些数据存储在类似结构的目录中的sqlite数据库?

回答

1
CREATE TABLE entry (
    _id INTEGER PRIMARY KEY, 
    name TEXT, 
    parent_id INTEGER DEFAULT 0, 
    is_dir INTEGER DEFAULT 0, 
    CONSTRAINT fk_parent FOREIGN KEY (parent_id) REFERENCES entry(_id) 
); 
  • 两个目录和文件都保存在该表中。
  • 如果一个目录或文件有一个父级,它的父级的_id被保存到parent_id
  • 如果条目是is_dir字段设置为1的目录中,否则为0。
+0

现在我的问题是如何将我存储在数据库中的这些数据。我的意思是SQL queries..which查询写在如果和其他块,以便目录结构保持.. 我感到困惑,因为递归函数..感谢 – 2013-03-19 05:53:47

+0

我编辑我的答案。我的第一个答案没有考虑目录内的目录。这个呢。 – kdehairy 2013-03-19 09:19:14

+1

关于你关于递归函数的问题,请打开一个新的问题,并在这里引用它。谢谢。 – kdehairy 2013-03-19 09:24:11