Поместив строку в MediaStore.Audio.Media.YEAR, как это работает? - PullRequest
0 голосов
/ 23 января 2019

Я немного запутался, MediaStore.Audio.Media.YEAR должен возвращать целочисленное значение верно?

По какой-то причине мой код может поместить строку в столбец MediaStore.Audio.Media.YEAR.

Когда я начал работать, мое приложение работает отлично, и я могу изменить год для каждогоmp3 файл без проблем.Просто хочу узнать, как это возможно.

Это мой код:

public void changeMp3Tags(Context c, long songID, String genreID,
                          String title, String artist, String album, String genre, String year) throws Exception {

final Uri musicUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;


        String currentTitle     = MediaStore.Audio.Media.TITLE;
        String currentArtist    = MediaStore.Audio.Media.ARTIST;
        String currentAlbum     = MediaStore.Audio.Media.ALBUM;
        String currentYear      = MediaStore.Audio.Media.YEAR;

        ContentValues values = new ContentValues();
        values.put(currentTitle, title);
        values.put(currentArtist, artist);
        values.put(currentAlbum, album);
        values.put(currentYear, year);

        String where = MediaStore.Audio.Media._ID + "=?";
        String whereGenre = MediaStore.Audio.Genres._ID + "=?";
        String[] whereVal = {Long.toString(songID)};
        String[] whereVal2 = {genreID};

        resolver.update(musicUri, values, where, whereVal);
}

Как вы видите, я обновляю значения для года с помощью:

 values.put(currentYear, year);

Но год, который я передаю как Параметр , равен String , так как я могу вставить строку в столбец, который возвращает Целые ?

Спасибо,

...