Google fit là gì

Gần trên đây, chúng ta nghe thấy không hề ít xu hướng áp dụng mobile vào âu yếm sức mạnh đúng không? Google cũng đã mang đến reviews nền tảng gốc rễ Google Fit nhằm cung ứng developer tự kiến thiết áp dụng sức khỏe. Vậy Google Fit là gì? Cách áp dụng như thế nào?

Bài viết này, bọn họ đang cùng cả nhà tò mò coi Google Fit là gì? Và trường đoản cú kiến tạo một áp dụng thực hiện Google fit.

Bạn đang xem: Google fit là gì

*


#Google Fit là gì?

Google Fit là 1 phần trong gói Google Play Services, cho phép chúng ta cũng có thể theo dõi và quan sát được mức độ khoẻ của người tiêu dùng. Các dữ liệu chúng ta bao gồm mang được theo ngày cùng tuần tháng năm tuỳ nhu cầu sử dụng.

Hình như những tài liệu hoàn toàn được tàng trữ trực tuyến đường với trọn vẹn uy tín với bình yên.

Các ông bự trong làng technology hầu hết đang tsi mê gia cùng coi sẽ là chiến lược trở nên tân tiến đặc trưng.

cũng có thể nói đến một trong những ứng dụng sức mạnh nổi tiếng như: Samsung Health, Apple Health…

#Các một số loại của Google Fit

Google Fit mang lại Android bao hàm các loại API không giống nhau, có thể chấp nhận được developer triển khai các công việc rõ ràng.

Có thể phân các loại các các loại API của Google Fit như sau:

Sensors(Cảm biến): Cho phnghiền truy vấn dữ liệu từ cảm ứng bên trên máy.Recording: chất nhận được người tiêu dùng ĐK vào phần dữ liệu ví dụ với tự động hóa lưu trữ chúng.History: Dùng để truy vấn vào các lịch sử vẻ vang các dữ liệu vẫn đẩy lên server.Sessions: Thực hiện nay bài toán ghi chéplại tài liệu trong một khoảng tầm thời gian để tổng hòa hợp lên tiếng.Công nghệ Bluetooth Low Energy: được cho phép ứng dụng của người sử dụng truy cập vào dữ liệu cảm ứng trường đoản cú các trang bị treo cung ứng Google Fit

Qua phần ra mắt trên hẳn là các bạn đang hiểu được phần làm sao Google Fit là gì. Bài bây giờ bản thân đang hướng dẫn các bạn theo dõi và quan sát số bước chân trong một ngày hoặc một tuần lễ hoặc 1 tháng.

#Thiết lập dự án theo dõi mức độ bước chân

1. Google Fit là gì? Đăng ký kết Google Fit như thế nào?

Trước Khi người dùng thực hiện thì bạn phải ĐK thông qua Google develop console.

Các bạn hãy ĐK với google developes console trên trên đây.

Và các bạn cần phải tạo ra một client ID OAuth 2.0.

