PostgreSQL连接尝试因Android失败

时间:2017-04-16 17:13:39

标签: android postgresql

我正在开发一个必须连接到Postgresql数据库的Android应用程序。 出于测试目的,postgresql正在我的开发机器上运行。

使用wireshark查看我的localhost接口只显示android模拟器和我的开发机器之间的握手,并且没有postgresql连接的迹象。 postgresql日志也没有显示任何这种连接的提示。

10.0.2.2是我的开发机器localhost接口的IP,如android模拟器所见。

这是我的代码:

package com.example.kevin.servertest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import java.sql.*;

public class MainActivity extends AppCompatActivity {

private Button btnGet, btnPost;
private TextView txtGet;
private EditText numGet, txtPost;

@Override
protected void onCreate(Bundle savedInstanceState) {
    try
    {
        Class.forName("org.postgresql.Driver");
    }
    catch (ClassNotFoundException e)
    {
        errorMsg("Postgresql Driver Not Found!");
        e.printStackTrace();
    }

    Connection connection = null;

    try
    {
        System.out.println("Establishing Connection...");
        connection = DriverManager.getConnection("jdbc:postgresql://10.0.2.2:5432/test", "dbuser", "dbpass");//Fails here
    }
    catch(SQLException e)
    {
        errorMsg("Connection Failed!");
        e.printStackTrace();
        return;
    }

    if (connection != null)
    {
        System.out.println("Connection Established!");
    }
    else
    {
        errorMsg("No Connection!");
    }

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnGet = (Button) findViewById(R.id.button2);
    btnPost = (Button) findViewById(R.id.button);
    txtGet = (TextView) findViewById(R.id.textView);
    numGet = (EditText) findViewById(R.id.editText);
    txtPost = (EditText) findViewById(R.id.editText2);

    btnGet.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
            System.out.println("btnGet");
            //Do get stuff
        }
    });

    btnPost.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
            System.out.println("btnPost");
            //Do post stuff
        }
    });
}

void errorMsg(String msg)
{
    System.out.println("App-Error! " + msg);
}
}

我的pg_hba.conf是默认的pg_hba.conf。

0 个答案:

没有答案