大家好,我正在尝试使用 Dagger-Hilt,我想知道如何实现以下代码?
@AndroidEntryPoint
abstract class BaseActivity <B : ViewDataBinding, VM : ViewModel> : IActivity<VM>, AppCompatActivity() {
@Inject
lateinit var someClass: SomeClass
}
Run Code Online (Sandbox Code Playgroud)
Gradle 返回此错误:
BaseActivity_GeneratedInjector.java:10: error: <identifier> expected
topLevelClass = BaseActivity<B, VM>.class
^error: [Hilt]
class java.lang.NullPointerException: java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
这是生成的 Java 类:
@OriginatingElement(
topLevelClass = BaseActivity<B, VM>.class
)
@GeneratedEntryPoint
@InstallIn(ActivityComponent.class)
@Generated("dagger.hilt.android.processor.internal.androidentrypoint.InjectorEntryPointGenerator")
public interface BaseActivity_GeneratedInjector {
void injectBaseActivity(BaseActivity baseActivity);
}
Run Code Online (Sandbox Code Playgroud)
帮助将不胜感激。
我是编码新手,在将名为“ test.txt ”的文本文件上传到 ftp 服务器时遇到问题。
这是我的代码:
void nointernet()
{
std::cout << "No internet connection." << std::endl;
}
int upload()
{
HINTERNET hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
if (!hInternet)
{
nointernet();
}
HINTERNET hFtpSession = InternetConnect(hInternet, "FTPHOST", INTERNET_DEFAULT_FTP_PORT, "FTPUSER", "FTPPASS", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
if (!hFtpSession)
{
InternetCloseHandle(hInternet);
nointernet();
}
FtpPutFile(hFtpSession, "D:/test.txt", "test.txt", FTP_TRANSFER_TYPE_BINARY, 0);
std::cout << "File Uploaded." << std::endl;
InternetCloseHandle(hFtpSession);
InternetCloseHandle(hInternet);
return 0;
}
int main() {
upload();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
欢迎任何反馈。