Android实现数据库链接
2016-06-15 19:56
344 查看
用Android程序去直连MySQL数据库,觉得这样做不好,出于安全等方面考虑。数据库地址,用户名密码,查询SQL什么的都存在程序里,很容易被反编译等方法看到。
建议把表示层和数据层逻辑分开,数据层对应网页的表示层提供接口,同时在为Android手机端提供一个接口,简介访问数据库,这接口可以2端都保持一致,比如XML+RPC或者json等等,Android端也有现成的东西能直接用,既安全又省事。
android 链接MySQL数据库实例:
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.)
不知道谁有解决的办法呢??
建议把表示层和数据层逻辑分开,数据层对应网页的表示层提供接口,同时在为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(); 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.)
不知道谁有解决的办法呢??
相关文章推荐
- Android Studio设置颜色拾色器工具Color Picker
- 【翻译】Android Support Library Fe 4000 atures(二)
- 如何实现android跳转页面并传递参数
- 【翻译】Android Support Library(一)
- Android实现 界面切换
- android 自定义控件(二)
- Android开发的学习路线
- 【Android】各种小知识点,不间断更新
- android应用程序第8课:CheckBox
- 【翻译】Android Support Library Setup(三)
- Picasso--Android图片加载开源库
- Android动画初探-实现淘宝加入加入购物车的效果
- Android中MediaMuxer和MediaCodec用例 - audio+video
- Android版本更新,下载完成安装后提示,应用未安装
- Android Res资源适配详解
- 移植memtester到android平台
- Android M新的运行时权限开发者需要知道的一切
- android中的资源,资源与xml文件
- Android中采用的MVC框架
- Android访问数据文件