我的应用程序在我的Android应用程序中将谷歌地图实施到单独的选项卡后开始崩溃。我查看了所有其他类和logcat,并认为这些类轻量级导致此问题。
这是我的地图类
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较低且没有谷歌播放的模拟器时,我的应用程序将进入此选项卡,但将停止并结束。在较新的api(23)上使用google play服务它甚至不会那么远,一旦我从主页选项卡上滑动,它就会变得反应迟钝并结束。
我没有错误代码所以一旦我实现doinbackground方法应该工作我相信我只是不明白如何实现这个?
答案 0 :(得分:0)
不知道您的代码有什么问题,但我在我的应用程序中实现了谷歌地图,它运作得很好。看看这是否是您正在寻找的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);
}
}