آموزش اندروید استودیوآموزش های برنامه نویسی اندروید
آموزش برنامه نویسی اندروید با اندروید استودیو (بخش بیست و هشتم: پیاده سازی RatingBar در اپلیکیشن اندرویدی)
این بخش از آموزش اندروید استودیو، به راه اندازی ریتینگ بار (Rating Bar) در اندروید می پردازیم.
برای آن دسته از دوستانی که نمی دانند Rating Bar چیست، ابتدا توضیحاتی در این رابطه می دهیم. بعضی اوقات لازم است که در برنامه اندرویدی که طراحی نموده ایم، به قسمتی امتیاز دهی کنیم.
در واقع کاربر می تواند این امتیاز دهی را انجام دهد. قسمت هایی مانند ابزار ها ، نوشته ها ، کاربران و .. از این دسته ها هستند که می توانیم سیستم امتیاز دهی را برای آن ها فعال نماییم.
ریتینگ به معنای درجه بندی و یا رتبه بندی است.
در رابطه با پیاده سازی ریتینگ بار، دو عمل باید انجام شود. یکی ایجاد ریتینگ بار و دیگری خواندن اطلاعات از ریتینگ بار! زیرا نیاز داریم تا امتیازاتی که کاربران در ریتینگ بار می دهند را بتوانیم، گردآوری کنیم.
در این بخش با ایجاد پروژه ای، سعی شده است که کار با این ابزار نیز، به شما آموزش داده شود.
من یک پروژه به نام RatingBar-Gsm ایجاد کرده ام.
از قسمت Paletteها در activity_main.xml ، یک RatingBar به لایه اپلیکیشن خود، اضافه نموده ام.
مشاهده می کنید که یک 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(); } }); } }