需要将数据从一个活动传递到另一个引用数据库

时间:2011-08-31 12:43:07

标签: android database sqlite android-activity android-intent

在我的应用程序中,我想将一些字符串数据保存到数组中。

然后,该数据应由ListView中的另一个活动提取。

我正在使用数据库来存储数据。但每次我将数据存储在不同的表中。现在据我所知,无法从定义的数据库中获取所有可用的表。

所以我要做的是,在创建表名时将其存储到Array中。并在ListView中显示。

现在当我按下ListIndex时,它将获取该表的数据。

这可能吗?

1 个答案:

答案 0 :(得分:1)

对数据数组使用表名称映射

    // Store
    Map<String, String[]> storage = new HashMap<String, String[]>();
    String[] items = {"one","two","three"}; // Your Data
    storage.put("tableName", items);        // Your table name

    // Retrieve a specific table
    String[] tableItems = storage.get("tableName");
    for(String s : tableItems){
        Log.i("TAG", "item name: "+s); // Will loop and print one , two then three
    }

    // Retrive all
    Set<String> allTables = storage.keySet();
    for (String table : allTables) {
        for(String s : storage.get(table)){
            Log.i("TAG", "table name: " + table + "item name: "+s);  // Will loop through each table, (we only have one) and print one , two then three
        }
    }

修改

关于发送表名的评论:

    String[] items = {"tableOne","tableTwo","tableThree"}; // Your Data
    Intent intent = new Intent(this, Activity2.class);
    intent.putExtra("sendIntentTableName", items);
    startActivity(intent);

    ... onCreate(){
        String[] tableNames = getIntent().getStringArrayExtra("sendIntentTableName");
    }