学习数据库遇到的问题。

ff_super 2019-05-27 08:40:08
小白刚学习数据库的基础知识,照视频做怎么打开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();
}
}

*/

}
...全文
273 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tq1086 2019-05-31
  • 打赏
  • 举报
回复
建议你学习androidx.room.*,相比手动操作SQLite,开发效率更高。
ff_super 2019-05-30
  • 打赏
  • 举报
回复
看了资料,,忘了添加close,哈哈。
引用 4 楼 gxh_apologize 的回复:
好像都没有创建成功吧。。。
gxh_apologize 2019-05-28
  • 打赏
  • 举报
回复
好像都没有创建成功吧。。。
ff_super 2019-05-27
  • 打赏
  • 举报
回复
在线等。。。。。。。。
ff_super 2019-05-27
  • 打赏
  • 举报
回复
忘了说了,用的是mac
ff_super 2019-05-27
  • 打赏
  • 举报
回复
用as中插件打开是这样子的,没有数据。

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