我试图在谷歌地图中显示一个位置地址,但当我为获取地址启动意向服务时,它将显示错误“无法实例化服务”。
我使用此链接显示位置地址。
https://developer.android.com/training/location/display-address.html
这是我的代码:
public class FetchAddressIntentService extends IntentService {
protected ResultReceiver mReceiver;
public FetchAddressIntentService(String name) {
super(name);
}
@Override
protected void onHandleIntent(Intent intent) {
String errorMessage="";
Geocoder geocoder=new Geocoder(this, Locale.getDefault());
Location location = intent.getParcelableExtra(Constants.LOCATION_DATA_EXTRA);
List<Address> addresses=null;
try {
addresses=geocoder.getFromLocation(location.getLatitude(),location.getLongitude(),1);
} catch (IOException e) {
errorMessage="unhendle IO exception";
e.printStackTrace();
}
if(addresses==null && addresses.size()==0){
if(errorMessage.isEmpty()){
errorMessage="no address found";
}
deliverResultToReceiver(Constants.FAILURE_RESULT, errorMessage);
}
else{
Address address=addresses.get(0);
ArrayList<String> arrayListFrag=new ArrayList<>();
for (int i=0;i<address.getMaxAddressLineIndex();i++){
arrayListFrag.add(address.getAddressLine(0));
}
deliverResultToReceiver(Constants.SUCCESS_RESULT,
TextUtils.join(System.getProperty("line.separator"),
arrayListFrag));
}
}
private void deliverResultToReceiver(int successResult, String message) {
Bundle bundle=new Bundle();
bundle.putString(Constants.RESULT_DATA_KEY,message);
mReceiver.send(successResult,bundle);
}
}
在这里我开始意图服务:
protected void startIntentService(){
Intent intent=new Intent(this,FetchAddressIntentService.class);
intent.putExtra(Constants.RECEIVER, mResultReceiver);
intent.putExtra(Constants.LOCATION_DATA_EXTRA,mLastLocation);
startService(intent);
}
public void fetchAddressButtonHandler(){
if(mGoogleApiClient.isConnected() && mLastLocation!=null){
startIntentService();
}
}
您需要向类FetchAddressIntentService添加不带参数的零参数构造函数:
public FetchAddressIntentService() {
super("FetchAddressIntentService");
}
替换:
public FetchAddressIntentService(String name) {
super(name);
}
与:
public FetchAddressIntentService() {
super("whatever you want to use here");
}
(用适合您应用程序的内容替换字符串)
我正在尝试使用recyclerview和room库创建一个简单的ToDoList应用程序。在使用room和mvvm架构方面,我正在遵循android开发者代码实验室,我似乎遇到了困难。我已经设置了应用程序的每一层,但在尝试使用ViewModelProvider实例化ViewModel时出现了一个错误。下面是我的ViewModel类中的代码。 } 下面是我试图初始化ViewModel的main片段中
注:在标记为副本之前,请仔细阅读。我已经尝试了所有现有的答案。 我在用匕首2。 视图模型实例已在活动中成功创建,但当我从同一活动中打开BottomSheet对话框时,无法创建实例。 日志: 用户界面。搜索viewmodel。SearchViewModel
我通过本文档了解LiveData和ViewModel。在文档中,ViewModel类具有构造函数, 但是,当我运行代码时,会出现异常: 原因:java.lang.运行时异常:无法创建类的实例UserViewModel原因:java.lang.实例异常:java.lang.类没有零参数构造函数
我是新的Android和Java,并试图使基于位置的应用程序。 编辑 我做了一个非常非常简单的测试代码,得到了同样的错误。这是java: 我也犯了同样的错误。以下是我的应用程序级构建中的依赖项。格雷德尔: 原帖 我试图使用ViewModel和LiveData来更新用户位置,因为我知道这是生命周期感知的最佳方式。我有一个默认的地图活动... 一个扩展LiveData以存储用户位置的类。。。 以及一个
我正在使用并试图将我的导入我的类。 当使用ViewModel查看Google的hilt文档时,我们可以看到他们能够将注入到所述
公共类MainActivity扩展了SurfaceView实现了SurfaceHolder。回调,预览回调{ 在运行此代码时,我收到了一个错误,java.lang.InstantiationExctive:类com.example.camera.MainActive没有零参数构造函数...