`
zrj_software
  • 浏览: 201505 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

android访问远程数据库

阅读更多

今天看到一遍文章,文章罗列了iPhone不具备android系统的十大功能!其实除了功能上的还有其他方面,比如android比iPhone实惠多了,不管你是购机者还是开发者,假如你要开发iPhone那么首先你得花两个月的工资买台apple,还得学习那罕见的语言objective-c,敢问有几学过啊?好了,言归正传,那十大功能其中有一条是,可以用电脑控制android手机!不知道有没有朋友想过:假如我要利用android手机控制电脑又该如何控制呢? 哈哈,若也有此想法的盆友们咱门可以一起讨论讨论啊=="
这几天的苦思冥想,终于冒出了个想法,不知可行否,贴出来与大家分享下,那个该批该评的别客气哈~~
方法:利用android手机修改远程数据库的数据—>电脑里的某个软件不断的从数据库里取数据,然后根据不同的数据作出相应的反应,这样看起来就是android来控制电脑了哈!
那么这里首先有个问题,我们知道现在android还是不支持直接访问远程数据库的,那么我们该如何去访问远程数据库呢? 这也是今天我要和大家分享的啊! 我们可以用下面的方案来实现:
客户端-Tomcat服务器-远程数据库。其中客户端与服务器通过XML文件来交互,服务器与数据库那就是XML与数据库之间的转换啦! 这在我前两篇文章里就是XML与数据库的交换了,不明白的童鞋可以翻出来看看啊! 那么我们要从客户端如何来操纵服务器与数据库的交互呢?我们可以从客户端里调用服务器里的jsp文件,ok,到这相信大家也就基本明白了吧,不明白的再交流。
下面贴出一段数据库转换成XML文件的JSP代码

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%
Connection conn;
Statement stmt;
ResultSet rs;
try
	{
		File file=new File("sqltoxml.xml");
		file.createNewFile();
		FileWriter fw = new FileWriter(file); 
		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	    String URL="jdbc:sqlserver://localhost:1433;databaseName=eZ7IC";
	    String user="sa";
	 	String password="zrj";
	    conn = DriverManager.getConnection(URL,user,password);
	    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
	    rs = stmt.executeQuery("select * from ICDM001");
		fw.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n");
		fw.write("<eZ7IC>\r\n");
		while(rs.next())
		{
			fw.write("<ICDM001>\r\n");
			fw.write("<ICDM0a00>");
			String ICDM0a00 = rs.getString("ICDM0a00");
			fw.write(ICDM0a00);
			fw.write("</ICDM0a00>\r\n");
			fw.write("<ICDM0a01>");
			String ICDM0a01 = rs.getString("ICDM0a01");
			fw.write(ICDM0a01);
			fw.write("</ICDM0a01>\r\n");
			fw.write("<ICDM0a02>");
			String ICDM0a02= rs.getString("ICDM0a02");
			fw.write(ICDM0a02);
			fw.write("</ICDM0a02>\r\n");
			fw.write("<ICDM0a03>");	
			String ICDM0a03 = rs.getString("ICDM0a03");
			if(rs.wasNull())
				ICDM0a03 = "NULL";	
			fw.write(ICDM0a03);
			fw.write("</ICDM0a03>\r\n");
			fw.write("<ICDM0a04>");
			String ICDM0a04 = rs.getString("ICDM0a04");
			fw.write(ICDM0a04);
			fw.write("</ICDM0a04>\r\n");
			fw.write("<ICDM0a05>");
			String ICDM0a05 = rs.getString("ICDM0a05");
			fw.write(ICDM0a05);
			fw.write("</ICDM0a05>\r\n");
			fw.write("<ICDM0a06>");
			String ICDM0a06 = rs.getString("ICDM0a06");
			if(rs.wasNull())
				ICDM0a06 = "NULL";
			fw.write(ICDM0a06);
			fw.write("</ICDM0a06>\r\n");
			fw.write("</ICDM001>\r\n");
		}
		fw.write("</eZ7IC>");
		fw.close();
	}catch(Exception e){
		e.printStackTrace();
	}
%> 
</body>
</html>

 

是不是似曾相识啊? 对的,就是前一篇的代码转换为JSP代码而已!XML文件数据写进数据库的JSP代码也就不多说,仿照上面的就可以了!
然后在android里我们利用WebView来调用JSP文件,简单代码如下:

package zrj.sqlxmljsp;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.widget.Button;

public class SQLXMLJSP extends Activity {
    /** Called when the activity is first created. */
	private Button RButton,WButton;
	private WebView WebView1;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        RButton = (Button)findViewById(R.id.button1);
        WButton = (Button)findViewById(R.id.button2);
        RButton.setOnClickListener(new RButtonListener());
        WButton.setOnClickListener(new WButtonListener()); 
		WebView1 = (WebView)findViewById(R.id.WebView1);
    }
    class RButtonListener implements OnClickListener  //从数据库读取数据 创建XML文件
    {
    	@Override
    	public void onClick(View v) {
			try{
				String actionuri="http://192.168.0.126:8888/sqlandxml/WebContent/test1.jsp";  
			    WebView1.loadUrl(actionuri);
			}
			catch(Exception e){
				e.printStackTrace();
			}
    	}
    }
    class WButtonListener implements OnClickListener  //插入数据
    {
    	@Override
    	public void onClick(View v)
    	{
    		try{
    			String actionuri="http://192.168.0.126:8888/sqlandxml/WebContent/test2.jsp";
			    WebView1.loadUrl(actionuri);
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    	}
    }
    	
}

 

ok,完成上面的工作,咱们就实现了android访问远程数据库了!

2
0
分享到:
评论
3 楼 songshijia88888 2012-03-14  
正在找这方面的资料,很有用!
2 楼 zhonglushu 2011-09-22  
没看到什么实际意义
1 楼 yinger_fei 2011-09-05  
android 不能直连远程数据库么?

相关推荐

    利用JSON WebService实现Android访问远程数据库.pdf

    "利用JSON WebService实现Android访问远程数据库" 本文主要介绍了如何使用JSON WebService实现Android访问远程数据库。随着无线网络的普及和Android系统的发展,移动设备的性能和内存无法与PC相比,绝大多数数据库...

    android访问远程数据库两种方式.pdf

    在Android开发中,访问远程数据库是常见的需求,通常有两种主要的方法:基于HTTP协议获取数据和使用WebSocket进行实时通信。本文将详细探讨第一种方法,即如何通过HTTP协议从服务器获取数据。我们将使用Java的Struts...

    Android Studio远程数据库操作实现源码

    在Android开发中,远程数据库操作是一项重要技能,它允许应用程序通过网络与远程服务器进行数据交互,从而实现数据的存储和检索。本项目是基于Android Studio的,提供了实现远程数据库操作的源码,以及一个简单的...

    基于HttpClient的Android远程数据库访问

    摘要:虽然Android有SQLite的支持,但...而访问远程数据库的方法多种多样,主要分为直接和间接两种。直接访问采用JDBC连接技术,但其安全性较低,间接方法主要通过客户端向服务器发送请求,进而采用数据传输的方式进行

    Android实现远程数据库的服务端

    在Android应用开发中,直接与远程数据库交互可能会面临多种挑战,包括安全性、性能以及网络通信的复杂性。为了解决这些问题,通常会采用中间件作为桥梁,以简化数据交换过程。这里的"Android实现远程数据库的服务端...

    Android配合WebService访问远程数据库.docx

    Android 配合 WebService 访问远程数据库 Android 与服务器端数据交互是移动应用开发中非常重要的一部分。在本文中,我们将介绍如何使用 WebService 访问远程数据库,并在 Android 客户端中调用服务器端方法获取...

    利用JSON实现Android高效、安全访问远程数据库的一种方式.pdf

    "利用JSON实现Android高效、安全访问远程数据库的一种方式" JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它可以将JavaScript对象中的数据转换为字符串,然后可以在函数之间轻松地传递这个字符...

    Android客户端远程登录web服务器数据交换实例

    在Android开发中,实现客户端与Web服务器的数据交换是一项常见的任务,尤其在移动应用需要与远程数据库交互时。本文将深入探讨“Android客户端远程登录Web服务器数据交换实例”,讲解如何使用MySQL数据库、JSON数据...

    android远程链接数据库

    由于Android系统本身并不直接支持远程数据库的直接访问,因此我们需要采取一些间接手段来实现这一目标。 本文将介绍一种常见的解决方案,即通过客户端-服务器架构,利用XML作为数据交换格式,借助JSP脚本在服务器端...

    android连接电脑数据库

    - **USB调试**:通过开启Android设备的USB调试模式,开发者可以使用ADB(Android Debug Bridge)工具直接访问设备上的SQLite数据库,进行数据查看和修改。 - **网络连接**:通过WiFi或移动网络,Android应用可以通过...

    android客户端远程操作数据库

    基于android客户端(ADT22、API18),通过HTTPGet与服务端通信,在URL传输参数指令,读取服务端反馈回来的结果,实现远程操作MySQL数据库。服务端基于MyEclipse10环境,使用servelet+struts2+tomcat,接收客户端HTTP...

    android远程连接MYSQL数据库

    本教程将探讨如何在Android应用中实现远程连接到MySQL数据库。标题"android远程连接MYSQL数据库"暗示了我们将讨论这一关键技能。 首先,我们要知道Android系统本身并不支持直接连接到MySQL数据库,因为Android设备...

    android通过JDBC直接访问Mysql数据库

    - 在`AndroidManifest.xml`文件中添加互联网访问权限,因为JDBC访问远程数据库通常需要网络支持。 ```xml &lt;uses-permission android:name="android.permission.INTERNET"/&gt; ``` 2. **引入MySQL JDBC驱动**: - ...

    android连接mysql数据库例子

    不过,值得注意的是,由于Android应用直接访问远程数据库可能引发安全问题,因此在生产环境中,通常推荐使用更安全的云数据库服务,如Firebase Realtime Database或Firestore,或者自建的RESTful API。

    通信与网络中的基于HttpClient的Android远程数据库访问

    摘要:虽然Android有SQLite的支持,但...而访问远程数据库的方法多种多样,主要分为直接和间接两种。直接访问采用JDBC连接技术,但其安全性较低,间接方法主要通过客户端向服务器发送请求,进而采用数据传输的方式进行

    android连接MySQL数据库

    本文将深入探讨如何在Android Studio中操作MySQL数据库,实现Android应用与远程服务器之间的数据交互。 首先,了解基础知识是必要的。Android Studio是Google提供的一个强大的集成开发环境(IDE),用于构建Android...

    delphiXE7开发android直接操作SQL2008数据库

    在本主题中,我们将深入探讨如何使用Delphi XE7在Android环境中开发应用程序,以便直接操作远程的SQL Server 2008数据库。这涉及到客户端(Android应用)和服务器端的交互,以及对数据库的基本CRUD(创建、读取、...

Global site tag (gtag.js) - Google Analytics