- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有访问 SQLite 表的代码,该表在我的“主要” Activity 中完美运行。我试图通过创建一个单独的类来处理数据插入、删除等操作来使代码更优雅。
当我将完全相同的代码从主 Activity 移动到单独的类时,出现以下错误:
The method openOrCreateDatabase(String, int, null) is undefined for the type BarCode
我注意到通过使用“Activity”扩展我的数据库类,错误消失了。但是,现在我在运行代码时遇到了 NullPointerException。
抽象数据库代码并仍然能够从 Android 中的 Activity 引用它的正确方法是什么?
如果我的行话有误,请原谅,因为我是 Android 和 Java 的新手。
完整代码如下:
package com.example.stockcontrol;
import java.util.Locale;
import android.app.Activity;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
public class BarCode extends Activity {
public BarCode() {
}
public void insertBarCode(String upc) {
SQLiteDatabase db;
db = openOrCreateDatabase(
"StockControl.db"
, SQLiteDatabase.CREATE_IF_NECESSARY
, null
);
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
ContentValues mUpc = new ContentValues();
mUpc.put("upc", "444");
mUpc.put("description", "Box o toast");
mUpc.put("scan_count", "1");
db.insertOrThrow("tbl_upc", null, mUpc);
}
}
最佳答案
与其让您的数据库类扩展 Activity,不如将相关的 Context 传递给该类。您可以在构造函数中传递它,并将对 Context 的引用作为类变量保留。
public class BarCode {
private final Context mContext;
public BarCode(Context context) {
mContext = context;
}
public void insertBarCode(String upc) {
SQLiteDatabase db;
db = mContext.openOrCreateDatabase(
"StockControl.db"
, SQLiteDatabase.CREATE_IF_NECESSARY
, null
);
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
ContentValues mUpc = new ContentValues();
mUpc.put("upc", "444");
mUpc.put("description", "Box o toast");
mUpc.put("scan_count", "1");
db.insertOrThrow("tbl_upc", null, mUpc);
}
}
要使用该类,您可以在 Activity 中执行此操作:
BarCode barCode = new BarCode(this);
barCode.insertBarCode("123456");
关于android - 如何从 Android 中的 'independent' 方法引用 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4740132/
我对贝叶斯网络有一些误解。我的主要误解是独立和有条件的独立!! 如果例如我必须计算P(Burglary|Johncall) , 是吗P(Burglary|Johncalls)=P(Burglary)因
在以下代码中,set 方法更改 Calendar 类的字段值。字段YEAR 被声明为static int YEAR。那么为什么通过创建 Calendar 类的两个对象,一个对象的更改会反射(refle
假设我已经掌握了这两个事实:- CreateProcess() 启动一个进程并让您的程序在它运行时继续运行,但是当您的程序完成时,子进程会随之关闭。此外,您的程序必须注意子进程何时退出,以便它可以正确
是否可以定义一个正则表达式模式来检查例如。对于 3 个独立于它们在主字符串中位置的术语? 例如。我的字符串类似于 "click here to unsubscribe: http://www.url.
我有一系列计算一些统计数据的“命令”(实际上是调用 bash shell 函数)。一般来说,每个命令都与所有其他命令无关,有时有些命令可能会花费比预期更多的时间。 到目前为止,我有一个调用这些命令的
我一直在空闲时间尝试伪造 C,并且遇到了一些我觉得很有趣的行为。我希望有人能帮助回答我提出的一些问题。为了简单起见,让我们将讨论限制在使用 gcc 进行编译。首先是代码(.h文件都有include g
我遇到了以下代码,并被告知这意味着 COL_8888_RED 是“字节序独立的”。为什么?是什么让这个端独立?(我问过最初的编码员,但他们没有回复我……哎呀,也许他们也不知道。) union _col
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 3年前关闭。 Improve t
我决定模拟一个教科书上的概率题: Three fair dice are rolled independently, what is the probability that one dice sho
我想尝试有关分布式文件同步/复制的想法。为了在用户工作时提高效率,我想实现某种守护程序来监视某些目录中的更改(例如/home/user/dirToBeMonitored 或 c:\docs 和 set
当我在Mac机器上的R(仅是默认的Mac R)中看到帮助页面时, > ?read.csv 它以漂亮的格式显示在新窗口中。 现在,我在Mac机器上使用Sublime文本3表示R(带有SublimeREP
我觉得这是 ui-router 的一个直接用例,但也许我错过了一些东西...... 我想要两个相邻的独立 View ,由它们自己的菜单控制。当我单击一个菜单上的 ui-sref 链接(或 $state
也许我在这里问了一个非常明显且愚蠢的问题,但我在 Google 上找不到任何信息,所以我开始: 为什么人们如此热衷于 Java 是平台无关的,而其他一些语言却不是。我的意思是,就我的理解而言,总的差异
FORTRAN 编程用户注释,第 1-2 章 ( Comparison of FORTRAN and C ),说: Fortran 90 supports useful features of C (
前段时间我对 BEM 方法产生了兴趣,并尝试在我的元素中使用它。我可能使用了它的一些修改版本,所以我的 css 看起来像这样: .block block .block__element 用于元素 .b
我想在数据库中创建一个没有特定大小的文本字段(在某些情况下它将存储长度未知的文本)——特定文本是序列化的简单对象(~ JSON) 最独立于数据库的方法是什么:- 没有指定大小的 varchar(不
WPF 文档和教程指出 WPF 与分辨率无关,据我所知,它会在不同分辨率(1600x1200 -> native 和 1024x768)和/或 DPI 设置下显示相同大小的窗口。但是,当我尝试示例应用
我是 Cygwin 的初学者。如果我有: cat output.txt | rm output.txt 我想在删除文件之前打印出结果,但是即使这些命令在单独输入到 Cygwin 时工作 find 也不
考虑以下 gilab-ci.yml 脚本: stages: - build_for_ui_automation - independent_job variables: LC_ALL: "
我在 Nhibernate 3.1 中有一个 JoinQueryOver 的 QueryOver Person类有一个Identity类的关联(一对一)Code 是 Person 类的字段,First
我是一名优秀的程序员,十分优秀!