如何从Android设备访问本地主机

如何从Android设备访问本地主机,android,postgresql,fedora,nexus-5,Android,Postgresql,Fedora,Nexus 5,如何从Fedora 21使用的Android设备访问本地主机,我的Android设备是Nexus 5,有人可以一步一步地向我解释连接路径。根据本文[Postgresql未使用JDBC连接到android抛出org.Postgresql.util.PSQLException:连接尝试失败 我更改此文件:pg_hba.conf # IPv4 local connections: host all all 10.0.2.2

如何从Fedora 21使用的Android设备访问本地主机,我的Android设备是Nexus 5,有人可以一步一步地向我解释连接路径。根据本文[Postgresql未使用JDBC连接到android抛出org.Postgresql.util.PSQLException:连接尝试失败

我更改此文件:pg_hba.conf

 # IPv4 local connections:
    host    all             all             10.0.2.2                trust
postgresql.conf:

listen_addresses = '*'          # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost'; use '*' for all
                                        # (change requires restart)
port = 5432                             # (change requires restart)
max_connections = 100  
但这对我没有帮助

这是我的java-JDBC源代码:

 @Override
        protected Void doInBackground(Void... arg0){

            try
            {
                Log.d("Start connection","Start connection");
                String URL = "jdbc:postgresql://" + "10.0.2.2" + ":" + "5432/keen";
                String USER = "keen";
                String PASS = "q1w2e3";
                Log.d("Row 10","Row 10");

                Class.forName("org.postgresql.Driver").newInstance();
                Log.d("Row 20","Row 20");

                Connection conn = DriverManager.getConnection(URL, USER, PASS);
                Log.d("Connection Successfully","Connection Successfully");

                Statement stmt = conn.createStatement();

                String SQL = "CREATE TABLE test (id bigserial primary key);";

                stmt.executeUpdate(SQL);

                conn.close();
            }
            catch (ClassNotFoundException e)
            {
                Log.d("Connection fail","Connection fail");

            }
            catch (SQLException e)
            {

                Log.d("Connection fail","Connection fail");

            }
            catch (Exception e)
            {
                Log.d("Connection fail","Connection fail");

            }
            return null;
        }
    }
这是我的logcat输出:

04-23 15:52:23.645  15749-15749/com.gorbin.androidsocialnetworksextended.keen I/Google Maps Android API﹕ Google Play services package version: 7329438
04-23 15:52:23.843  15749-15927/com.gorbin.androidsocialnetworksextended.keen D/Start connection﹕ Start connection
04-23 15:52:23.844  15749-15927/com.gorbin.androidsocialnetworksextended.keen D/Row 10﹕ Row 10
04-23 15:52:23.847  15749-15927/com.gorbin.androidsocialnetworksextended.keen D/Row 20﹕ Row 20
04-23 15:53:19.118  15749-15767/com.gorbin.androidsocialnetworksextended.keen W/System.err﹕ org.postgresql.util.PSQLException: Connection to 10.0.3.2:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
04-23 15:53:19.134  15749-15767/com.gorbin.androidsocialnetworksextended.keen I/art﹕ System.exit called, status: 0
04-23 15:53:19.134  15749-15767/com.gorbin.androidsocialnetworksextended.keen I/AndroidRuntime﹕ VM exiting with result code 0, cleanup skipped.
它显示这在第20行与getConnection()上成功连接之间发生崩溃


谢谢。

请确保pg_hba文件中的地址正确。这很可能是问题所在。还要确保您的postgres服务器在本地主机端口上运行(使用类似“netstat-lnptu”的命令查看哪些程序正在使用哪些端口)你的本地主机是什么?每台电脑都是它自己的本地主机。每台Android设备都是它自己的本地主机。请显示你在Android客户端代码中使用的url。首先,它不是“本地主机”从Android设备的角度来看。无论如何,请显示您的代码和确切的错误消息。此外,实际上,在大多数情况下,通过Android使用PostgreSQL并不理想,使用web服务通常更好。