1. 关闭mysql服务器的防火墙。
2. 加入MySQL的jdbc包,添加到libs文件夹内。
3.ADT和SDK为16及16以下,17以上的不能访问。
4.手机和mysq服务器l互相ping通。
5.添加网络权限 : <uses-permission Android:name="android.permission.INTERNET" />
6.在Thread中连接访问mysql,防止ANR。
7.设置mysql允许远程连接。
代码如下:
package com.mayi.mysql_test
import java.sql.DriverManager
import java.sql.ResultSet
import com.mysql.jdbc.Connection
import com.mysql.jdbc.Statement
import android.os.Bundle
import android.app.Activity
import android.util.Log
import android.view.View
import android.view.View.OnClickListener
public class MainActivity extends Activity {
private static final String TAG = "MainActivity"
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
findViewById(R.id.select).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
select()
}
})
}
public void select(){
try{
//调用Class.forName()方法加载驱动程序
Class.forName("org.gjt.mm.mysql.Driver")
System.out.println("成功加载MySQL驱动!")
String url="jdbc:mysql://192.168.1.113:3306/test" //JDBC的URL
Connection conn
conn = (Connection) DriverManager.getConnection(url,"mayi","123456")
Statement stmt = (Statement) conn.createStatement()//创建Statement对象
System.out.println("成功连接到数据库!")
String sql = "select * from person" //要执行的SQL
ResultSet rs = stmt.executeQuery(sql)//创建数据对象
System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄")
while (rs.next()){
System.out.print(rs.getInt(1) + "\t")
System.out.print(rs.getString(2) + "\t")
System.out.print(rs.getString(3) + "\t")
System.out.print(rs.getString(4) + "\t")
System.out.println()
}
rs.close()
stmt.close()
conn.close()
}catch(Exception e)
{
Log.e(TAG, e.getMessage())
e.printStackTrace()
}
}
}
理论上,APP可以使用任何类型的数据库,不过目前用得较多的是MSSQL和MYSQL。一般开发APP用JAVA的比较多,可以考虑使用MYSQL。sqlite是一种小型数据,可以作为本地保存数据库,如果数据量比较大,交互比较频繁,不建议使用。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)