Xem thêm: Soha (Water Nine

*

Nếu chúng ta nào chưa có project nào thì tạo nên mới, còn có rồi thì chúng ta chọn vào project bạn thích thiết lập cấu hình.

Sau đó chúng ta hãy search với từ khóa “fit” rồi enable google fit.

*
 Rồi chúng ta nhấp vào Credentials.

*

Và tạo project trong apk studio như thông thường rồi add tên gói với sha1 vào để thiết đặt.

Cuối cùng các bạn mang API key tại đây.

2. Thêm thư viện Google Fit

Đầu tiên các bạn hãy msinh hoạt tập tin build.gradle nhằm thêm những dependencies đề nghị thiết(Nhớ dấn nút ít sync sau khoản thời gian nạm đổi)

compile "com.google.android.gms:play-services-fitness:11.6.0"compile "com.google.game android.gms:play-services-auth:11.6.0"Bây giờ đồng hồ là bạn đã có rất đầy đủ các lớp và phương thức đầy đủ của google fit.

3. Tạo đồ họa ứng dụng

Mình vẫn kiến tạo layout không hề thiếu nhỏng dưới đây.

*
Giao diện ứng dụng theo dõi và quan sát bước chân

Mình kiến thiết cả spinner nhằm chúng ta tuyển lựa những type mà lại google fit hỗ trợ:

mDataTypeList.add(DataType.TYPE_STEP_COUNT_DELTA); mDataTypeList.add(DataType.TYPE_STEP_COUNT_CUMULATIVE); mDataTypeList.add(DataType.TYPE_STEP_COUNT_CADENCE); mDataTypeList.add(DataType.TYPE_ACTIVITY_SEGMENT); mDataTypeList.add(DataType.TYPE_CALORIES_EXPENDED); mDataTypeList.add(DataType.TYPE_BASAL_METABOLIC_RATE); mDataTypeList.add(DataType.TYPE_POWER_SAMPLE); mDataTypeList.add(DataType.TYPE_ACTIVITY_SAMPLE); mDataTypeList.add(DataType.TYPE_HEART_RATE_BPM); mDataTypeList.add(DataType.TYPE_LOCATION_SAMPLE); mDataTypeList.add(DataType.TYPE_LOCATION_TRACK); mDataTypeList.add(DataType.TYPE_DISTANCE_DELTA); mDataTypeList.add(DataType.TYPE_DISTANCE_CUMULATIVE); mDataTypeList.add(DataType.TYPE_SPEED); mDataTypeList.add(DataType.TYPE_CYCLING_WHEEL_REVOLUTION); mDataTypeList.add(DataType.TYPE_CYCLING_WHEEL_RPM); mDataTypeList.add(DataType.TYPE_CYCLING_PEDALING_CUMULATIVE); mDataTypeList.add(DataType.TYPE_CYCLING_PEDALING_CADENCE); mDataTypeList.add(DataType.TYPE_HEIGHT); mDataTypeList.add(DataType.TYPE_WEIGHT); mDataTypeList.add(DataType.TYPE_BODY_FAT_PERCENTAGE); mDataTypeList.add(DataType.TYPE_NUTRITION); mDataTypeList.add(DataType.TYPE_WORKOUT_EXERCISE); mDataTypeList.add(DataType.AGGREGATE_ACTIVITY_SUMMARY); mDataTypeList.add(DataType.AGGREGATE_BASAL_METABOLIC_RATE_SUMMARY); mDataTypeList.add(DataType.AGGREGATE_STEP_COUNT_DELTA); mDataTypeList.add(DataType.AGGREGATE_DISTANCE_DELTA); mDataTypeList.add(DataType.AGGREGATE_CALORIES_EXPENDED); mDataTypeList.add(DataType.AGGREGATE_HEART_RATE_SUMMARY); mDataTypeList.add(DataType.AGGREGATE_LOCATION_BOUNDING_BOX); mDataTypeList.add(DataType.AGGREGATE_POWER_SUMMARY); mDataTypeList.add(DataType.AGGREGATE_SPEED_SUMMARY); mDataTypeList.add(DataType.AGGREGATE_BODY_FAT_PERCENTAGE_SUMMARY); mDataTypeList.add(DataType.AGGREGATE_WEIGHT_SUMMARY); mDataTypeList.add(DataType.AGGREGATE_NUTRITION_SUMMARY);

4.Viết các cách làm vào activity

Trong hàm oncreate() chúng ta hãy khởi tạo ra GoogleApiClient.

mClient = new GoogleApiClient.Builder(this) .addApi(Fitness.HISTORY_API) .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ)) .addScope(new Scope(Scopes.FITNESS_BODY_READ)) .addScope(new Scope(Scopes.FITNESS_LOCATION_READ)) .addScope(new Scope(Scopes.FITNESS_NUTRITION_READ)) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .build();Sau kia bọn họ đã cần tạo thành connect cùng disconnect vào hàm onStart() cùng onDestroy()


Overrideprotected void onStop() super.onStop(); if (mClient.isConnected()) mClient.disconnect(); Và chúng ta hãy thừa kế 2 lớp này để lắng nghe sự kiện người tiêu dùng gật đầu hay đồng ý xác thực:

