android下可以连接远程数据的,不过你远程的数据库服务的要开启远程,具体设置
Java利用JDBC访问数据库的编程步骤
android 链接mysql数据库实例:
package com.hl;import java.sql.DriverManager;
import java.sql.ResultSet;import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;import android.app.Activity;
import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class AndroidMsql extends Activity {
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btn=(Button)findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { sqlCon(); } }); } private void mSetText(String str){ TextView txt=(TextView)findViewById(R.id.txt); txt.setText(str); } private void sqlCon(){ try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e) { e.printStackTrace(); } try { String url ="jdbc:mysql://192.168.142.128:3306/mysql?user=zzfeihua&password=12345&useUnicode=true&characterEncoding=UTF-8";//链接数据库语句 Connection conn= (Connection) DriverManager.getConnection(url); //链接数据库 Statement stmt=(Statement) conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from user";//查询user表语句 ResultSet rs=stmt.executeQuery(sql);//执行查询 StringBuilder str=new StringBuilder(); while(rs.next()){ str.append(rs.getString(1)+"\n"); } mSetText(str.toString()); rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); }}
}
不过eclipse老是提示:
warning: Ignoring InnerClasses attribute for an anonymous inner class that doesn't come with an associated EnclosingMethod attribute. (This class was probably produced by a broken compiler.)不知道谁有解决的办法呢??