初次用Android开发APP碰到的一些问题


前言

我参照《第一行代码(第2版)》,尝试使用sqlite建立数据库,并把过程中遇到的一些问题及解决方案记录下来。


问题一

使用adb shell查看表的时候,输入cd /data/data/com.example.administrtor.databasesave/databases/后,报错permission denied。
查询资料后发现,这是因为没有获取root权限,需要输入su root或者su,并按下回车,以获取root权限。但是,我照着上面的方法操作后,依然报错。继续查资料发现,我在Android studio中使用的模拟器是Google play类型的,而Google play类型的模拟器并没有root权限,因此需要更换模拟器,把模拟器换成Google APIs类型。
初次用Android开发APP碰到的一些问题_第1张图片

初次用Android开发APP碰到的一些问题_第2张图片

问题二

通过命令提示符窗口运行adb shell在查看数据库中内容时,输入状态变成"…>"这样的。(本来是"sqlite>"的)后来就无法继续操作了。

这是错误的情况。初次用Android开发APP碰到的一些问题_第3张图片

解决方法:在出现“…>”的时候,再输入一个“;”,敲回车后即可恢复正常状态。

补充:现在是2022.5.21,好几个月没用sqlite,忘记sqlite怎么使用了,今天回忆了半天。这里附上命令行使用截图,以防下次要用。
初次用Android开发APP碰到的一些问题_第4张图片

问题三

"CREATE TABLE signin (" +
                "  TNo int  NOT NULL," +   //COMMENT '教师工号'
                "  SNo int(10) NOT NULL," +  //COMMENT '学号'
                "  CNo int(10) DEFAULT NULL ," +  //COMMENT '课程号'
                "  SITime datetime DEFAULT NULL," +    //COMMENT '签到日期'
                "  PName varchar(10) DEFAULT NULL," +  //COMMENT '授课地点名称'
                "  IFSI tinyint DEFAULT NULL," +   //COMMENT '是否签到'
                "  TCTime varchar(16) NOT NULL," + //COMMENT '授课时间'
                "  signinnumber integer  autoincrement," +   //COMMENT '签到编号'
                "  CONSTRAINT `signin_ibfk_1` FOREIGN KEY (SNo) REFERENCES student (SNo) ON DELETE CASCADE ON UPDATE CASCADE," +
                "  CONSTRAINT `signin_ibfk_3` FOREIGN KEY (CNo) REFERENCES course (CNo) ON DELETE CASCADE ON UPDATE CASCADE" +
                "); "

在上述代码块中,形如这样:signinnumber integer autoincrement, 的代码会报错。因为在sqlite中,自增字段(autoincrement)需要使用关键字INTEGER PRIMARY KEY。所以应该改成

"  signinnumber integer PRIMARY KEY autoincrement,"

问题四

插入图片时,图片有白色的背景,很不美观。那么怎么去除白色背景呢?有一个简单粗暴的在线去底工具(仅限去除白底)。详情请见链接:
https://blog.csdn.net/qq_40946921/article/details/84901191?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-2.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-2.pc_relevant_aa&utm_relevant_index=5

去底工具的链接:http://www.aigei.com/bgremover/

你可能感兴趣的:(sqlite,android,studio,数据库)