在android应用上直接访问数据库
来源:互联网 发布:android是什么软件 编辑:程序博客网 时间:2024/04/29 09:44
今天突然想在Android的应用上直接访问mysql数据库,结果还是遇到一些困难,所以和大家分享下。虽然不提倡把在前端直接访问数据库,因为安全性太差了,什么都暴露在外面的。
1.用JDBC来访问的话要注意版本的问题 ,注意架包和mysql的版本是否一致,这个很重要 很多人都以为是自己代码的问题,一直在研究自己的代码,怎么研究也没有错 结果发现是架包的问题
2.如何接下来就是撸代码了
Class.forName(“com.mysql.jdbc.Driver”);// 动态加载mysql驱动
conn = DriverManager.getConnection(url,user,password);
// Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
Statement stmt = conn.createStatement();
3.一开始问也以为前两步搞定完就可以连上了 结果我发现我太天真了,
在Android中进行网络连接才需要开多线程,但没想到连接数据库也需要开多线程的,一开始没开老是连不上,唉 那个蛋疼呀。
4.但是,人生坎坷呀,搞完又出现新的问题了,这个问题最坑爹,对于一个Android开发来说,一般都是后台直接给接口,哪里需要自己去搞数据库,原来为了安全起见,一般数据库都只允许本机访问,所以对在Android设备上是属于远程访问的,这是不被允许的,属于需要自己去设置数据库。
经过几番折腾才搞定这个问题
这是从其他人那里复制过来的解决方法
1、改表法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
mysql -u root -p
mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>select host, user from user;
2、授权法
在安装mysql的机器上运行:
1、d:\mysql\bin>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’WITH GRANT OPTION
//赋予任何主机访问数据的权限
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’IDENTIFIED BY ‘mypassword’ WI
TH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON . TO ‘myuser’@’192.168.1.3’IDENTIFIED BY
‘mypassword’ WITH GRANT OPTION;
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录
- 在android应用上直接访问数据库
- Mimer数据库在Android上的应用
- 【转】 Android应用启动时,焦点直接在EditText上,输入法直接打开,影响界面美观。
- Android应用启动时,焦点直接在EditText上,输入法直接打开,影响界面美观。
- Android数据库:通过JDBC直接访问MySql
- 在Linux开发环境下如何直接查看android数据库sqlite3中的表及数据、手机上直接编辑数据库
- 直接在android上运行c++程序
- 关于如何在访问一台服务器上数据库的数据(在hibernate上的应用)
- tomcat 直接访问应用
- 怎样在ESX server上直接访问vmdk文件
- 关于在浏览器上直接访问工程问题
- Applet直接访问数据库
- Applet直接访问数据库
- 页面直接访问数据库。
- 在接口上应用访问控制列表
- 在magento下如何直接操作访问数据库
- 在myeclispe中使用JDBC直接访问oracle数据库
- 工厂模式在数据库访问中的应用
- [leetcode] 83. Remove Duplicates from Sorted List 解题报告
- c++14对内存分配性能的重大优化
- 图---DFS剪枝
- 第六届福建省大学生程序设计竞赛 Problem A Super Mobile Charger【模拟】
- 源码探索系列12---关于事件分发机制
- 在android应用上直接访问数据库
- ASP.NET内置对象——Request和Response
- 《寻龙》VS《恶棍》VS《老炮》VS《万万》VS《唐人》
- hdu 2647拓扑排序
- Glassfish实例
- 第六届福建省大学生程序设计竞赛
- JSP学习总结
- pageencoding与charset的区别
- POJ1458 LCS