在Android平台如何上访问mysql数据库?

这是一个陷阱,不要相信,不要做。

温馨提醒:检查SQL语句和数据库连接配置。

手机直播源码,Android Studio用户登录及验证

嘿伙计,说到代码优化,我真的有话要说。
我记得那一年,我在一家初创公司做Android开发,当时我们使用SQLite进行用户登录。
结果发现,这是一个真正的陷阱,问题很多。

首先我当时只是在构造函数中直接调用了getReadableDatabase(),然后就没有关心关闭数据库了。
有一次,APP正在后台运行,用户突然进行了一个操作。
结果数据库没有关闭就崩溃了。
这件事让我在团队中名声大噪,成为“数据库关闭高手”。

那么数据库版本管理也简单明了。
直接删除表并升级只是一场赌博。
有一次,我们升级了数据库版本,所有用户数据丢失,给用户带来了困难。

最疯狂的是,当时我直接写SQL语句,连接字符串。
当时我并没有真正意识到 SQL 注入的危险。
有一次,用户通过 SQL 注入篡改了我们的数据库,所有数据都被更改。

还有 update() 方法,该方法拼写错误并且缺少 WHERE 条件。
如果有人恶意利用这一点,后果将不堪设想。

查询功能也是如此。
结果,游标没有关闭,导致内存泄漏。
APP运行时间较长后崩溃。

密码存储更加疯狂。
它以明文形式存储。
如果用户数据泄露怎么办?
后来痛定思痛,开始优化代码。
首先,我使用参数化查询而不是连接字符串,这降低了 SQL 注入的风险。
然后,对于密码存储,我添加了散列。
虽然例子简化了,但至少安全了很多。

最后我还添加了游标关闭处理,并提供了数据库关闭方法,这样资源管理就到位了。

但是说实话,后来我改变了工作,使用了room持久化库。
这操作简直是无与伦比。
除了HTTPS加密之外,密码安全也得到了保证。

现在回想起来,当时的陷阱真是令人难忘。
不过,它也教会了我很多。
兄弟,你以后发展的时候,一定要小心这些陷阱!

android 怎么连接数据库

在Android中,当你使用自己的数据库时,它就像你自己的保险箱一样,其他应用程序根本无法打开它。
数据库存储在设备中的以下位置:/data/data/package_name/databases,package_name 是应用程序的名称。

如果你想把这个数据库文件弄出来,在Eclipse时代就可以做到。
找到“导出”按钮并单击它。
数据库文件已下载。
您必须查看图片才能确切知道它是什么样子。

如果你想查看数据库里有什么,你需要使用一个叫做SQLiteDatabaseBrowser的工具。
当这个东西打开数据库文件时,你可以清楚地看到它包含的表格和数据。
同样,您需要查看图片才能了解如何使用它。

说实话,目前这个流程主要使用Android Studio,Eclipse早已被淘汰。
但原理是一样的,还是老一套。
当时我不明白我为什么这么做,现在我也没有多想。
不管怎样,它就是有效的。