建议把表示层和数据层逻辑分开,数据层对应网页的表示层提供接口,同时在为Android手机端提供一个接口,简介访问数据库,这接口可以2端都保持一致,比如XML+RPC或者json等等,Android端也有现成的东西能直接用,既安全又省事。
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()
数据库很多,但是安卓直接支持的数据库只有sqlite一种。如果要使用其它的非本地数据库,你得建立连接,采用webservice或http协议中转数据。安卓访问mysql里的数据得:
1)先建立网络,使用WIFI局域网
2)在PC建立数据访问接口,编写http协议应用(方法非常多。 asp、php、jsp都有访问mysql的方法),还得关掉防火墙
3)编写安卓手机客户端连接设备的http service
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)