GoogleApiClient.ConnectionCallbacks·GoogleApiClient.OnConnectionFailedListener

public class HistoryActivity extends Activity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListenerTại hàm onActivityResult chúng ta hãy connect khi tất cả thông tin người tiêu dùng.


Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) if (requestCode == REQUEST_OAUTH && resultCode == RESULT_OK) if (!mClient.isConnecting() && !mClient.isConnected()) mClient.connect(); Và đó là hàm đặc biệt quan trọng độc nhất hãy sử dụng AsynTask vì chưng nó đang update lại giao diện. Hàm này giúp gọi những lịch sử hào hùng bước tiến của bọn họ theo mỗi tháng năm và ngày.

public class ReadFromHistoryTask extends AsyncTask protected Void doInBackground(Void... params) long endTime = mEndDateCalendar.getTimeInMillis(); long startTime = mStartDateCalendar.getTimeInMillis(); DataReadResult dataReadResult = null; if(isDataAggregated) mAggregateDataTypeList.addAll(DataType.getAggregatesForInput(mSelectedDataType)); if(mAggregateDataTypeList.size()>0) DataReadRequest readRequest = new DataReadRequest.Builder() .aggregate(mSelectedDataType, mAggregateDataTypeList.get(0)) .bucketByTime(1, TimeUnit.DAYS) .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS) .build(); dataReadResult = Fitness.HistoryApi.readData(mClient,readRequest).await(); else runOnUiThread(new Runnable()
Override public void run() mResultsText.setText("Aggregation of data not supported"); mListAdapter.notifyDataSetChanged(); ); else DataReadRequest readRequest = new DataReadRequest.Builder().read(mSelectedDataType) .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS).build(); dataReadResult = Fitness.HistoryApi.readData(mClient, readRequest).await(); if(isDataAggregated) if(mAggregateDataTypeList.size()>0 && dataReadResult!=null) readBucketValues(dataReadResult); else DataSet dataSet = dataReadResult.getDataSet(mSelectedDataType); readDataSetValues(dataSet, false); return null; Mình cũng thu xếp lọc tài liệu theo ngày với random chúng ta chỉ cần kiểm tra vào checkbox aggregate data by day.

Mình cũng áp dụng listview để get những sữ liệu lấy được để nhìn trực quan liêu hơn.

Xem thêm: Giải Đáp Các Thông Tin Về Bo Mạch Là Gì ? Hướng Dẫn Chọn Main Phù Hợp Cho Pc

Xem biện pháp áp dụng Listview sống đây: https://ahtq.vn/huong-dan-recyclerview-trong-android-phan-1.html

public class ListAdapter extends BaseAdapter private TextView mTextView1; private TextView mTextView2; private TextView mTextView3;
Override public View getView(int position, View convertView, ViewGroup parent) if(convertView==null) convertView = getLayoutInflater().inflate(R.layout.list_rows, parent, false); StringBuilder dataValue = new StringBuilder(); for (Field field : mDataPointList.get(position).getDataType().getFields()) Value val = mDataPointList.get(position).getValue(field); dataValue.append("Name: " + field.getName() + " Value: " + val.toString()); mTextView1 = (TextView)convertView.findViewById(R.id.text1); mTextView1.setText("Data Type: "+ mDataPointList.get(position).getDataType().getName()); mTextView2 = (TextView)convertView.findViewById(R.id.text2); mTextView2.setText(dataValue.toString()); mTextView3 = (TextView)convertView.findViewById(R.id.text3); mTextView3.setText("Start Time: " + mSimpleDateFormat.format(mDataPointList.get(position).getStartTime(TimeUnit.MILLISECONDS)) + " End Time: " + mSimpleDateFormat.format(mDataPointList.get(position).getEndTime(TimeUnit.MILLISECONDS))); return convertView; Và đây là kết quả

*

#Tạm kết

Hy vọng nội dung bài viết này sẽ giúp đỡ các bạn phần làm sao gọi google fit là gì và từ bỏ viết được google fit của riêng biệt mình.


Chuyên mục: Tin Tức
12Bet Mobile