小白剛學習資料庫的基礎知識,照視頻做怎么打開db檔案,沒有資料,一條都沒有,請大神們解答下,謝謝。
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class NotesDB extends SQLiteOpenHelper {
public static final String TABLE_NAME = "notes";
public static final String CONTENT = "content";
public static final String ID = "_id";
public static final String TIME = "time";
public NotesDB(Context context) {
super(context, "notes", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + "(" + ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + CONTENT
+ " TEXT NOT NULL," + TIME + " TEXT NOT NULL)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
這是主activity
import android.Manifest;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import com.ysuper2009.note.R;
import com.ysuper2009.note.db.NotesDB;
import com.ysuper2009.note.util.YPermissionManager;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import pub.devrel.easypermissions.AppSettingsDialog;
import pub.devrel.easypermissions.EasyPermissions;
public class MainActivity extends AppCompatActivity {
private String[] perms = {Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE} ;
private TextView tv;
//資料庫內容
private NotesDB notesDB;
private SQLiteDatabase dbWriter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView)findViewById(R.id.tx);
//YPermissionManager yPermissionManager = new YPermissionManager();
//yPermissionManager.checkBasePermission(this, perms);
notesDB = new NotesDB(this);
dbWriter = notesDB.getWritableDatabase();
add();
}
public void add(){
ContentValues cv = new ContentValues();
cv.put(NotesDB.CONTENT, "tongtong");
cv.put(NotesDB.TIME, getTime());
dbWriter.insert(NotesDB.TABLE_NAME, null, cv);
}
public String getTime(){
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date curDate = new Date();
String str = format.format(curDate);
tv.setText(str);
return str;
}
/*
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
@Override
public void onPermissionsGranted(int requestCode, List<String> perms) {
Toast.makeText(this, "permission is ok,please use it", Toast.LENGTH_SHORT).show();
}
@Override
public void onPermissionsDenied(int requestCode, List<String> perms) {
Toast.makeText(this, "permission fail", Toast.LENGTH_SHORT).show();
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
new AppSettingsDialog.Builder(this).build().show();
}
}
*/
}
uj5u.com熱心網友回復:

用as中插件打開是這樣子的,沒有資料。
uj5u.com熱心網友回復:
忘了說了,用的是macuj5u.com熱心網友回復:
在線等。。。。。。。。uj5u.com熱心網友回復:
好像都沒有創建成功吧。。。uj5u.com熱心網友回復:
看了資料,,忘了添加close,哈哈。uj5u.com熱心網友回復:
建議你學習androidx.room.*,相比手動操作SQLite,開發效率更高。轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/148465.html
標籤:Android
下一篇:Android CMake Error in CMakeLists.txt: is not a full path to an existing ....
