androidsqlsever

来源:互联网 发布:小说下载网站源码 编辑:程序博客网 时间:2024/05/23 20:37

首先声明我是个菜鸟,如有错误请大神指正。
android——-severlet——–sqlsever
首先建立一个javaweb工程,连接数据库(千万不要加载错驱动和jar包)MyEclipse中的代码如下:

public static void close(ResultSet rs,Statement st,Connection conn){        try {            if(rs!=null)                rs.close();            if(st!=null)                st.close();            if(conn!=null)                conn.close();        } catch (SQLException e) {            e.printStackTrace();        }    }    public static Connection getConnection(){        try { // 加载驱动程序            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");            return  DriverManager.getConnection(                    "jdbc:sqlserver://localhost:1433;DatabaseName=contact",                    UserName, Password);            //System.out.println("成功");        } catch (ClassNotFoundException e) {            System.out.println("加载驱动出错");        } catch (SQLException e) {            System.out.println("连接失败");        } catch (Exception e) {            System.out.println(e.getMessage());        }        return null;    }   

数据库连接完毕之后,就是完成了javaweb—-sqlsever,至于一些增删改查的功能代码就不贴了。接下来完成android——javaweb这里面就要用到上课学到的severlet,代码如下:

public class CoreServlet extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doGet(request, response);    }    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        request.setCharacterEncoding("utf-8");        response.setContentType("text/html;charset=utf-8");        String action = request.getParameter("action");        PrintWriter out = response.getWriter();        if ("send".equals(action)) {            String m = request.getParameter("msg");            InsertTable ii = new InsertTable();            ii.insert(m);//简单执行数据的插入            System.out.print("send success");        } else {            out.print("no send");        }        out.close();    }}

利用tomca他,访问本地服务器。eclipse里面的代码如下:
布局文件十分简单,就一个EditText和一个button:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity" >    <EditText         android:id="@+id/id_phone1"        android:layout_width="match_parent"        android:layout_height="100dp"        />    <Button        android:id="@+id/id_button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="确定" /></LinearLayout>

点击button就能够把数据添加到sqlsever中;MainActivity中的代码如下:

public class MainActivity extends Activity {    private Button myButton;    private EditText myEditText;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        myButton = (Button) findViewById(R.id.id_button);        myEditText = (EditText) findViewById(R.id.id_phone1);        myButton.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                String ss = myEditText.getText().toString();                // TODO Auto-generated method stub                sumbit(ss);                System.out.println(ss);                Toast.makeText(MainActivity.this, ss, Toast.LENGTH_LONG).show();            }        });    }    private void sumbit(String msg) {        // FinalHttp本身就是新开的线程,不需要在new Thread中,否则会出错        FinalHttp fh = new FinalHttp();        fh.configTimeout(10000);        fh.get("http://192.168.199.225:8080/messageTest/CoreServlet?action=send&msg="                + msg, new AjaxCallBack<String>() {            @Override            public void onFailure(Throwable t, int errorNo, String strMsg) {                Toast.makeText(MainActivity.this, "fail", 0).show();            }            @Override            public void onSuccess(String t) {                Toast.makeText(MainActivity.this, t, 0).show();            }            @Override            public void onStart() {                Toast.makeText(MainActivity.this, "begin", 0).show();            }        });    }}

最后测试结果如下:这是在android填写的数据
这是sqlsever中成功添加的数据

0 0