我在多个SQLite教程中注意到,在onCreate()扩展的类的情况下重新创建表SQLiteOpenHelper.我已经在Firefox加载项的帮助下在Android环境(Eclipse IDE)之外创建了我的SQLite数据库和表.数据库表位于预期的位置:
C:\aXX3&Space\Android\workspace\OnDemandAndAutomatic_Project\assets
我不得不每次都以编程方式重新创建它们(显然,它们会继续存在并保留数据,或者重点是什么)似乎很奇怪?但是,我现在对此应用程序存在严重问题,这引出了我的问题:
令我懊恼的是,我刚刚意识到我没有创建我的数据库表C:\aXX3&Space\Android\workspace\OnDemandAndAutomatic_Project\assets,而是将它们放入C:\aXX3&Space\Android\workspace\OnDemandAndAutomatic\assets,这是应用程序的早期版本,但将SQLite文件复制到正确的位置并没有改变一点.如果这是导致问题的原因,那就是我的应用程序正在寻找AWOL数据库,仅仅复制并粘贴文件是不够的?我必须做些什么来正式
将数据库引入system/Android/Eclipse目录吗?有什么建议?
I want to change the sqlite database .db file to excel.
但我无法找到我到底要做什么.任何人都可以用一种简单的方式详细说明我必须执行的任务才能完成这项任务.
通过在Google上搜索,会出现如此多的链接,但我无法逐步理解这一点.
我已经按照这些链接:
1. 如何将excel表转换为android中的sqlite数据库
我正在开发一个应用程序,我需要从数据库中填充列表视图.我在以下代码中遇到兼容性问题
dataAdapter = new SimpleCursorAdapter(
this, R.layout.eventlisting,
cursor,
columns,
to,
0);
Run Code Online (Sandbox Code Playgroud)
它需要最小api级别11,我的是8.是否有任何替代方法可以使此代码在api 8上运行.我可以使用支持库吗?
android android-listview android-sqlite android-cursoradapter
我知道有很多关于这个问题的线索,但没有我自己的问题.我在数据库中连接了一个微调器,显示特定表的外键.并且它似乎插入错误.
02-18 11:44:34.500: E/SQLiteDatabase(20811): Error inserting ConsumerName=android.database.sqlite.SQLiteCursor@4144fa58 kWh=801.0 _id=65324 Date=2013 -2-18 Previous=98 Current=899
02-18 11:44:34.500: E/SQLiteDatabase(20811): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed
public class ElectricMeterReader extends Activity {
private long rowID;
private EditText meterNoEt;
private EditText currentEt;
private EditText previousEt;
private EditText kWhEt;
private TextView dateTv;
private Spinner spinner;
private int mSpinnerSpeciesId;
private ElectricMeterReader mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.electric_meter_reader);
Bundle extras = getIntent().getExtras();
// rowID = extras.getLong(ConsumerList.ROW_ID);
dateTv = (TextView) findViewById(R.id.dateEmr); …Run Code Online (Sandbox Code Playgroud) android android-intent sqliteopenhelper android-spinner android-sqlite
关于SQLite的问题.
在CREATE TABLE SQL中,我们可以以任一方式添加UNIQUE约束:column-constraint或table-constraint.我的问题很简单.他们的工作方式不同吗
我能找到的唯一区别是,在表约束中,indexed-column单个约束中可能有多个s.
列约束:

表约束:

