打开时,我想让我的地图专注于我当前的位置MapActivity.我有一个特定的行问题:
mMap.setMyLocationEnabled(true);
Run Code Online (Sandbox Code Playgroud)
调用需要用户可能拒绝的权限:代码应明确检查是否可以使用权限('checkPermission')或显式处理潜在的'SecurityException'.
我该如何解决这个问题?当我搜索这个问题时,我已经阅读了一些内容,但我找不到有用的东西.
这是完整的代码:
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private static final String FIREBASE_URL="https://haerev.firebaseio.com/";
private Firebase firebaseRef;
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps2);
Firebase.setAndroidContext(this);
firebaseRef = new Firebase(FIREBASE_URL);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
setUpMapIfNeeded();
}
private void setUpMapIfNeeded() {
// Do a null check to confirm that we have not already instantiated the map.
if (mMap == null) {
// Try to obtain the map from the …Run Code Online (Sandbox Code Playgroud) 我试图从Firebase数据库中获取一个特定的值,之前我做过,但现在当我尝试一些不同的东西时,它说"无法从具有void结果类型的方法返回值".
我猜我错过了一些编程规则,因为我是一名新的Java程序员.
这是我的代码:
public int getVotesForEvent(final String event_title) {
firebaseRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.child("Votes").exists()) {
for (DataSnapshot event : dataSnapshot.child("Votes").getChildren()) {
String event_title2 = event.getKey();
if (event_title2.equals(event_title)) {
int count=Integer.parseInt(event.getValue().toString());
return count;
}
}
}
else {
int count = 0 ;
return count;
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
Run Code Online (Sandbox Code Playgroud)
错误出现在我试图返回计数的地方.
读完注释后,这是我的代码,现在该方法不会影响声明的变量计数,它保持0:
int count=0;
public int getVotesForEvent(final String event_title) {
firebaseRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) { …Run Code Online (Sandbox Code Playgroud)