gpt4 book ai didi

java - 适用于 Android Studio 应用程序的 Java 中的 OOP

转载 作者:行者123 更新时间:2023-12-01 20:19:48 30 4
gpt4 key购买 nike

我对 java 很陌生,尽管有大约一年的 python 和一般编程经验。我对面向对象编程有所了解,尽管自从最近自学java以来​​,我不明白一段代码是如何/为什么工作的。该代码适用于在 android studio 中创建的 android 应用程序,我在其中尝试学习如何使用谷歌地图 API 创建应用程序。 java代码是这样的:

package com.example.harry.myapplication;

import android.support.v4.app.FragmentActivity;
import android.os.Bundle;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}


@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;

// Add a marker in Sydney and move the camera
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));

据我了解,这段代码创建了类,但我看不到在哪里生成该类的对象以便运行代码。我所有的编程经验都来自Python/过程式编程。

除了不完全理解这段代码是如何工作的之外,如果我要调用方法 .getUiSettings(),我会在什么对象上调用它?

最佳答案

您拥有的是类定义——即属于您的对象的一组属性和方法,在本例中为MapsActivity。当您进入 Android 设备并打开您的应用时,Android 操作系统会读取您应用的 AndroidManifest.xml 以确定哪个 Activity 是您应用的主要 Activity。 (如果您在 Android Studio 中创建此 Activity ,我猜该 Activity 已自动指定为主 Activity ,您不必更改任何内容。)Android 操作系统创建该类的实例,然后调用specific sequence of methods提醒您的对象某些事情正在发生。

getUiSettings()GoogleMap 对象的方法。在 Activity 的 onCreate() 方法中,您调用 getMapAsync()。这会启动一个后台线程来从 Google 下载 map 信息,而不会阻塞您的主线程。完全接收到该信息后,将使用准备好的 GoogleMap 作为参数调用 onMapReady()。然后保存该对象以供以后使用

mMap = googleMap;

如果您想访问 map 的 UI 设置,您可以调用 map 对象上的方法

mMap.getUiSettings();

Android 编码很大程度上基于异步性和回调,一开始可能会有点困惑。我同意@Vucko 的观点,也许你应该找一个在线类(class)或更有经验的程序员来学习。

关于java - 适用于 Android Studio 应用程序的 Java 中的 OOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45107916/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com