尝试将我的Android应用程序连接到服务器上的postgres数据库

时间:2013-03-20 10:50:19

标签: java android jdbc

我正在尝试将我的Android应用程序连接到在服务器上运行的postgres数据库,但我遇到了问题。

以下是我的代码,

@TargetApi(Build.VERSION_CODES.GINGERBREAD)
private void download() throws IOException {
    // TODO Auto-generated method stub
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
            .permitAll().build();
    StrictMode.setThreadPolicy(policy);
    int response = -1;
    InputStream in = null;

    try {
        Class.forName("org.postgresql.Driver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
        text.setText((CharSequence) e);}
    try {
    HttpURLConnection conn1;
    String urli = "jdbc:postgresql://"my ip":5432/iwmp_prd?user=postgres";
    conn1 = (HttpURLConnection) DriverManager.getConnection(urli);
URL url = new URL(urli);
        //HttpURLConnection conn1 = url.openConnection();
         conn1.connect();
        if (!(conn1 instanceof HttpURLConnection))
            throw new IOException("Not an HTTP connection");
        //HttpURLConnection httpConn = (HttpURLConnection) conn1;
        //httpConn.setAllowUserInteraction(false);
        //httpConn.setInstanceFollowRedirects(true);
        //httpConn.setRequestMethod("GET");
        //httpConn.connect();

        response = conn1.getResponseCode();
        if (response == HttpURLConnection.HTTP_OK) {
            in = conn1.getInputStream();


            try {
                String nsql = "select user_name from iwmp_user_reg where user_id=?";

                PreparedStatement pstm = ((Connection) conn1).prepareStatement(nsql);
                String user = "DL0000AD";
                pstm.setString(1, user);

                ResultSet rs = pstm.executeQuery();
                while (rs.next()) {
                    String retval = rs.getString(1);
                    text.setText((CharSequence) retval);
                }
                rs.close();
                pstm.close();
                ((Closeable) conn1).close();
            } catch (SQLException e) {
                e.printStackTrace();
                text.setText((CharSequence) e);
            }

        }
    } catch (Exception ex) {
        throw new IOException("Error connecting");
    }

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
}

错误如下,

java.lang.ClassCastException: org.postgresql.jdbc2.Jdbc2Connection cannot be cast to java.net.HttpURLConnection

and it i use HttpURLConnection, then i get an error of 
java.net.MalformedURLException: Unknown protocol: jdbc

我知道我的代码搞砸了,但我还在努力。

0 个答案:

没有答案