我一直在尝试让Android emulator使用本地成本高昂的MySQL数据库启动一个简单的登录/注册程序。然而,当我试图在中运行代码时,会出现以下错误,我不确定原因。
Blockquote 2021 11月25日15:29:40.840 13032-13032/com。实例accentus\u登录E/AndroidRuntime:致命异常:主进程:com。实例accentus\u登录,PID:13032 java。lang.RuntimeException:无法启动activity ComponentInfo{com.example.accentus\u login/com.example.accentus\u login.MainActivity}:java。lang.IllegalArgumentException:android上的非法URL:https//10.0.2.2:3000。应用程序。ActivityThread。在android上执行LaunchActivity(ActivityThread.java:3449)。应用程序。ActivityThread。android上的handleLaunchActivity(ActivityThread.java:3601)。应用程序。服务器事务。启动ActivityItem。在android上执行(LaunchActivityItem.java:85)。应用程序。服务器事务。TransactionExecutor。android上的executeCallbacks(TransactionExecutor.java:135)。应用程序。服务器事务。TransactionExecutor。在android上执行(TransactionExecutor.java:95)。应用程序。android上的ActivityThread$H.handleMessage(ActivityThread.java:2066)。操作系统。处理程序。android上的dispatchMessage(Handler.java:106)。操作系统。活套。android上的loop(Looper.java:223)。应用程序。ActivityThread。java上的main(ActivityThread.java:7656)。lang.reflect。方法在com上调用(本机方法)。Android内部的操作系统。RuntimeInit$MethodandArgscaler。在com上运行(RuntimeInit.java:592)。Android内部的操作系统。合子岩。主要(ZygoteInit.java:947)原因:java。lang.IllegalArgumentException:非法URL:https//10.0.2.2:3000 at Refught2。改装$Builder。com上的baseUrl(reformation.java:454)。实例accentus\u登录。改装。改装客户端。com上的getInstance(RefughtClient.kt:13)。实例accentus_登录。主要活动。在android上创建(MainActivity.kt:28)。应用程序。活动在android上执行创建(Activity.java:8000)。应用程序。活动在android上执行创建(Activity.java:7984)。应用程序。仪表。android上的callActivityOnCreate(Instrumentation.java:1309)。应用程序。ActivityThread。android上的performLaunchActivity(ActivityThread.java:3422)。应用程序。ActivityThread。handleLaunchActivity(ActivityThread.java:html" target="_blank">3601)
这是设置基本URL的代码行:
object RetrofitClient {
private var ourInstance:Retrofit?=null
val instance:Retrofit
get() {
if(ourInstance==null)
ourInstance=Retrofit.Builder()
.baseUrl("https//10.0.2.2:3000") // 10.0.2.2:3000 is the localhost on emulator
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(ScalarsConverterFactory.create())
.build()
return ourInstance!!
}
}
这是连接到url的API启动的地方
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//Init API
val retrofit = RetrofitClient.instance // < Initialization of connection
myAPI = retrofit.create(INodeJS::class.java)
login_button.setOnClickListener{
login(edt_email.text.toString(),edt_password.text.toString())
}
register_button.setOnClickListener{
register(edt_email.text.toString(),edt_password.text.toString())
}
}
我不完全确定为什么它认为本地主机是非法URL。
我认为你错过了协议https后的冒号。
交换
https//10.0.2.2:3000
与
https://10.0.2.2:3000
应该做到这一点。
我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?
我喜欢这种Swift语法;它对很多事情都很有帮助: 我很想在科特林做这件事。但是,我找不到合适的语法! 科特林有这样的事吗?
如图所示,https://stackoverflow.com/a/16639438/8949356,在Java中,当声明的类是公共类时,可以重写其函数 但是我想知道如何用静态编程语言编写完全相同的代码,我已经尝试了很多,但没有找到任何关于这个主题的东西。我可以在Java中去做这件事,但我的其余代码是用静态编程语言编写的,而且我不能一直带着这种怀疑;静态编程语言对我来说是一个很好的工具,我想学习它。
我有一个使用Kotlin 1.0版的Android项目。Android Studio中的0-beta-1038。 我可以在不同的部分使用Kotlin运行它,它在模拟器中编译并工作,但当我尝试使用ReadWriteProperty时,它会给出以下错误消息: 未解析的引用:ReadWriteProperty 类称为首选Utils.kt: build.grade(模块:app) build.grade(
我正在尝试用Java编写下面用Kotlin编写的代码。我无法创建DefaultElementsAdapter,因为我无法获得正确的语法。 我无法获得正确的Java代码 Kotlin班是这样的 我正在尝试使用图书馆https://github.com/m7mdra/HtmlRecycler
我有以下问题:-创建了几个模块来实现类,并用-我的Android应用程序正在使用检索这些类。但是由于某种原因,没有在