Articles of SQLite

使用SimpleCursorAdapter从Cursor更改值

我有数据库表,列{名称,时间(UTC格式),纬度,经度} 我使用带有SimpleCursorAdapter的ListActivity显示表。 我希望列Time以人类可读的格式显示时间(13-07-2010 10:40)而不是UTC格式(18190109089)。 如何指定列Time中的值需要一些过滤/调整? 可能的解决方案(有问题): SimpleCursorAdapter提供的方法: setCursorToStringConverter(SimpleCursorAdapter.CursorToStringConverter cursorToStringConverter); 指定一个能够将Cursor转换为CharSequence的类(convertToString(Cursor cursor)。无论如何我不知道返回CharSequence参数的格式应该是多少!

如何在android sqlite数据库中获取所有表名?

我试过这段代码 Cursor c=db.rawQuery(“SELECT name FROM sqlite_master WHERE type = ‘table'”,null); c.moveToFirst(); while(!c.isAfterLast()){ Toast.makeText(activityName.this, “Table Name=> “+c.getString(0), Toast.LENGTH_LONG).show(); } 但它抛出错误”android.database.sqlite.SQLiteException: no such table: sqlite_master(code 1):,while compiling: SELECT name FROM sqlite_master WHERE type=’table'” 如何获取所有表名? 帮我 提前致谢..

Android上的Sqlite:如何创build一个SQLite远程数据库函数 – 在应用程序中使用拉特,长距离计算

我们正在构build一个Android应用程序,该应用程序将使用用户当前位置(lat,long),并显示当前位置周围的前50个场地,按距离sorting。 我们有这些场地存储在一个SQLite数据库。 我们计划与应用程序一起提供的SQLite数据库。 为了只提取相关的前50名最近的场地,我们要定义一个db函数DIST(计算两点之间的距离),并在我们的查询中使用它。 我如何为Android应用程序定义一个自定义SQLite函数? 什么是Java API调用来做到这一点? 我们已经在我们的iPhone应用程序中成功实现了这个方法 – 使用Objective C.

在Android的SQLite中插入TimeStamp

我有以下领域 1> WorkName – Varchar 2> TimeStap 我想创build一个与上述领域的表。 什么是TimeStamp数据types 如何将时间戳值插入到表中。 插入数据时如何获取时间戳值或如何获取时间戳。 我曾经在SQLite上工作过,但没有任何将TimeStamp作为字段添加到表中并添加值的经验。 我应该使用什么样的CREATE & INSERT语句?

SQLiteOpenHelper类用上下文参数做什么?

我正在扩展SQLiteOpenHelper类。 我的构造函数是 public MyDatabaseHelper(Context context) { super( context, // ??? "MyDatabase.db", // Database name null, // Cursor factory 1 // database version ); } SQLiteOpenHelper构造函数是如何处理上下文信息的? 对于我的应用程序,无论程序状态(上下文)如何,构造函数的行为都是一样的。 我可以在没有任何未来问题的情况下将null传递给上下文吗?

Android:如何总结SQLite数据库中的所有列并返回1个单一variables

我的目标是总结我的数据库中的所有列,并返回一个variables“total”= x数量。 例: column – food | taxi | clothes | sports 2 3 4 5 6 8 0 12 11 10 7 2 那么总和等于= 70 我最初的想法是总结各个栏目,最后把它们加在一起总结一个单独的栏目的例子: public Cursor sumFoodColumn(){ Cursor c = db.query(true, DATABASE_TABLE, ALL_KEYS, KEY_FOOD + "=?", new String[]{"sum(food)" + KEY_FOOD}, null, null, null, null); if (c !=null) { c.moveToFirst(); } return c; […]

如何存储用于android的SQLCipher中使用的密钥

我正在使用SQLCipher for Android。 我已经完成了所有必要的事情,如http://sqlcipher.net/sqlcipher-for-android/ 我观察到,你设置密码,即密钥在: SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(databaseFile, "test123", null); 那么你的密码如何从黑客安全? 因为它可以从一个Java文件访问。 ? 有没有什么正确的方法可以存储密码? 谢谢,尼布斯

如何在android的Realm中实现以下function

在我的应用程序中,我通常有一个加载器,它从sqlite加载数据,然后将其传递到它所附加的活动或片段,从它在absListView的适配器中设置的位置传递给用户 由于领域声明,它的对象不应该在线程之间共享 ,如何在不从UI线程进行任何数据库调用的情况下实现呢? (这会让应用程序感觉呆滞,因为我打了一个很好的数据库) 同样在3个例子 – intro , gridView和migration中 ,很多次db操作都是在UI线程中完成的。 在UI线程中的数据库操作是不是严重皱眉在Android? 从文档中引用 – 可能长时间运行的操作(如networking或数据库操作)或计算量大的计算(如调整位图大小)应在工作线程(或在数据库操作的情况下,通过asynchronous请求)完成。

如何在Android上进行应用程序升级后更新表格模式?

我有一个未完成的应用程序,但我现在要解决它的未来更新。 假设我的应用程序已升级,所以在启动时检测到数据库模式已过时。 因此,每个表都必须根据版本号更新到新的模式,同时保留所有的数据。 我读过Android上的SQLite数据库有一些版本号,并自动更新的东西,但我没有find这个具体问题的例子。 如何在Android应用上使用SQLite数据库完成这项工作? Android SQLite数据库中存储的每个表是否有特定的版本号? 如果是这样,我怎么读它,并用于我的上述目的?

Android SQLite的ORDER BY不起作用

我有一个非常基本的情况: 我有一个大约5k行的桌子: CREATE TABLE "words" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , "name" TEXT NOT NULL , "def" TEXT NOT NULL, "rand" INTEGER) 我定期更新使用“更新单词SET rand = random()” 在android中,当我使用下面的rawQuery()创build一个游标: SELECT w.id, w.name, w.def, w.rand FROM words w ORDER BY w.rand ASC; 返回的游标不会以正确的顺序迭代。 例如,它将按照以下顺序输出rand值的列: -1298882092 -2138143484 -1115732861 118839193 … 有谁知道这是怎么回事? 不应该这个工作? 如果我在SQLiteManager中运行完全相同的查询,它将以正确的顺序返回结果,所以这似乎是特定于android / cursor的。 更新: 这里是Android中的代码,我已经尝试了多种方式: […]