我正在开发一个应用程序,用户需要登录才能执行操作...但主要是在Android手机上使用"让我登录"......在这种情况下我将不得不维护用户名和密码的值我的应用程序......应该使用首选项,还是SQLite Db,还是有别的东西,我怎样才能使它安全?Plz帮助...在此先感谢..
android android-preferences sharedpreferences android-sqlite
对不起新手问题.
我使用SQLite数据库浏览器创建了我的表,但是:
我不知道如何使用该应用程序指定我的外键?
如何在表之间创建关系图?
我发现很多东西一样close the connection和close the cursor,但我做这一切的东西.仍然SQLite连接泄漏,我收到这样的警告:
A SQLiteConnection object for database was leaked!
Run Code Online (Sandbox Code Playgroud)
我有一个数据库管理器,我在我的活动中调用以下代码:
DatabaseManager dbm = new DatabaseManager(this);
Run Code Online (Sandbox Code Playgroud)
我的数据库管理器类的代码现在如下:
public class DatabaseManager {
private static final int DATABASE_VERSION = 9;
private static final String DATABASE_NAME = "MyApp";
private Context context = null;
private DatabaseHelper dbHelper = null;
private SQLiteDatabase db = null;
public static class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
//create database …Run Code Online (Sandbox Code Playgroud) 我想在SQLite中创建一个表,其中一个字段用于日期,其中当前实例的日期和时间应该保存.我应该使用哪种数据类型?
我打算使用'timestamp'.如何将当前时间戳值插入字段?另外如何为这个日期字段写内容值?
如何使用光标数据创建列表数组(滚动时列表显示第一个字母)?
是永远叫做的onUpgrade方法SQLiteOpenHelper吗?如果是这样,什么时候被召唤?如果开发人员没有调用它,那为什么呢?这个功能到底发生了什么?我已经看到了删除所有表的示例,但随后评论说放弃所有表并不是你应该做的.有什么建议?
将新项目插入此类数据库时
Uri uri = getContentResolver().insert(Tournaments.CONTENT_URI, values);
Run Code Online (Sandbox Code Playgroud)
有没有办法从返回的uri获取id,所以我不必运行查询来获取id,因为它已经在返回的uri中?
我收到这个错误 -
07-03 12:29:18.643: E/SQLiteLog(5181): (1) table accounts has no column named otherNotes
这是我的代码:
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "accountsManager";
private static final String TABLE_ACCOUNTS = "accounts";
private static final String KEY_ID = "id";
private static final String KEY_TITLE = "title";
private static final String KEY_USERID = "userId";
private static final String KEY_PASSWORD = "password";
private static final String KEY_LOGINURL = "loginUrl";
private static final String KEY_OTHERNOTES = "otherNotes";
public DatabaseHandler(Context context) …Run Code Online (Sandbox Code Playgroud) 我ContentProvider使用以下行为我创建了一个表 :
static final String CREATE_DB_TABLE =
" CREATE TABLE " + CONTACTS_TABLE_NAME +
" (_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
" pid TEXT NOT NULL, " +
" name TEXT NOT NULL,"+
"number TEXT NOT NULL);";
Run Code Online (Sandbox Code Playgroud)
它有4列.现在我想添加一个布尔值为true/false的列.如果我必须添加一个名为"status"的布尔列,我如何添加append/change这个语句.
我需要将一个字符串数组保存到数据库,但它不会让我.这就是我所拥有的:
public long createEntry(String startTime, String endTime, String[] states) {
ContentValues initialValues = new ContentValues();
initialValues.put(START_KEY_TIME , startTime);
initialValues.put(END_KEY_TIME , endTime);
initialValues.put(KEY_STATE, states );
return databaseConnect.insert(DATABASE_TABLE, null, initialValues);
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我把string[]状态放入,它说内容值不能参与.我该如何解决这个问题?我以为我在状态中有7个东西,我可以喜欢有7个单独的字符串并在每个中存储东西然后将所有字符串放回字符串数组中吗?或者这是不好的做法?