java-Android 使用单例模式创建数据库中的问题

问题描述

Android 使用单例模式创建数据库中的问题

如图调用getInstance来获取实例,行参是Context类,此处填了this。如果数据库还没有创建,就会自动调用私有化的构造方法,我的问题是,构造方法处的Context表示什么?实在不理解啊。。。

解决方案

先说一点, 单例模式里面 CoolWeatherDB应该是private的 否则外面都能直接访问了
context就是上下文,包含了下页面跳转的参数什么的

解决方案二:
你传的什么就是什么,多多数可能是activity,或者其他你使用的上下文对象

解决方案三:
改改
增加一个

 public static void init(Context context){//在Application中初始化就行了,或者在主界面的activity中也行。      if(coolWeatherDB==null){                coolWeatherDB = new CoolWeatherDB(context)            } } public static CoolWeatherDB getInstance(){    return coolWeatherDB }

解决方案四:
context就是上下文,所以要确保context已初始化我们可以把实例化DBManager的步骤放在Activity的onCreate里

解决方案五:
13.public class SqliteActivity extends Activity {

14. /** Called when the activity is first created. */

15. @Override

16. public void onCreate(Bundle savedInstanceState) {

17. super.onCreate(savedInstanceState);

18. setContentView(R.layout.main);

19.

20. DBHelper helper = new DBHelper(SqliteActivity.thissqlite.db"");

21. Log.d(""Avin""this is onCreate in SqliteActivity...the helper is -->""+helper);

22. SQLiteDatabase sdb = helper.getReadableDatabase();

23.

24. Log.d(""Avin""this is onCreate in SqliteActivity...the sdb is -->""+sdb);

25. sdb = helper.getWritableDatabase();

26. //如果不指定主键 会正常运行吗

27. //试试证明,会!

28.

29. //批量插入

30. String[] cands = {""a""b""c""d""};

31. String[] keys = {""1""2""3""4""};

32.

33. for(int i=0; i<cands.length; i++){

34. ContentValues cv = new ContentValues();

35. cv.put(""flt_cand"" cands[i]);

36. cv.put(""flt_key"" keys[i]);

37.

38. sdb.insert(""floats"" null cv);

39. }

40.

41.

42. Log.d(""Avin""insert..."");

43.

44.

45.

46. sdb.close();

47.

48. sdb = helper.getReadableDatabase();

49.

50. Cursor cur = sdb.query(""floats"" new String[]{""flt_cand""}flt_key=?"" new String[]{""4""} null null null);

51.

52. while(cur.moveToNext()){

53. String rst = cur.getString(cur.getColumnIndex(""flt_cand""));

54. Log.d(""Avin"" rst);

55. }

56.

57. }

58.}

基本上cur.moveToNext() 看能否解決你的問題

解决方案六:
说上下文的,麻烦解释清楚些。我也知道是上下文

解决方案七:
Context 就是Context对象。 Application Activity 都继承 类 Context 。[ android.content.Context ]
操作apk资源和数据库,都需要 Context 。

时间: 2024-12-02 01:43:35

java-Android 使用单例模式创建数据库中的问题的相关文章

java二进制存储图片到数据库中

问题描述 java二进制存储图片到数据库中 使用Java实现图片的存储-------存储到数据库中并读取 求代码 解决方案 java存储图片到数据库java存储图片到数据库将图片以二进制存储到数据库中 解决方案二: http://blog.sina.com.cn/s/blog_9ce5a1b50101aoed.html 解决方案三: 不同的数据库中有对大数据的支持,例如mysql是blob类型. 参考:http://blog.csdn.net/zyw745293/article/details/

如何根据配置文件的内容创建数据库中的表?

问题描述 如何根据配置文件的内容创建数据库中的表?界面上输入表的名称,表的字段名,属性,大小,然后保存在XML文件中,根据XML中的内容建表,如何建?谢谢 解决方案 解决方案二:说具体点CreateTableMember(StuNamevarchar(10),Pwdvarchar(10))这个建表的SQL语句,Member这个表名是从配置文件中读取的,如何写?解决方案三:<?xmlversion="1.0"encoding="utf-8"?><co

Oracle11g 创建数据库中问题处理(必须运行Netca以配置监听程序)

这两天学习<OCP/OCA认证考试指南>,要创建新的数据库,因为此前我的电脑上已经被折腾了好久的Mysql 和oracle10g ,所以可能导致很多环境都变了,创建数据库的过程中出现了一些小问题,也是搞了好久才搞定,下面记录一下遇到的两个大问题吧. 1. 监听端口  oracle默认的监听端口是本机的1521,这个我们用默认就好了.但是我不太清楚是不是因为我之前就已经在用了这个端口,所以在创建新的数据库的时候遇到这样的提示错误 于是我再次运行Net Configuration Assistan

java批量添加数据,数据库中出现数据无序问题

问题描述 描述:通过Excel导入数据,解析后放入list集合中,集合中数据的顺序和excel导入时的一致,通过批量添加到数据库中,出现的结果是数据库中的数据是无序的(也就是和excel导入时的顺序不一致).求解... 问题补充:xianshi_cn 写道 解决方案 I have met the same issue before in Oracle, but I also don't know how come the the physics orders of data changed wh

java把图片保存到数据库中的例子

例子代码 Class.forName("com.mysql.jdbc.Driver");  //System.out.print("加载驱动完毕");  String url="jdbc:mysql://localhost:3306/studentmanager";  String username="root";  String password="root";  String sql1="se

java用swing插件把数据库中的数据表示出来

问题描述 用swing插件做的,要把数据库的中的数据显示在这个表格中,求大神解答 解决方案 解决方案二:就是这个表格,怎么把数据库的数据放进去解决方案三:可以首先查出数据,然后调用JTable(Object[][]rowData,Object[]columnNames)这个构造方法.解决方案四:具体怎么弄,求大神解答...我是菜鸟解决方案五:引用3楼u014361106的回复: 具体怎么弄,求大神解答...我是菜鸟 看API文档就知道了,简单的说,2楼说的调用JTable(Object[][]r

基于Android如何实现将数据库保存到SD卡_Android

有时候为了需要,会将数据库保存到外部存储或者SD卡中(对于这种情况可以通过加密数据来避免数据被破解),比如一个应用支持多个数据,每个数据都需要有一个对应的数据库,并且数据库中的信息量特别大时,这显然更应该将数据库保存在外部存储或者SD卡中,因为RAM的大小是有限的:其次在写某些测试程序时将数据库保存在SD卡更方便查看数据库中的内容. Android通过SQLiteOpenHelper创建数据库时默认是将数据库保存在'/data/data/应用程序名/databases'目录下的,只需要在继承SQ

基于Android如何实现将数据库保存到SD卡

有时候为了需要,会将数据库保存到外部存储或者SD卡中(对于这种情况可以通过加密数据来避免数据被破解),比如一个应用支持多个数据,每个数据都需要有一个对应的数据库,并且数据库中的信息量特别大时,这显然更应该将数据库保存在外部存储或者SD卡中,因为RAM的大小是有限的:其次在写某些测试程序时将数据库保存在SD卡更方便查看数据库中的内容. Android通过SQLiteOpenHelper创建数据库时默认是将数据库保存在'/data/data/应用程序名/databases'目录下的,只需要在继承SQ

手动创建数据库方法

创建|数据|数据库 在WINDOWS NT/2000下手动创建数据库我机子里已经有一个数据库为sjpdb,现在要手动再建第二个数据库sjpdb02 步骤如下:步骤一:确定数据库名实例名服务名步骤二:编辑修改参数文件步骤三:创建数据库实例步骤四:启动新创建的实例,创建数据库步骤五:创建数据字典步骤六:网络配置即配置监听器(lisener.ora)和网络连接解析配置(tnsnames.ora)具体步骤如下: 步骤一:确定数据库名实例名服务名 因为我是在自己机子上创建DB 所以域名取为空,所以服务名和