[英]How to organize the following simple Java code?
作為Java和Android的初學者,我知道Java允許您通過分成不同的文件,類等來編寫“干凈的”代碼。
現在,對於顯示我當前位置的活動,我具有以下工作代碼:
public class MainActivity extends AppCompatActivity {
private FusedLocationProviderClient mFusedLocationClient;
private LocationCallback mLocationCallback;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(10000);
mLocationRequest.setFastestInterval(5000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
//
} else {
mFusedLocationClient.requestLocationUpdates(mLocationRequest, mLocationCallback,
null /* Looper */);
}
mLocationCallback = new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
if (locationResult == null) {
return;
}
for (Location location : locationResult.getLocations()) {
// Update UI with location data
TextView tv = (TextView) findViewById(R.id.tv);
Double latDouble = location.getLatitude();
String latString = latDouble.toString();
tv.setText(latString);
}
};
};
}
我應該如何更改它,以使MainActivity看起來更整潔,並且大多數代碼都位於不同的文件中? 我需要創建一個新的Java類,然后從Main Activity中對其進行擴展嗎?
我想舉一個例子說明如何安排我的簡單代碼,使其與Java約定匹配。 我知道這可能是一個愚蠢的問題,但這會幫助我(可能還有更多的初學者)很多! 謝謝
我不會僅為此數量的代碼創建單獨的文件。 有時您必須問自己,代碼的哪一部分可以在其他情況下重用,然后您可能將其組織在單獨的抽象類,片段等中,並可能將其添加到其自己的模塊中並將其導入到不同的項目中。 通常,分離或分隔用於提高可重用性或可讀性。
從上面的代碼中,您可以創建一種方法來初始化您的位置請求。
例如。
public void initLocationRequest (LocationRequest request, Double millisInterval, Double millisFastestInterval, int priority) {
request.setInterval(millisInterval);
mLocationRequest.setFastestInterval(millisFastestInterval);
mLocationRequest.setPriority(priority);
}
那么您就可以這樣稱呼它:
initLocationRequest (10000, 5000, LocationRequest.PRIORITY_HIGH_ACCURACY);
如果您擁有許多可在各種活動中重用的方法,則可以創建一個類(例如LocationUtils)並將所有這些方法添加為public static 。 然后從您的活動中,您將其稱為:
LocationUtils.yourMethodName(yourMethodVariable);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.