/************************************************************

                                                声明:如需转载,请注明出处!

              ************************************************************/



本篇博客基于 http://blog.csdn.net/androidbluetooth/article/details/7716175


在上篇博客里面,介绍了jdbc 的远程连接操作,并且成功了。

点击这里,查看细节。


那么,我们是否可以将这种操作移植到 android 上面?


答案是肯定的,不信你往下看。


程序效果图




项目结构





项目文件中新建 libs 目录,将 jdbc 的 jar 文件放到里面。


这样 adt 插件自动将该 jar 添加到 build path.


数据库表里面的原始数据




插入数据




删除数据




更新数据





Main.java


package mark.zhang;import java.sql.Connection;import java.sql.SQLException;import android.app.Activity;import android.os.Bundle;import android.view.View;public class Main extends Activity {private static final String REMOTE_IP = "192.168.1.102";private static final String URL = "jdbc:mysql://" + REMOTE_IP + "/mydb";private static final String USER = "mark";private static final String PASSWORD = "123456";private Connection conn;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}public void onConn(View view) {conn = Util.openConnection(URL, USER, PASSWORD);}public void onInsert(View view) {String sql = "insert into mytable values(9, 'hanmeimei')";Util.execSQL(conn, sql);}public void onDelete(View view) {String sql = "delete from mytable where name='mark'";Util.execSQL(conn, sql);}public void onUpdate(View view) {String sql = "update mytable set name='lilei' where name='hanmeimei'";Util.execSQL(conn, sql);}public void onQuery(View view) {System.out.println("All users info:");Util.query(conn, "select * from mytable");}@Overrideprotected void onDestroy() {super.onDestroy();if (conn != null) {try {conn.close();} catch (SQLException e) {conn = null;} finally {conn = null;}}}}

Util.java

package mark.zhang;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Util {public static Connection openConnection(String url, String user,String password) {Connection conn = null;try {final String DRIVER_NAME = "com.mysql.jdbc.Driver";Class.forName(DRIVER_NAME);conn = DriverManager.getConnection(url, user, password);} catch (ClassNotFoundException e) {conn = null;} catch (SQLException e) {conn = null;}return conn;}public static void query(Connection conn, String sql) {if (conn == null) {return;}Statement statement = null;ResultSet result = null;try {statement = conn.createStatement();result = statement.executeQuery(sql);if (result != null && result.first()) {int idColumnIndex = result.findColumn("id");int nameColumnIndex = result.findColumn("name");System.out.println("id\t\t" + "name");while (!result.isAfterLast()) {System.out.print(result.getString(idColumnIndex) + "\t\t");System.out.println(result.getString(nameColumnIndex));result.next();}}} catch (SQLException e) {e.printStackTrace();} finally {try {if (result != null) {result.close();result = null;}if (statement != null) {statement.close();statement = null;}} catch (SQLException sqle) {}}}public static boolean execSQL(Connection conn, String sql) {boolean execResult = false;if (conn == null) {return execResult;}Statement statement = null;try {statement = conn.createStatement();if (statement != null) {execResult = statement.execute(sql);}} catch (SQLException e) {execResult = false;}return execResult;}}

main.xml

<?xml version="1.0" encoding="utf-8"?>    


manifest.xml


<?xml version="1.0" encoding="utf-8"?>                                                                                            

注意:

 


-----------------------------------------------------------------------------

2016.7.28 更新

-----------------------------------------------------------------------------

首先非常感谢@lyz12600对工程的整理.

大家可以去下载 AndroidStudio 的代码, 运行, 有问题多交流.

下载地址:http://download.csdn.net/detail/lyz12600/9581532

再次感谢@lyz12600.


扫一扫关注一下我的公众号




更多相关文章

  1. Android(安卓)关于显示键盘,布局错乱网上顶的问题
  2. android开发模式LiveData+ViewModel+Room+Retrofit
  3. Android(安卓)上实现微信微博上的应用语言切换
  4. android分组数据适配器demo
  5. android 数据库更改数据库位置【DbFlow示范】
  6. android之Gallery
  7. Android页面跳转是如何传递参数的
  8. android登录简单窗口
  9. mybatisplus的坑 insert标签insert into select无参数问题的解决

随机推荐

  1. Android(安卓)cts all pass 全攻略
  2. Android(安卓)Layout布局文件里的android
  3. Android(安卓)Layout布局文件里的android
  4. Android(安卓)DEV : setOnClickListener(
  5. android多框架实现短视频应用、3D手势旋
  6. 有关Android调用服务全解析
  7. Android(安卓)UI开发第九篇——SlidingDr
  8. Android开发人员必备的10 个开发工具
  9. Android的常用传感器
  10. Android中对Log日志文件的分析