【发布时间】:2017-10-05 22:09:04
【问题描述】:
我想使用我的 Xamarin.Android 项目中的 .jar 文件。
创建绑定项目并尝试构建后,出现此错误:
obj\Debug\generated\src\Com.Acrcloud.Rec.Sdk.Utils.ACRCloudGetIPAddressAsyncTask.cs(23,23): Error CS0534: 'ACRCloudGetIPAddressAsyncTask' does not implement inherited abstract member 'AsyncTask.DoInBackground(params Object[])' (CS0534)
使用反编译器,我检查了ACRCloudGetIPAddressAsyncTask 的内容,发现:
package com.acrcloud.rec.sdk.utils;
import android.os.AsyncTask;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class ACRCloudGetIPAddressAsyncTask
extends AsyncTask<String, Integer, String>
{
private static final String TAG = "ACRCloudAsynGetIPAddressTask";
protected String doInBackground(String... params)
{
String ip = "";
try
{
InetAddress x = InetAddress.getByName(params[0]);
ip = x.getHostAddress();
}
catch (UnknownHostException e)
{
e.printStackTrace();
ip = "";
}
catch (Exception e2)
{
ip = "";
}
return ip;
}
protected void onPostExecute(String ip)
{
super.onPreExecute();
ACRCloudLogger.d("ACRCloudAsynGetIPAddressTask", ">>>>>>>>>>>>>>> " + ip);
com.acrcloud.rec.sdk.recognizer.ACRCloudRecognizerRemoteImpl.serverIP = ip;
}
}
为什么我什至需要实现DoInBackground(params Object[])?生成的 C# 代码实现了 protected virtual unsafe string DoInBackground (params string[] @params) 以匹配 Java 代码中的内容...我对 Java 不太了解,所以我可能遗漏了一些东西...知道如何解决这个问题吗?
【问题讨论】:
标签: java xamarin android-asynctask xamarin.android