Android可以使用mysql数据库,android连接数据库的方式有两种。

第一种是通过连接服务器,再由服务器读取数据库来实现数据的增删改查,这也是我们常用的方式。

第二种方式是android直接连接数据库,这种方式非常耗手机内存,而且容易被反编译造成安全隐患,所以在实际项目中不推荐使用。

1.加载外部jar包

在Android工程中要使用jdbc的话,要导入jdbc的外部jar包,因为在java的jdk中并没有jdbc的api,我使用的jar包是mysql-connector-Java-5.1.18-bin.jar包,网络上有使用mysql-connector-java-5.1.18-bin.jar包的,自己去用的时候发现不兼容,所以下载了比较新版本的,jar包可以去官网下载,也可以去百度,有很多前人们上传的。

2.导入jar包的方式

方式一:

可以在项目的build.gradle文件中直接添加如下语句导入 compile files('libs/mysql-connector-java-5.1.18-bin.jar')

方式二:下载jar包复制到项目的libs目录下,然后右键复制过来的jar包Add as libs

三.建立数据库连接 protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_jdbc);

new Thread(runnable).start();

}

Handler myHandler=new Handler(){

public void handleMessage(Message msg) {

// TODO Auto-generated method stub

super.handleMessage(msg);

Bundle data=new Bundle();

data=msg.getData();

//System.out.println("id:"+data.get("id").toString()); //输出第n行,列名为“id”的值

Log.e("TAG","id:"+data.get("id").toString());

TextView tv= (TextView) findViewById(R.id.jdbc);

//System.out.println("content:"+data.get("content").toString());

}

};