这是一个例子:
CREATE TABLE Example (
_id INTEGER PRIMARY KEY,
name TEXT UNIQUE ON CONFLICT REPLACE,
score INTEGER
)
Run Code Online (Sandbox Code Playgroud)
和
CREATE TABLE Example (
_id INTEGER PRIMARY KEY,
name TEXT,
score INTEGER,
UNIQUE (name) ON CONFLICT REPLACE
)
Run Code Online (Sandbox Code Playgroud)
他们不一样吗?
我对Android开发还很陌生,但我很难绕过内容提供商,特别是为单个应用程序,单数据库SQLite数据源创建一个(如果有的话)的好处.我可以看到,如果我想使用同步适配器,我需要一个内容提供商,但老实说,Sync API是如此令人沮丧,以至于我认为使用REST滚动我自己的远程同步过程没有任何优势.
我也看到通过在我的SQLite数据库上实现内容提供程序,我获得了一个有保证的Android管理单例,但我使用AndroidAnnotations可以为我做单例管理,它似乎不是我读过的它是只要我正确管理我的开放连接,甚至一定建议使用单一数据库帮助程序.
我错过了什么吗?对于单个数据库应用程序,Content Provider API看起来非常低级且容易出错.特别是"手动"管理URI映射并引入奇怪的抽象层似乎并没有增加太多价值.
那么本地SQLite DB的内容提供商是否有价值?如果是这样,是否有一些框架可以为我生成我的URI映射,或者它是否严格自行滚动?
我的问题是关于使用sqlite和android.
我有这个应用程序,它将记录位置,并为每个位置,用户将能够添加照片.
我有桌子
locations(loc_id INTEGER, longitude REAL ,latitude REAL)
哪作得很好.但我需要创建第二个照片.照片表将照片的路径名称保存为TEXT.它还必须具有另一个字段,该字段通过loc_id作为外键引用特定位置.问题是我不知道如何将这两者联系起来.
任何帮助非常感谢谢谢!
我在本机方法中得到了不满意的链接错误
Logcat主要异常
UnsatisfiedLinkError: Native method not found: rg.sqlite.database.sqlite.SQLiteConnection.nativeHasCodec:()Z
Run Code Online (Sandbox Code Playgroud)
完整的Logcat
02-04 16:29:12.807: E/AndroidRuntime(5087): FATAL EXCEPTION: main
02-04 16:29:12.807: E/AndroidRuntime(5087): java.lang.UnsatisfiedLinkError: Native method not found: org.sqlite.database.sqlite.SQLiteConnection.nativeHasCodec:()Z
02-04 16:29:12.807: E/AndroidRuntime(5087): at org.sqlite.database.sqlite.SQLiteConnection.nativeHasCodec(Native Method)
02-04 16:29:12.807: E/AndroidRuntime(5087): at org.sqlite.database.sqlite.SQLiteConnection.hasCodec(SQLiteConnection.java:160)
02-04 16:29:12.807: E/AndroidRuntime(5087): at org.sqlite.database.sqlite.SQLiteDatabase.hasCodec(SQLiteDatabase.java:2195)
02-04 16:29:12.807: E/AndroidRuntime(5087): at org.sqlite.database.sqlite.SQLiteConnectionPool.setMaxConnectionPoolSizeLocked(SQLiteConnectionPool.java:952)
02-04 16:29:12.807: E/AndroidRuntime(5087): at org.sqlite.database.sqlite.SQLiteConnectionPool.<init>(SQLiteConnectionPool.java:153)
02-04 16:29:12.807: E/AndroidRuntime(5087): at org.sqlite.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:179)
02-04 16:29:12.807: E/AndroidRuntime(5087): at org.sqlite.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
02-04 16:29:12.807: E/AndroidRuntime(5087): at org.sqlite.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
02-04 16:29:12.807: E/AndroidRuntime(5087): at org.sqlite.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
02-04 16:29:12.807: E/AndroidRuntime(5087): at org.sqlite.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:669)
02-04 16:29:12.807: E/AndroidRuntime(5087): at com.example.samplesqlitedb.SearchDataDB.getAutoSuggestion(SearchDataDB.java:33) …Run Code Online (Sandbox Code Playgroud) c++ java-native-interface android unsatisfiedlinkerror android-sqlite
我在SQLite Manager中创建了数据库,但是我忘了提到一行.
现在,我想手动在中间添加一行,在其下方,其余的自动增量键应自动增加1.我希望我的问题很清楚.
谢谢.
我的想法是,SQLite日志仅在有未决操作时才会保留在文件系统中。
但是,在我看来,至少在Android 4.1+中,即使将事务设置为成功/结束,甚至关闭数据库,SQLite日记的正常行为仍保留在文件系统中。
有人对为什么以及何时改变这种行为有想法吗?
android-sqlite ×10
android ×8
sqlite ×4
database ×2
c++ ×1
excel ×1
one-to-many ×1
sql ×1
sql-update ×1