我要做个安卓手机客户端,再做个服务器端,通过服务器端访问Oracle数据库,本人安卓菜鸟,求高手指教,具体怎样实现。

解决方案 »

  1.   

    在我看来用Oracle的永远不是菜鸟这个我用的是mysql和sqlserver。在我看来应该也是一样的吧。通过java的jdbc来连接数据库。你服务器端如果是java编写的就非常简单了。
      

  2.   

    呵呵,我真的是菜鸟,因为毕业设计要做安卓方面的东西,所以才刚接触安卓。那请问您能说的再具体一下么 我是要用TCP网络编程
      

  3.   

    呵呵很简单的。我们做项目一般是通过手机客户端用httpconnect去请求服务器获取数据。在web服务器上建立好数据库通过jdbc连接。然后获取。发点代码你看看吧。
    public String getDataAsString(List<NameValuePair> params) {
    String result = null;
    try {
    httpRequest = new HttpPost(url);
    httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
    httpResponse = httpClient.execute(httpRequest);
    if (200 == httpResponse.getStatusLine().getStatusCode()) {
    result = EntityUtils.toString(httpResponse.getEntity());
    System.out.println("取得返回值" + result);
    // String[] nameAndKey = result.split("-_-");
    // if(nameAndKey.length==2){
    // String name = nameAndKey[0];
    // String key = nameAndKey[1];
    // myPreference.write("name001", name);
    // myPreference.write("key001", key);
    // }
    if (result.equals(YES)) {
    return YES;
    } else if (result.equals(NO)) {
    return NO;
    }
    }
    } catch (IOException e) {
    System.out.println("没有取得返回值");
    }
    return NO;
    }package com.pei.test;import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import com.pei.database.MyDbHelper;
    /**
     * class name:LoginServlet<BR>
     * class description:登录的一些数据和控制<BR>
     * PS:验证用户名和密码等等 <BR>
     * 
     * @version 1.00 2011/09/21
     * @author CODYY)peijiangping
     */
    public class LoginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private String username;
    private String password;
    private String key;
    protected void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("utf-8");
    username = request.getParameter("username");
    password = request.getParameter("password");
    key=username+"00";
    if (doyanzheng() == true) {
    MyDbHelper db = new MyDbHelper();
    try {
    String sql = "insert into test(username,keyname) values('"+username+"','"+key+"')";
    db.insert(sql);
    db.closed();
    } catch (Exception e) {
    e.printStackTrace();
    }
    // 跳转界面,进入metting.jsp传name值过去
    // request.setAttribute("key", key);
    // request.getRequestDispatcher("/jsp/metting.jsp").forward(request,
    // response);
    response.sendRedirect("/Good/jsp/metting.jsp?key="+key); 
    }
    } private boolean doyanzheng() {
    // 验证用户名和密码
    return true;
    } protected void doPost(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
    /* 接收post请求 */
    doGet(request, response);
    }
    }
      

  4.   

    通过JSON来做数据交互吧。
    例如:客户端发送一段SQL语句到服务器,服务器发送到数据库执行,将执行结果组装为JSON返回给客户端。楼主说的那种客户端直接连接到服务器的数据库进行操作,理论上是行不通的。
      

  5.   

    连接oracle数据库最好是使用webservice访问。。不过这样需要在服务器端编写并部署webservice服务
      

  6.   

    我就是想要客户端发送一段SQL语句到服务器,服务器发送到数据库执行,将执行结果返回给客户端,除了您说的JSDN,还有别的方法么?
      

  7.   

    你可以去看看android的HTTP操作中的get和post,可以做到。
    但是你把SQL语句发送到服务器,有没有考虑过安全性方面的问题?
    如果这样做那就根本没有安全性可言了,任何人只要知道了网址就可以进行SQL注入了,估计毕业设计也够呛。
    我建议你在服务器端使用webservice,客户端调用webservice里面的方法。或者还是使用HTTP操作,调用里面的方法,而不是直接传SQL语句
      

  8.   

    发送sql语句去服务器是大错特错的。。
      

  9.   

    既然是菜鸟为啥要用Orecale呢,还是用MySql吧,先上手再说
      

  10.   

    通過WEBSERVICE連ORCLE吧,這樣最簡單,而且各平臺對對WEBSERVICE都有很我的支持
      

  11.   

    我用webservice现在是实现了,但是在手机上的性能不是很理想,速度比较慢!很困惑!