我正在手机上安装并运行一个Android应用程序,出于某些测试目的,我想查看我手机上的应用程序数据库.现在我的问题如何获得这些数据库和表???? 请事先回复谢谢.....
我试图创建SQLiteDatabase来保存我从JSONObject获取的数据来自post请求.我的主要课程:
public class MainActivity extends Activity {
static JSONObject result;
public Context mContext;
public SQLiteDatabase db;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = getApplicationContext();
new UpdateData().execute();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
private class UpdateData extends AsyncTask<String, Void, JSONObject>{
private JSONObject object;
@Override
protected JSONObject doInBackground(String... params) {
try {
HttpClient client = new DefaultHttpClient();
String postURL = "http://test.com";
HttpPost post = new HttpPost(postURL);
List<NameValuePair> crc = new ArrayList<NameValuePair>();
crc.add(new BasicNameValuePair("crc", …Run Code Online (Sandbox Code Playgroud) 我有一个列,其中一些元素包含重音字母.例如:Grambú
我的要求是,当我搜索"Grambu"时,我也应该在结果中获得"Grambú".
对于此要求,我尝试对该特定列使用"COLLATE NOCASE"参数.但那没有用.
当我在网上搜索解决方案时,我发现很多人建议对重音字符进行规范化,并根据它创建另一个列作为唯一选项.
这个问题还有其他更简单的解决方案吗?
在我的应用程序中,我必须删除表的全部内容并重新填充多次
在这种情况下,我有两个解决方案:
1-下降,撤回并填写表格
"DROP TABLE IF EXISTS TABLE_NAME"
Run Code Online (Sandbox Code Playgroud)
2-删除所有内容并重新填充
"DELETE FROM TABLE_NAME"
Run Code Online (Sandbox Code Playgroud)
现在哪种解决方案更有效?
我是android的新手.我想知道如何在listview中显示数据库中的数据.它没有向数据库添加数据.我只是显示我们存储在数据库中的任何内容.请帮助我实现这一点...在此先感谢...
我正在开发一个Android应用程序,我需要根据某个where子句更新表中的列.这是下面的代码,
public void updatethekeyofweeklycolumn(String profilename, String keystemp)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(Profile_keysofweekly, keystemp);
db.update(TABLE_PROFILE_SETTINGS_FOR_WEEKLY, values,Profile_Name_for_weekly +" = "+profilename, null);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码在where子句为null时工作正常,但是它设置了一个与whereclause关闭的力.我的查询错了吗?
我在Google Playstore上的SQLite数据库中上传了一个包含22个表的apk(版本1.0).
现在我想在新版本(版本2.0)的应用程序中使用36个表更新数据库.
我存储
datebase在默认位置,所以当我按下应用程序管理器中的"清除数据"时,数据库将被删除.
我只想知道在用户更新新版本时如何删除旧数据库(与清除数据相同)?
如果在从Play商店更新应用程序时有任何清除数据的解决方案,那么也回答了我.
非常感谢您的帮助.
谢谢.
Android中是否有一种方法可以返回内部存储上的数据路径?
我有2个Android智能手机(三星s2和s7边缘)我安装了一个应用程序.我想在此路径中使用sqliteDB:
/Android/data/application.most/files/most_db
Run Code Online (Sandbox Code Playgroud)
问题是在三星s2中我必须使用此路径来获取数据库:
private static final String db_path = "/storage/sdcard0/Android/data/org.application/files/application_db";
Run Code Online (Sandbox Code Playgroud)
Instaed,在s7我必须使用这个:
private static final String db_path = "/storage/emulated/0/Android/data/application.most/files/application_db";
Run Code Online (Sandbox Code Playgroud)
我想通过设备独立地采用这条路径.
你能帮助我吗?
提前致谢.
对于Room来说还是新手,虽然我发现的大部分教程都与简单的表格和CRUD操作有关,但我仍然坚持不懈地进行改进.
我们来看看这个样本结构.
用户实体
@Entity(tableName = "users")
public class UsersEntity{
@PrimaryKey(autoGenerate = true)
private long id;
@NonNull
private String name;
@NonNull
private long roleId;
}
Run Code Online (Sandbox Code Playgroud)
角色实体
@Entity(tableName = "roles")
public class RolesEntity{
@PrimaryKey(autoGenerate = true)
private long id;
@NonNull
private String name;
}
Run Code Online (Sandbox Code Playgroud)
第一个问题:是否应该Entity扩展对象以替换POJO?或者将实体和POJO作为单独的类?
从Room设置扩展,我看到User POJO的方式是:
public class User{
private long id;
private Role role;
}
Run Code Online (Sandbox Code Playgroud)
基本上,如果用户将来自Web服务的json响应或用户在应用程序的输入字段中输入,则此设置应该都有效.
但是,这引出了第二个问题:如何插入和检索用户信息?插入似乎是可能的,因为可能有类似的东西
userDAO.insertRole(userId)
但是如何Role通过使用Room和userDAO来获取User 的对象?我发现不适合做以下事情:
user = userDao.getUser(userId)
user.setRole(roleDao.getRole(user.getRoleId)
Run Code Online (Sandbox Code Playgroud)
第三个问题:将表列与_(例如role_id)表示似乎是一个好习惯,但在java roleId中建议使用类属性.如果的结果@Query,例如select role_id from... …
android android-sqlite android-room android-architecture-components
android-sqlite ×10
android ×9
sqlite ×5
database ×3
java ×2
android-architecture-components ×1
android-room ×1
clear ×1
exception ×1
path ×1