我正在编程一个密码管理器应用程序与Android工作室和Spring启动作为后端和Mysql作为数据库。
我的服务器在我的计算机上的localhost:8080上,我的数据库也在localhost:3306上。
我的应用在Android Studio的模拟器上运行和通信良好,但当我尝试使用物理智能手机(三星Galaxy A80)连接时,它无法连接,我不明白为什么。它应该可以工作。
我试图将IP地址更改为我在Android Studio的改造中的手机上的IP地址。并更改端口,但它不起作用。
application.properties 服务器中的www.example.com
spring.datasource.url=jdbc:mysql://localhost:3306/PasswordManager?createDatabaseIfNotExist=true
spring.datasource.username=root
spring.datasource.password=SakeSaske77
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.jpa.hibernate.ddl-auto=update
这是Android Studio上的翻新服务设置
public class RetrofitService {
private Retrofit retrofit;
public RetrofitService() {
initializeRetrofit();
}
private void initializeRetrofit() {
retrofit = new Retrofit.Builder()
.baseUrl("http://192.168.1.185" +
":8080")
.addConverterFactory(GsonConverterFactory.create(new Gson()))
.build();
}
public Retrofit getRetrofit() {
return retrofit;
}
}
1条答案
按热度按时间cs7cruho1#
因为
localhost
只能从主机直接访问,主机是你的pc/笔记本电脑,你的物理电话连接到你的机器,而不是localhost
,所以你需要一种方法来从你的电话访问你的机器的localhost
,为此你需要使用adb
命令,特别是,您需要使用以下命令将计算机的端口转移到电话:将
8080
更改为您的localhost
端口。如果您没有安装adb(以及Android SDK提供的其他SDK平台工具),请下载它from here