آموزش برنامه نویسی اندروید با اندروید استودیو (بخش بیست و هشتم: پیاده سازی RatingBar در اپلیکیشن اندرویدی)

استاندارد

این بخش از آموزش اندروید استودیو، به راه اندازی ریتینگ بار (Rating Bar) در اندروید می پردازیم.

برای آن دسته از دوستانی که نمی دانند Rating Bar چیست، ابتدا توضیحاتی در این رابطه می دهیم. بعضی اوقات لازم است که در برنامه اندرویدی که طراحی نموده ایم، به قسمتی امتیاز دهی کنیم.

در واقع کاربر می تواند این امتیاز دهی را انجام دهد. قسمت هایی مانند ابزار ها ، نوشته ها ، کاربران و .. از این دسته ها هستند که می توانیم سیستم امتیاز دهی را برای آن ها فعال نماییم.

ریتینگ به معنای درجه بندی و یا رتبه بندی است.

ratingoutput1

در رابطه با پیاده سازی ریتینگ بار، دو عمل باید انجام شود. یکی ایجاد ریتینگ بار و دیگری خواندن اطلاعات از ریتینگ بار!  زیرا نیاز داریم تا امتیازاتی که کاربران در ریتینگ بار می دهند را بتوانیم، گردآوری کنیم.

در این بخش با ایجاد پروژه ای، سعی شده است که کار با این ابزار نیز، به شما آموزش داده شود.

من یک پروژه به نام RatingBar-Gsm ایجاد کرده ام.

از قسمت Paletteها در activity_main.xml ، یک RatingBar به لایه اپلیکیشن خود، اضافه نموده ام.

android-studio-beginners-gsm-developers_91

مشاهده می کنید که یک Rating Bar به صورت Empty به لایه اپلیکیشن، اضافه می شود.

حال یک دکمه Button نیز به لایه اپلیکیشن خود، اضافه می کنیم.

کاری که میخواهیم انجام دهیم اینست که کاربر با زدن دکمه Button ، امتیازی که داده است توسط اپلیکیشن گرفته بشه، و سپس به کاربر نشان داده شود.

کد کامل Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.gsm_developers.ratingbar_gsm.MainActivity">

    <RatingBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="61dp"
        android:id="@+id/ratingBar" />

    <Button
        android:text="Button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/ratingBar"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="133dp"
        android:id="@+id/button" />
</RelativeLayout>

حال به سراغ کد جاوای برنامه یا همان MainActivity.java می رویم.

باید ریتینگ بار و دکمه به کد جاوای برنامه معرفی شوند. سپس به Button قابلیت کلیک می دهیم.

سپس یک رشته به نام Rating معرفی کرده تا اطلاعات را از Rating Bar بگیرد و با استفاده از توست (Toast) به کاربر نشان دهد.

کد زیر که در تابع ()onCreate نوشته می شود، ابتدا دکمه Button و RatingBar را معرفی کرده و سپس اطلاعات را با استفاده از رشته از RatingBar می گیرد و به کار نمایش می دهد.

final RatingBar ratbar = (RatingBar) findViewById(R.id.ratingBar);

        Button button = (Button) findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                String rating=String.valueOf(ratbar.getRating());

                Toast.makeText(getApplicationContext(), rating, Toast.LENGTH_LONG).show();

            }
        });

کد کامل برنامه (قسمت جاوا)

package com.gsm_developers.ratingbar_gsm;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // معرفی ریتینگ بار
        final RatingBar ratbar = (RatingBar) findViewById(R.id.ratingBar);
        // معرفی دکمه
        Button button = (Button) findViewById(R.id.button);
        //  buttonمعرفی رویداد دکمه 
        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // معرفی یک رشته برای گرفتن اطلاعات از ریتینگ بار
                String rating=String.valueOf(ratbar.getRating());
                // نمایش اطلاعات رشته ای که از ریتینگ بار، اطلاعات گرفته بود به کاربر با استفاده از توست
                Toast.makeText(getApplicationContext(), rating, Toast.LENGTH_LONG).show();

            }
        });
    }
}

کد بالا را اجرا می کنیم و خروجی زیر را مشاهده می کنید.

android-studio-beginners-gsm-developers_93

در این قسمت این ریتینگ بار به صورت پیش فرض با رنگ خودش آورده شد. بعدا در آموزش های بعدیمان، سعی می کنیم نحوه شخصی سازی Rating Bar را نیز اضافه نماییم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *