在android listview中查看SQLite数据库?

时间:2013-04-22 01:39:45

标签: android database sqlite android-listview

我相信这个问题有一个简单的解决方案,但我想我会先与所有人一起检查。

我正在开发一个用于android的数据库创建和管理应用程序,用户可以根据PHPMyAdmin为常规计算机执行的操作创建和管理数据。

我有一个用户创建数据库的部分,可以将带有适当样式数据的表插入到系统中。

下一个优先级是选择要输入的数据库并修改其内容。有没有办法以列表视图的形式显示可用的数据库及其表格内容,供用户输入和编辑所需的数据?

我知道这是一个相当沉闷的问题,但这基本上是我在这个应用程序以原始格式运行之前适应这个难题的最后一块。如果您需要任何进一步的信息或任何要检查的代码,我将很乐意提供。

再次感谢大家的帮助。

2 个答案:

答案 0 :(得分:0)

这是一篇关于SQLite数据库的好教程,并在ListView中显示内容: http://www.vogella.com/articles/AndroidSQLite/article.html#databasetutorial

它不会过多地编辑,但很容易看到他将值放到数据库中的位置。

YouTube上的newboston是Android教程的一个很好的资源,他遍布SQLite个数据库: http://www.youtube.com/watch?v=gEg9OdufXmM

如果您已经知道自己在做什么,那么这是非常全面和缓慢的,所以如果您只想跳转到那里,他就会在这里插入数据/编辑数据库: http://www.youtube.com/watch?v=S3Z4e7KgNdU

答案 1 :(得分:-1)

我知道下面的内容可以进行优化,但现在只需创建一个自动执行的方法。方法......

  1. 为第二个
  2. 创建一个随机名称的空数据库
  3. 保存新数据库的位置 - getDatabasePath
  4. Quikly删除空数据库
  5. 从保存的路径中删除文件名以获取目录路径olny,
  6. 列出数据库路径中的所有文件,不包括'-journal'文件。
  7. 它是这样的:

    ArrayList<String> arr_list_of_db_files = getDBFILES();
    
    pivate ArrayList<String> getDBFILES() 
      {
       ArrayList<String> arr = new ArrayList<String>;
       String db_path, rand_name, str_tmp;
    
       //ad.1-2. random file name for db   
       rand_name = new Random().nextInt((4000000-2000+1)+2000).toString()+".db";
       db_path = openOrCreateDatabase(rand_name, MODE_PRIVATE, null).getPath();
    
       //ad.3.
       deleteDatabase(rand_name);
    
       //ad.4.
       db_path = db_path.replace("/" + rand_name, "");
    
       //ad.5.
       File [] files = new File(db_path).listFiles();
       if (files == null) { return null; }
    
       //so now we get the filenames one by one
       for (int i = 0; i < files.length; i++)
           { 
              str_tmp = files[i].getName();
              if (!str_tmp.endsWith("-journal"))
                 {  arr.add(str_tmp); }
           }
       return arr;
      }
    

    顺便说一句,我无法测试代码,但我希望它很好,有些人觉得它很有用。

    已编辑:我已对上述代码进行了优化。