【问题标题】:Android SQLite: How do I transfer variables to a different activity?Android SQLite:如何将变量传输到不同的活动?
【发布时间】:2013-03-04 14:35:33
【问题描述】:

MAIN.JAVA

public void onClick(View arg0) {
    switch (arg0.getId()) {
    case R.id.buttonupdate:
        String name = sqlName.getText().toString();
        String value = sqlValue.getText().toString();
        MainActivity entry = new MainActivity(Main.this);
        entry.open();
        entry.createEntry(name, value);
        entry.close();
        break;
    case R.id.buttonview:
        Intent intentone = new Intent();
        intentone.setClassName("com.example.sqltwo", "com.example.sqltwo.View");
        startActivity(intentone);
        break;
    case R.id.buttonsearch:
        String searchtext = sqlQuery_value.getText().toString();
        break;
    }   public void onClick(View arg0) {
    switch (arg0.getId()) {
    case R.id.buttonsearch:
        String name = sqlName.getText().toString();
        String value = sqlValue.getText().toString();
        MainActivity entry = new MainActivity(Main.this);
        entry.open();
        entry.createEntry(name, value);
        entry.close();
        break;
    case R.id.buttonview:
        Intent intentone = new Intent();
        intentone.setClassName("com.example.sqltwo", "com.example.sqltwo.View");
        startActivity(intentone);
        break;
    case R.id.buttonsearch:
        String searchtext = sqlQuery_value.getText().toString();
        break;
    }

MAINACTIVITY.JAVA

public long createEntry(String name, String value) {
    ContentValues cv = new ContentValues();
            cv.put(KEY_NAMES, name);
            cv.put(KEY_VALUES, value);
            return qdatabase.insert(DATABASE_TABLE, null, cv);
}
public String getData() {
    String[] columns = new String[]{KEY_NAMES, KEY_VALUES};
    Cursor c = qdatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
    String result = "";

    int iValue = c.getColumnIndex(KEY_VALUES);
    int iName = c.getColumnIndex(KEY_NAMES);

    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
        result = result + c.getString(iName) + "\n" + c.getString(iValue) + "\n";
    }
    return result;  
}
public String search(String searchtext) {
    String searchresult = "";
    String arg = searchtext;

    String query = "select * from " + DATABASE_TABLE + " where title=\"" + arg +"\"";

    Cursor c = qdatabase.rawQuery(query, new String[] {arg});
    int iName = c.getColumnIndex(KEY_NAMES);

    if (c.moveToFirst()) {
        searchresult = searchresult + c.getString(iName);
    }

    return searchresult;

}

在 R.id.buttonsearch 的情况下:

它抓取 TextEdit 并将其存储到 searchtext 中。 我需要 MainActivity 中的 searchtext 运行搜索功能并返回与该查询匹配的所有行。如何将 Main 中的搜索文本链接到 MainActivity?

【问题讨论】:

  • 你没有在 main.java 中使用 getter 方法吗?
  • 我对Android java的了解有限。我不知道什么是 getter 方法,也不知道 AsyncTask 如何以及为什么会在这里工作。
  • 使用 main.java 中的方法返回该字符串或将 search_string 设为公共静态,以便 serach_string 在所有其他类中可用..

标签: android database sqlite extending


【解决方案1】:

在 MAIN.JAVA 中使用 AsyncTask 在 AsyncTask 中你在方法 doInBackground 连接到数据库(使用源 MAINACTIVITY.JAVA)和方法 onPostExecute 更改 MAIN.JAVA

例如

private class loudAllTranslate extends
        AsyncTask<Void, Void, HashMap<String, Translate>> {

    Context context;
    String fullText;

    loudAllTranslate(Context cont, String fullText_) {
        context = cont;
        fullText = fullText_;
    }

    @Override
    protected void onPostExecute(HashMap<String, Translate> success) {
        super.onPostExecute(success);

        // do somting

    }

    @Override
    protected HashMap<String, Translate> doInBackground(Void... params) {

        LBD conection = new LBD(context);
        conection.open();
        conection.tblSettings();

        HashMap<String, Translate> listTranstate = Settings
                .updateAllTranslate(fullText);
        conection.close();
        return listTranstate;

    }

}

【讨论】:

    猜你喜欢
    • 2016-02-25
    • 2014-03-18
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    相关资源
    最近更新 更多