但问题在于数据库的信息,用户密码存储在客户端,容易给反编译出来(难度这个我不清楚,你做ios开发可能清楚点)。而当发生安全问题的时候,要改密码或者数据库地址,麻烦事就来了,总不能让用户再升级一次(ios的发布期你也知道)。
此外还要考虑数据在传输过程中是否加密,是否证书方式,现在的网络,劫持植入广告满街都是。好像苹果那边有限制今后的新软件要ssl才行。
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.)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)