连接到 google 适合 android API 不在 activity class
Connecting to google fit android API not in the activity class
我目前正在学习为 Android 编写代码,我在理解如何正确连接到 API 时遇到了一些麻烦,或者在我的特定情况下如何正确连接到 Google 适合 API.
在 Google 开发人员提供的示例中,他们在 onCreate() 方法中连接到 API。但是,我在想这是否是开发更复杂的应用程序时的最佳实践,以及何时可以将代码连接到 activity class 中的 API?更具体地说,什么时候应该将其移至其他线程?我担心以这种方式保持代码的性能问题 - 另一方面,如果我将这段代码移动到其他线程,我可能会遇到一些与 android 服务终止相关的连接问题 运行 在后台?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FitnessOptions fitnessOptions = FitnessOptions.builder()
.addDataType(TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.build();
if (!GoogleSignIn.hasPermissions(GoogleSignIn.getLastSignedInAccount(this), fitnessOptions)) {
GoogleSignIn.requestPermissions(
this,
REQUEST_OAUTH_REQUEST_CODE,
GoogleSignIn.getLastSignedInAccount(this),
fitnessOptions);
} else {
accessGoogleFit();
}
}
如果我的问题看起来愚蠢和基础,我提前道歉,但我非常渴望了解更多关于编码的最佳实践,并了解如何开发工作应用程序!
为了让您更好地理解,通常 google(或大多数人)给出的任何示例都是最简单的形式,只是为了让您了解代码或框架,您如何决定如何最好地实施它取决于您,您将从经验中获得。
进一步回答你的问题,这真的要看情况。如果您的 activity 不会多次创建或重新创建(即使它被销毁并重新创建,根据情况,它仍然可能很好),但是,理想情况下,应该使用 RxJava 或其他线程技术将此调用移出到不同的线程。这样做的原因是因为(当 api 调用在主线程上完成时)它可能会暂停您的整个应用程序,直到 api 调用 returns 带有信息,这是不好的做法,并且会给你带来很多问题。将此代码移到不同的 theads 不会降低性能(恰恰相反),您可能应该尝试以某种形式的线程来实现此代码。
我目前正在学习为 Android 编写代码,我在理解如何正确连接到 API 时遇到了一些麻烦,或者在我的特定情况下如何正确连接到 Google 适合 API.
在 Google 开发人员提供的示例中,他们在 onCreate() 方法中连接到 API。但是,我在想这是否是开发更复杂的应用程序时的最佳实践,以及何时可以将代码连接到 activity class 中的 API?更具体地说,什么时候应该将其移至其他线程?我担心以这种方式保持代码的性能问题 - 另一方面,如果我将这段代码移动到其他线程,我可能会遇到一些与 android 服务终止相关的连接问题 运行 在后台?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FitnessOptions fitnessOptions = FitnessOptions.builder()
.addDataType(TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.build();
if (!GoogleSignIn.hasPermissions(GoogleSignIn.getLastSignedInAccount(this), fitnessOptions)) {
GoogleSignIn.requestPermissions(
this,
REQUEST_OAUTH_REQUEST_CODE,
GoogleSignIn.getLastSignedInAccount(this),
fitnessOptions);
} else {
accessGoogleFit();
}
}
如果我的问题看起来愚蠢和基础,我提前道歉,但我非常渴望了解更多关于编码的最佳实践,并了解如何开发工作应用程序!
为了让您更好地理解,通常 google(或大多数人)给出的任何示例都是最简单的形式,只是为了让您了解代码或框架,您如何决定如何最好地实施它取决于您,您将从经验中获得。
进一步回答你的问题,这真的要看情况。如果您的 activity 不会多次创建或重新创建(即使它被销毁并重新创建,根据情况,它仍然可能很好),但是,理想情况下,应该使用 RxJava 或其他线程技术将此调用移出到不同的线程。这样做的原因是因为(当 api 调用在主线程上完成时)它可能会暂停您的整个应用程序,直到 api 调用 returns 带有信息,这是不好的做法,并且会给你带来很多问题。将此代码移到不同的 theads 不会降低性能(恰恰相反),您可能应该尝试以某种形式的线程来实现此代码。