Как сохранить оценки пользователей из ratingBar в базу данных с помощью API веб-сервиса в студии Android

У меня есть API веб-службы, в котором, если мы попадаем в API с помощью метода post, он будет увеличивать рейтинги, указанные пользователем в панели оценок. например, если пользователь нажмет 2 звезды из 5, то во всплывающем сообщении отобразится 2. Теперь я хочу сохранить эти рейтинги в базе данных. У меня есть API, о котором я упоминал ранее, и теперь я хочу поместить рейтинги в базу данных. Пример: если пользователь ставит 2 или 3 звезды, то API должен быть активирован автоматически и сохранен в базе данных. Мой API: webservices / api/incrementratingc.php? Story_id=0&rates=3

здесь идентификатор равен 0, а рейтинг равен 3, если пользователь вводит 3 в строке рейтинга.

      
    public class RatingActivity extends AppCompatActivity {

    
    RatingBar ratingStars;

    float myRating = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_detail);

        ratingStars = findViewById(R.id.ratingBar);


        //create Bundle
        Bundle bundle = getIntent().getExtras();
       

        String ratingR = bundle.getString("rating");
      

        //set
     

        rating.setText(ratingR);
    


        ratingStars.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float v, boolean fromUser) {

                int rating = (int) v;
                String message = null;

                myRating = ratingBar.getRating();

                switch (rating){
                    case 1:
                        message = "Sorry to hear that!";
                        break;
                    case 2:
                        message = "We always accept suggestions!";
                        break;
                    case 3:
                        message = "Good enough!";
                        break;
                    case 4:
                        message = "Great! Thank you!";
                        break;
                    case 5:
                        message = "Awesome! Your are the best!!";
                        break;
                }

                Toast.makeText(DetailActivity.this, message, Toast.LENGTH_SHORT).show();

            }
        });

        ratingStars.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(DetailActivity.this, "Your rating is: " + ratingStars, Toast.LENGTH_SHORT).show();
            }
        });



    }
}

1 ответ

Привет, я не думаю, что этот вопрос связан с Android, поскольку хранение информации в базе данных связано с сервером / веб-сайтом, в любом случае у вас есть возможность сохранить свои данные локально или удаленно

  1. (локально) Создайте БД КОМНАТЫ и сохраните, ее очень легко реализовать, и это рекомендованная Google БД -> https://developer.android.com/training/data-storage/room

  2. (локально) Создайте и сохраните общие настройки -> https://www.tutorialspoint.com/android/android_shared_preferences.htm

  3. (удаленно) или вы можете сохранить информацию удаленно в Google Firebase

Другие вопросы по тегам