Runnable runnable=new Runnable() {

private Connection con = null;

@Override

public void run() {

// TODO Auto-generated method stub

try {

Class.forName("com.mysql.jdbc.Driver");

//引用代码此处需要修改,address为数据IP,Port为端口号,DBName为数据名称,UserName为数据库登录账户,Password为数据库登录密码

con =

//DriverManager.getConnection("jdbc:mysql://192.168.1.202:3306/b2b", "root", "");

DriverManager.getConnection("jdbc:mysql://http://192.168.1.100/phpmyadmin/index.php:8086/b2b",

UserName,Password);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

testConnection(con); //测试数据库连接

} catch (java.sql.SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void testConnection(Connection con1) throws java.sql.SQLException {

try {

String sql = "select * from ecs_users"; //查询表名为“oner_alarm”的所有内容

Statement stmt = con1.createStatement(); //创建Statement

ResultSet rs = stmt.executeQuery(sql); //ResultSet类似Cursor

//ResultSet最初指向第一行

Bundle bundle=new Bundle();

while (rs.next()) {

bundle.clear();

bundle.putString("id",rs.getString("userid"));

//bundle.putString("content",rs.getString("content"));

Message msg=new Message();

msg.setData(bundle);

myHandler.sendMessage(msg);

}

rs.close();

stmt.close();

} catch (SQLException e) {

} finally {

if (con1 != null)

try {

con1.close();

} catch (SQLException e) {}

}

}

};

注意:

在Android4.0之后,不允许在主线程中进行比较耗时的操作(连接数据库就属于比较耗时的操作),需要开一个新的线程来处理这种耗时的操作,没新线程时,一直就是程序直接退出,开了一个新线程处理直接,就没问题了。

当然,连接数据库是需要网络的,千万别忘了添加访问网络权限:

四.bug点

1.导入的jar包一定要正确

2.连接数据库一定要开启新线程

3.数据库的IP一定要是可以ping通的,局域网地址手机是访问不了的

4.数据库所在的服务器是否开了防火墙,阻止了访问

android商品mysql_android使用mysql的方法总结相关推荐

  1. android json mysql_Android通过json向MySQL中读写数据的方法详解【写入篇】

    本文实例讲述了Android通过json向MySQL中写入数据的方法.,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Jav ...

  2. android json mysql_Android通过json向MySQL中读写数据的方法详解【读取篇】

    本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private vo ...

  3. vb mysql 转义字符,MySQL_在VB.NET应用中使用MySQL的方法, 绪言 在Visual Studio中使用 - phpStudy...

    在VB.NET应用中使用MySQL的方法 绪言 在Visual Studio中使用向导连接到MySQL数据库是一件相当棘手的事情.因为MySQL并不在VS2012默认支持的数据库中(比如SQL Ser ...

  4. android 消息推送方法,一种基于Android系统的消息推送方法技术方案

    [技术实现步骤摘要] 本专利技术涉及一种基于Android系统的消息推送方法,属于计算机 技术介绍 推送功能在手机应用开发中越来越重要,已经成为手机开发的必选项.消息推送,就是在互联网上通过定期传送用 ...

  5. win10 下Android 连接电脑本地MySQL数据库

    1.确认MySQL服务器防火墙关闭,若关闭,则下一步,若未关闭,进行设置 具体方法为 控制面板->系统和安全>Windows Defender 防火墙->高级设置->入站规则 ...

  6. Scrapy爬取当当网的商品信息存到MySQL数据库

    Scrapy爬取当当网的商品信息存到MySQL数据库 Scrapy 是一款十分强大的爬虫框架,能够快速简单地爬取网页,存到你想要的位置.经过两天的摸索,终于搞定了一个小任务,将当当网的商品信息爬下来存 ...

  7. 爬取京东本周热卖商品基本信息存入MySQL

    爬取京东本周热卖商品基本信息存入MySQL 网络爬虫介绍 概述 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或 ...

  8. android服务进阶,我的Android进阶之旅------Android服务的生命周期回调方法

    先引用一段官网上的文字 ======================================================================================== ...

  9. 最详细Android连接远程的MySQL数据库实例

    最详细Android连接远程的MySQL数据库实例 tags:MySQL 文章目录 最详细Android连接远程的MySQL数据库实例 前言 环境配置 查看MySQL:version方法 新建Andr ...

最新文章

  1. 起底软银帝国:芯片、机器人、棒球队无所不投
  2. Java——集合框架(List)
  3. shell基础05 处理用户输入
  4. Python开发-- Lesson 2--Python数据类型(2016/07/30)
  5. CCPC2018(秦皇岛站)赛后反思
  6. 带货造假,买完不能换货?李佳琦、汪涵、李雪琴直播被中消协点名后这样回应...
  7. Pcap封包维护工具
  8. python lncrna_分析指令备份.sh
  9. 全国夜间灯光指数数据、GDP密度分布、人口密度分布、土地利用数据、降雨量数据
  10. 计算机求数值公式,excel表格常用技巧大全/EXCEL表格常用的计算公式
  11. GIS行业地图绘制的基本要求
  12. 构建Raspberry Pi,脉冲传感器和LCD的心跳计数器
  13. AI专家Raj Reddy建议:政府应免费发放智能手机
  14. 《笨方法学python》第三版 来自Percal25号行星的哥顿人
  15. 全套BAT大厂面试题整理锦集
  16. 再先进的在线教学,也要回归这个本质
  17. Portraiture2023最新版本下载及PS磨皮的方法教程
  18. 【JavaSE】面向对象编程
  19. word2013打开后一直未响应完美解决方案
  20. 欧式距离和曼哈顿距离

热门文章

  1. 江苏省有JAVA技能大赛,江苏省职业学校技能大赛组委会
  2. 退出所有循环_Python学习之路9—循环的总结
  3. python开发项目架构图_我的第一个python web开发框架(8)——项目结构与RESTful接口风格说明...
  4. thread local性能 c++_MySQL 5.7 amp; MySQL 8.0 性能对比
  5. python深拷贝实现原理_从底层剖析Python深浅拷贝
  6. 数据结构之插入排序:希尔排序(缩小增量排序)
  7. (软件工程复习核心重点)第六章实现和测试-第三节:单元测试
  8. JS 查看标签下某元素所有信息(查看元素,查询元素,遍历元素、HTMLCollection对象、NodeList对象)
  9. 一些常用的命令整理(更新ing~)
  10. spark-sql createOrReplaceTempView 和createGlobalTempView区别