Android 存储问题,小白求问

以前没有开发过Android,主要是做一些windows窗体,web项目。
所以在接触Android的时候,我就疑惑了。在我拖拽完登录UI后,准备写代码了。我的想法是,创建一个数mysql据库,里面有一个User表,表里面有账号、密码,然后我在登录的时候验证。 我在网上找了点demo,但是在很多demo中并没有连接数据库的字符,也没有相应代码,万般辛苦的找到一个有数据库的连接的时候,还没下载,就看到一堆人评论说,为什么要这么做?我查阅了一些资料,了解到Android的存储方式,但是,并没有人说为什么。比如,为什么Android要用这些存储方式,为什么不直接连接数据库,这样做有什么不好么?

5个回答

android上也有本地的小数据库,比如sqlite,为什么不用mysql oracle,因为这些数据库比较大,需要在高性能的服务器上运行,在手机上没办法运行,或者即便可以运行,也耗费电力,浪费cpu。
这些数据库的很多功能,对于本地程序来说没有什么意义,比如说多用户、存储过程、作业,本地存储一点数据根本用不到。所以不用。
还有一个,就是为什么不远程连mysql oracle,而是需要本地数据库,这个道理很简单,一个是可以节约流量,一个是可以提高程序的响应,因为手机不是实时都联网,并且都高速联网的,一些数据,比如用户偏好设置、缓存等存储在本地,无论是否联网,程序都可以工作。可以给用户很好的体验。
除了使用sqlite这种本地数据库,还可以用文本文件、xml文件等保存数据。

qq_27830847
兜兜351654 回复CSDN 是社会人 攒够C币 跑了商城: 万分感谢!!!
大约一年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复兜兜351654: 将输入的用户名密码和数据库里的用户名密码比较,如果一致就合法,否则就非法。另外,如果是有服务器端的程序,要先和服务器的比较,如果离线,再和本地数据库的比较。
大约一年之前 回复
qq_27830847
兜兜351654 能不能问个问题,如果我用sqlite,假设做一个登录,我怎么验证这个账户的合法性?我怎么确认这个用户注册过了,是我数据库里面的用户。
大约一年之前 回复

首先,你要明白在Android端链接远程数据库,有以下几个问题:1,网络问题,Android端不可能一直联网。2,Android端链接数据及其不安全,普通的开发人员通过抓包完全可以获取你的数据库链接。3,Android的数据如果从数据库中读取数据和从接口获取数据有很大的性能差异。4,Android如果集成数据库访问链接,势必会增大安装包的大小,远不如json的轻量级数据来的好。5,Android端如果链接数据库,那么对数据库的访问量势必增大,远比不上一个后台来访问。

如果你想用mysql来存储数据那么你得在后端将数据从mysql数据库中取出来转化成JSON或者XML这种数据格式。
然后从你Android编写得项目中用网络请求得到后台转化好的JSON或XML数据,之后之间在Android代码解析这些格式的数据就好了。

一般安卓程序都是跑在移动端的,而且网络也不稳定,不可能一直和mysql保持连接,所以一般存储一些本地数据的话都是使用sqlite,文件等等一些本地的存储方式,如果需求需要获取远程数据库的数据的话,那就有很多种方式了,比较典型的就是搭建一组web服务器,通过调用api的方式进行数据传递

1.如果你需要一套完整并且支持登录注册那么肯定是服务端+app端了,用post请求服务器得到数据
2.如果你只是本地玩玩sqlite完全可以胜任,自行搜索android sqlite
3.如果你本地玩玩想做成1的那种形式,那么你想多了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问