我正在创建一个 android 应用程序,它是一个方言词典。我的问题是我不知道如何在数据库中存储 audio.mp3 文件。
任何人都可以教我或分享一些如何制作它的代码吗?
在我的Android应用程序中,我在我的数据库中有这个表来存储来自用户的数据:
tbl_Persons
| _id | Name | First Name | Place | ZIP |
-----------------------------------------
Run Code Online (Sandbox Code Playgroud)
现在我想在数据库中更改Place一行(让我们说在哪里_id = 5) - 此命令中的所有其他单元格应该在命令之后应该相同才Place应该更改.我怎样才能在Android中执行此操作?我尝试过:
ContentValues werte = new ContentValues();
werte.put("_id", 5);
werte.put("Place", "Berlin");
long id = db.replace("tbl_Persons", null, werte);
Run Code Online (Sandbox Code Playgroud)
但这不起作用.db.replace返回-1并且android开发者网站说:
返回新插入行的行ID,如果发生错误,则返回-1
如何才能在Android中更改数据库行中的一个单元格?
我想从我的 Sqlite 数据库中的日期时间列中获取月份中的哪一天。我可以简单地使用
select strftime('%d',myColumn) from myTable
Run Code Online (Sandbox Code Playgroud)
但是这些值以 UTC 格式存储在数据库中,我想根据本地时间获取日期。所以我可以执行以下操作来获取本地时间。
select date(myColumn, 'localtime') from myTable
Run Code Online (Sandbox Code Playgroud)
现在我如何一起做这两个操作?我能想到的唯一方法是date()使用strftime(). 还有其他方法吗?
LogCat error:
FATAL EXCEPTION: main
Process: com.sam.shoppingcart, PID: 31773
android.database.sqlite.SQLiteException: near "Beef": syntax error (code 1): , while compiling: SELECT KEY_NAME FROM shop WHERE KEY_NAME=Corned Beef
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:893)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:504)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1339)
at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1278)
at com.sam.shoppingcart.SQLiteHandler.ifExists(SQLiteHandler.java:63)
at com.sam.shoppingcart.CustomListAdapter$1.onClick(CustomListAdapter.java:77)Run Code Online (Sandbox Code Playgroud)
我有一个使用带有“添加”和“删除”按钮的自定义适配器的列表视图。当单击“添加”按钮时,LV 项目的名称和价格将被添加到数据库中。我想在添加 LV 项目时检查 DB 中是否已经存在。为此,我在 DBHandler 中创建了 ifExists(Model model) 函数。但是现在点击添加按钮它给了我错误。我做错了什么?PS:我从这里得到了这个功能。
public class MainActivity extends AppCompatActivity {
private ListView listView;
private ArrayList<Model> mListData;
private CustomListAdapter adapter;
@Override
protected void …Run Code Online (Sandbox Code Playgroud)我有这个错误:
无法解析方法“put(java.lang.String, java.util.Date)”
lsd和nsd是数据类型为 DATE 的列名。
public void onCreate(SQLiteDatabase db)
{
String query="CREATE TABLE"+c_tablename+"(c_id int AUTO_INCREMENT primary key,name varchar(20),contact double ,address varchar(50)," +
"bike_number varchar(16),bike_type varchar(10),lsd date,nsd date,lwd varchar(100),cost int,message varchar(100))";
db.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
String query= "DROP TABLE IF EXIST "+c_tablename;
String query2="DROP TABLE IF EXIST "+h_tablename;
db.execSQL(query);
db.execSQL(query2);
onCreate(db);
}
public void saveData(String name , int contact , String address , String bike_number , String bike_type …Run Code Online (Sandbox Code Playgroud) 每次我单击按钮向表中添加项目时,应用程序崩溃,我收到此错误,logcat:
11-30 21:46:00.822 13943-13943/com.example.user.timetable_test E/SQLiteLog: (1) near "TABLESunday": syntax error
11-30 21:46:00.827 13943-13943/com.example.user.timetable_test D/AndroidRuntime: Shutting down VM
11-30 21:46:00.827 13943-13943/com.example.user.timetable_test E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.user.timetable_test, PID: 13943
android.database.sqlite.SQLiteException: near "TABLESunday": syntax error (code 1): , while compiling: CREATE TABLESunday(_session INTEGER PRIMARY KEY AUTOINCREMENT,_name TEXT,_length INTEGER);
#################################################################
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(near "TABLESunday": syntax error (code 1): , while compiling: CREATE TABLESunday(_session INTEGER PRIMARY KEY AUTOINCREMENT,_name TEXT,_length INTEGER);)
#################################################################
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native …Run Code Online (Sandbox Code Playgroud) 我正在尝试将数据插入 SQLite 数据库,为此我编写了一个简单的方法来插入我从 API 获取的数据,如下所示:
public static ContentValues gameInfoToContentValues(@NonNull GameInfoList game) {
ContentValues values = new ContentValues();
values.put(GameEntry.COLUMN_GAME_ID, game.id());
values.put(GameEntry.COLUMN_GAME_ALIASES, game.aliases());
values.put(GameEntry.COLUMN_GAME_API_DETAIL_URL, game.api_detail_url());
values.put(GameEntry.COLUMN_GAME_DATE_ADDED, game.date_added());
values.put(GameEntry.COLUMN_GAME_DATE_LAST_UPDATED, game.date_last_updated());
values.put(GameEntry.COLUMN_GAME_SMALL_IMAGE, game.image().small_url());
values.put(GameEntry.COLUMN_GAME_MEDIUM_IMAGE, game.image().medium_url());
values.put(GameEntry.COLUMN_GAME_HD_IMAGE, game.image().super_url());
values.put(GameEntry.COLUMN_GAME_NAME, game.name());
values.put(GameEntry.COLUMN_GAME_ORIGINAL_RELEASE_DATE, game.original_game_rating());
return values;
}
Run Code Online (Sandbox Code Playgroud)
我得到最后
game.original_game_rating();
Run Code Online (Sandbox Code Playgroud)
这是正确的,因为它是一个对象列表。
我在方法中作为参数传递的名为“GameInfoList”的对象类如下所示:
public abstract long id();
@Nullable
public abstract String aliases();
@Nullable
public abstract String api_detail_url();
@Nullable
public abstract String date_added();
@Nullable
public abstract String date_last_updated();
@Nullable
public abstract GameImages image();
@Nullable
public abstract String name();
@Nullable
public …Run Code Online (Sandbox Code Playgroud) 我在 asset 文件夹中有一个 db 文件,如何使用它。我必须能够读取和写入数据库文件如果我使用
SqliteDatabase.open(context.openassest().open(filrname),null);未找到异常数据库文件不检查。我在我的腿上正确完成的语法请参阅内容
我正在 android 中的 sqlite 数据库上工作,我想插入一个如下所示的表
id procode proname user
1 pro123 mobile 120
2 pro123 mobile 121
3 pro345 watches 120
Run Code Online (Sandbox Code Playgroud)
在上表中,只有 id 是 uniq,所有值都不是 uniq,但我不想允许同一用户使用相同的数据,这意味着另一个用户将插入相同的数据,现在我不想在检查 procode 数据和用户手段(如 bwlow)时插入重复项
id procode proname user
1 pro123 mobile 120
2 pro123 mobile 121
3 pro123 mobile 120
Run Code Online (Sandbox Code Playgroud)
上表3为重复数据
我想在 sqlite 数据库中存储视频。PS我不想存储路径而是实际的视频内容。我已将视频转换为字节数组并将字节数组存储在 sqlite 数据库中。检索后,bytearray 被转换为文件。但是视频没有播放。请帮忙。