Android 如何实现doinbackground回调方法
我的应用程序在我的android应用程序中的一个单独的选项卡中实现谷歌地图后开始崩溃。我查看了所有其他类和logcat,并认为这些类是导致此问题的原因 这是我的地图课Android 如何实现doinbackground回调方法,android,google-maps,android-studio,callback,Android,Google Maps,Android Studio,Callback,我的应用程序在我的android应用程序中的一个单独的选项卡中实现谷歌地图后开始崩溃。我查看了所有其他类和logcat,并认为这些类是导致此问题的原因 这是我的地图课 public class FragmentShouts_Maps extends Fragment implements OnMapReadyCallback { public View onCreateView(LayoutInflater inflater, ViewGroup container,
public class FragmentShouts_Maps extends Fragment implements OnMapReadyCallback {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Get the view from fragment shouts.xml
View view = inflater.inflate(R.layout.fragmentshouts_maps, container, false);
SupportMapFragment fragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.maps);
if (fragment!= null) {
fragment.getMapAsync(this);
}
return view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
}
@Override
public void onMapReady (GoogleMap googleMap) {
}
}
我注意到,当我使用dpi较低的仿真器时,如果没有google play,我的应用程序将进入此选项卡,但会停止并结束。在google play服务的新api(23)上,它甚至不会走那么远,一旦我从home标签上滑开,它就会变得无响应并结束
我没有错误代码,所以一旦我实现了doinbackground方法,我就应该可以工作了。我相信我只是不知道如何实现它?不知道你的代码有什么问题,但我在我的应用程序中实现了谷歌地图,它工作得很好。看看这是否是您正在寻找的doInBackground实现。希望这有帮助
public class MapActivity extends Activity implements OnMapReadyCallback{
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
MapFragment mapFragment = (MapFragment)getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(final GoogleMap map){
// Your Code
AsyncTask<String,Void,String> asyncTask = new AsyncTask<String,Void,String>(){
@Override
protected String doInBackground(String... params) {
// Do Something
}
@Override
protected void onPostExecute(String json) {
// Do Something
}
};
asyncTask.execute(url);
}
}
公共类MapActivity在MapReadyCallback上扩展活动实现{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
MapFragment MapFragment=(MapFragment)getFragmentManager().findFragmentById(R.id.map);
getMapAsync(这个);
}
@凌驾
4月1日公开作废(谷歌地图最终版){
//你的代码
AsyncTask AsyncTask=新建AsyncTask(){
@凌驾
受保护的字符串doInBackground(字符串…参数){
//做点什么
}
@凌驾
受保护的void onPostExecute(字符串json){
//做点什么
}
};
asyncTask.execute(url);
}
}
u是否使用android支持v4不,我相信它是com.google.android.gms.maps.GoogleMap。您还需要将其包含在依赖项中com.google.android.gms:play services maps:8.3.0