[JAVA] Essai et erreur pour afficher les jours fériés dans le développement d'applications Android. Partie 2

Merci! C'est Yosuke. Je n'arrive pas à penser à un bon titre w C'est difficile d'avoir un titre concis, concret et sympa (rires). Je pense que c'est un peu différent des blogs, et comme moi et le contenu, je ferai de mon mieux pour que ça soit bien!

Partie 1 expliquait les dates des fêtes nationales. Dans la deuxième partie, je présenterai la façon de penser lors de l'assemblage du code source (bien que je montre que je pensais de cette façon ...), le code source, et quelques inconvénients, donc je les présenterai également. Je vais. En tant que revue de la première partie, je republierai les jours de vacances et les remarques.

Nom de vacances Date Remarques
Nouveau jour 1er janvier -
Journée adulte Deuxième lundi de janvier -
jour fondation 11 février -
Anniversaire de l'empereur 23 février -
Journée de l'équinoxe vernal Un du 19 au 22 mars Déterminez la date par le reste de la division de l'année par 4
Showa Day 29 avril -
Anniversaire constitutionnel 3 mai -
Jour vert 4 mai -
La journée des enfants 5 mai -
Journée de la mer Troisième lundi de juillet 23 juillet 2020
Journée de montagne 11 août 10 août 2020
Journée Keiro Troisième lundi de septembre -
Jour d'automne 1 de 22-24 jours en septembre Déterminez la date par le reste de la division de l'année par 4
Journée sportive Deuxième lundi d'octobre 24 juillet 2020
Journée de la culture 3 novembre -
Action de grâce du travail 23 novembre -

--En pensant

Façon de penser

Avant d'écrire le code source, je vais vous expliquer mes pensées. Le premier à utiliser est la ** classe Calendar **. En faisant cela, vous pouvez obtenir l'année, le mois, le jour, le jour et la semaine et régler les vacances en conséquence ... C'est naturel (rires). J'utilise la base de données parce que je veux afficher les jours fériés soulignés dans TextView et appuyer pour afficher les détails dans une boîte de dialogue.

id name detail adress
1 Nouveau jour Un ans... https....
2 Journée adulte À la loi sur les vacances... https...
... ... ... ...
15 Journée de la culture De l'empereur Meiji... https...
16 Action de grâce du travail À l'ère Reiwa... https....

Je l'ai omis au milieu, mais attribuez un identifiant à chaque jour férié et affichez le jour férié et ses détails en fonction de cet identifiant ... Hmm holiday.PNG ↑ Comprends-tu comme ça ... Désolé pour la mauvaise explication m (..) m Vient ensuite les vacances de transfert, mais c'est aussi une base de données avec uniquement un identifiant et un indicateur

id flag
100 0

Si un jour férié arrive le dimanche, définissez l'indicateur sur 1 et remettez-le à 0 si ce jour est un jour férié de transfert. Je fais quelque chose comme ça. C'est pourquoi il y a des inconvénients ...

Code source

Le code source est divisé en Holiday.java, qui détermine les jours fériés, DateDatabeseHelper.java dans la base de données et MainActivity.java, qui est le principal.

Holiday.java


public class Holiday {
    //Obtenez la date, le jour, l'année, la semaine du jour
    int year,month,day,youbi,week;
    Calendar calendar = Calendar.getInstance();
    //Base de données
    DateDatabaseHelper helper = null;
    //Déterminer si afficher les jours fériés nationaux
    boolean holidayFlag;
    //Obtenez le nom, les détails et l'identifiant des vacances
    String holidayName,holidayDetail;
    int id;
    //Vacances de transfert de juge
    boolean transHolidayFlag;


    public void holiday(){
        year = calendar.get(Calendar.YEAR); //Année
        month = calendar.get(Calendar.MONTH) + 1; //Mois
        day = calendar.get(Calendar.DAY_OF_MONTH); //journée
        youbi = calendar.get(Calendar.DAY_OF_WEEK); //journée
        week = calendar.get(Calendar.WEEK_OF_MONTH); //la semaine
        if(month == 1 && day == 1){
            //Nouveau jour
            id = 1;
            holidayFlag = true;
        }
        else if(month == 1 && week == 2 && youbi == 2){
            //Journée adulte
            id = 2;
            holidayFlag = true;
            }
        else if(month == 2 && day == 11){
            //jour fondation
            id = 3;
            holidayFlag = true;
        }
        else if(month == 2 && day == 23){
            //Anniversaire de l'empereur
            id = 4;
            holidayFlag = true;
        }
        else if(month == 3){
            //Journée de l'équinoxe vernal
            switch (year % 4){
                case 0:
                    //1992-20 jours jusqu'en 2091
                    if(year >= 1992 && year <= 2091){
                        if(day == 20){
                            id = 5;
                            holidayFlag = true;
                        }
                        else {
                            holidayFlag = false;
                        }
                    }
                    //2092-19 jours jusqu'en 2099
                    else{
                        if(day == 19){
                            id = 5;
                            holidayFlag = true;
                        }
                        else {
                            holidayFlag = false;
                        }
                    }
                    break;
                case 1:
                    //1992-20 jours jusqu'en 2099
                    if(day == 20){
                        id = 5;
                        holidayFlag = true;
                    }
                    else {
                        holidayFlag = false;
                    }
                    break;
                case 2:
                    //1992-21 jours jusqu'en 2023
                    if(year >= 1992 && year <= 2023){
                        if(day == 21){
                            id = 5;
                            holidayFlag = true;
                        }
                        else{
                            holidayFlag = false;
                        }
                    }
                    //2024-20 jours jusqu'en 2099
                    else{
                        if(day == 20){
                            id = 5;
                            holidayFlag = true;
                        }
                        else{
                            holidayFlag = false;
                        }
                    }
                    break;
                case 3:
                    //1992-21 jours jusqu'en 2055
                    if(year >= 1992 && year <= 2055){
                        if(day == 21){
                            id = 5;
                            holidayFlag = true;
                        }
                        else{
                            holidayFlag = false;
                        }
                    }
                    //2056-20 jours jusqu'en 2099
                    else{
                        if(day == 20){
                            id = 5;
                            holidayFlag = true;
                        }
                        else{
                            holidayFlag = false;
                        }
                    }
                    break;
            }
        }
        else if(month == 4 && day == 29){
            //Showa Day
            id = 6;
            holidayFlag = true;
        }
        else if(month == 5 && day == 3){
            //Anniversaire constitutionnel
            id = 7;
            holidayFlag = true;
        }
        else if(month == 5 && day == 4){
            //Jour vert
            id = 8;
            holidayFlag = true;
        }
        else if(month == 5 && day == 5){
            //La journée des enfants
            id = 9;
            holidayFlag = true;
        }
        else if(year != 2020 && month == 7 && week == 3 && youbi == 2){
            //Journée de la mer
            id = 10;
            holidayFlag = true;
        }
        else if(year == 2020 && month == 7 && day == 23){
            //Le jour de la mer ne bouge qu'en 2020
            id = 10;
            holidayFlag = true;
        }
        else if(year != 2020 && month == 8 && day == 11){
            //Journée de montagne
           id = 11;
           holidayFlag = true;
        }
        else if(year == 2020 && month == 8 && day == 10){
            //Les jours de montagne ne bougent qu'en 2020
            id = 11;
            holidayFlag = true;
        }
        else if(month == 9 && week == 3 && youbi == 2){
            //Journée Keiro
            id = 12;
            holidayFlag = true;
        }
        else if(month == 9){
            //Jour d'automne
            switch (year % 4){
                case 0:
                    //2012-22 jours jusqu'en 2099
                    if(day == 22){
                        id = 13;
                        holidayFlag = true;
                    }
                    else {
                        holidayFlag = false;
                    }
                    break;
                case 1:
                    //2012-23 jours jusqu'en 2043
                    if(year >= 2012 && year <= 2043){
                        if(day == 23){
                            id = 13;
                            holidayFlag = true;
                        }
                        else{
                            holidayFlag = false;
                        }
                    }
                    //2044-22 jours jusqu'en 2099
                    else{
                        if(day == 22){
                            id = 13;
                            holidayFlag = true;
                        }
                        else{
                            holidayFlag = false;
                        }
                    }
                    break;
                case 2:
                    //2012-23 jours jusqu'en 2075
                    if(year >= 2012 && year <= 2075){
                        if(day == 23){
                            id = 13;
                            holidayFlag = true;
                        }
                        else{
                            holidayFlag = false;
                        }
                    }
                    //2076-22 jours jusqu'en 2099
                    else{
                        if(day == 22){
                            id = 13;
                            holidayFlag = true;
                        }
                        else{
                            holidayFlag = false;
                        }
                    }
                    break;
                case 3:
                    //2012-23 jours jusqu'en 2099
                    if(day == 23){
                        id = 13;
                        holidayFlag = true;
                    }
                    else{
                        holidayFlag = false;
                    }
                    break;
            }
        }
        else if(year != 2020 && month == 10 && week == 2 && youbi == 2){
            //Journée sportive
            id = 14;
            holidayFlag = true;
        }
        else if(year == 2020 && month == 7 && day == 24){
            //La journée du sport ne bougera qu'en 2020
            id = 14;
            holidayFlag = true;
        }
        else if(month == 11 && day == 3){
            //Journée de la culture
            id = 15;
            holidayFlag = true;
        }
        else if(month == 11 && day == 23){
            //Action de grâce du travail
            id = 16;
            holidayFlag = true;
        }
        else{
            holidayFlag = false;
        }
        }
        //Passer à main que ce soit des vacances ou non
    public boolean getHoliday(){
        return holidayFlag;
    }
    //passer l'identifiant au main
    public int holiday_info(){
       return id;
    }
    //Passez au main s'il y a des vacances le dimanche
    public boolean getTransferHoliday(){
        //Si c'est un jour férié et que ce jour est dimanche
        if(holidayFlag == true && youbi == 1){
            transHolidayFlag = true;
        }
        else{
            transHolidayFlag = false;
        }
        return transHolidayFlag;
    }
}

Bien qu'il soit redondant, il juge essentiellement si le jour est un jour férié et s'il y a un jour férié le dimanche et transmet le résultat du jugement à Main.

DateDatabaseHelper.java


public class DateDatabaseHelper extends SQLiteOpenHelper {
    static final private String DBNAME = "OneDayDiary.sqlite";
    static final private int VERSION = 16;

    public DateDatabaseHelper(Context context) {
        super(context, DBNAME, null, VERSION);
    }

    @Override
    public void onOpen(SQLiteDatabase db) {
        super.onOpen(db);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
----Omission-----
//Base de données de vacances
        db.execSQL("CREATE TABLE holiday(" +
                "id INTEGER PRIMARY KEY, name TEXT, detail TEXT, adress TEXT)");
        int[] id_holiday = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
        String[] name_holiday = {
                "Nouveau jour","Journée adulte","jour fondation","Anniversaire de l'empereur","Journée de l'équinoxe vernal","Showa Day","Anniversaire constitutionnel","Jour vert","La journée des enfants",
                "Journée de la mer","Journée de montagne","Journée Keiro","Jour d'automne","Journée sportive","Journée de la culture","Action de grâce du travail"
        };
        String[] detail_holiday = {
                "C'est un jour férié en début d'année, et la loi sur les vacances vise à «fêter le début de l'année».",
                        "Selon la loi sur la fête nationale, des cérémonies pour adultes ont lieu dans divers endroits de la journée dans le but de «célébrer un jeune homme qui sait qu'il a grandi et tente de survivre».",
                        "Il a été établi comme une journée pour célébrer la fondation du pays. La loi sur les vacances stipule: «Nous continuerons à établir le pays et à cultiver un amour pour le pays».",
                        ""Célébrer la naissance de l'empereur" est le but de la loi sur les vacances, et divers événements tels que le Festival de Tencho ont lieu dans des sanctuaires généraux et des sanctuaires shintoïstes à divers endroits.",
                        "La loi sur les vacances stipule que «loue la nature et prend soin des êtres vivants», et il est dit que la durée du jour et de la nuit est égale.",
                        "Ce jour, qui est l'anniversaire de l'empereur Showa, a été établi comme "Showa Day". La loi sur les vacances stipule qu '«après les jours de turbulence, nous regardons en arrière sur l'ère Showa, qui a été reconstruite, et pensons à l'avenir du pays».",
                        "La loi sur les jours fériés stipule que cette journée doit être «pour commémorer l'application de la Constitution du Japon et promouvoir la croissance du pays».",
                        "L'origine du nom est "Green Day" parce que l'empereur Showa aimait la nature. Il y avait d'autres opinions telles que "Science Day". Selon la loi sur les vacances, le but est de «se rapprocher de la nature, d'apprécier ses bienfaits et de nourrir un cœur riche».",
                        "Le but de cette journée, qui est une fête de la fin de la journée, est stipulé dans la loi sur les vacances: «Nous apprécions les droits humains des enfants, luttons pour leur bonheur et remercions leurs mères».",
                        "Selon la loi sur la fête nationale, la Journée de la mer vise à «vous remercier pour les bienfaits de la mer et souhaiter la prospérité du Japon, pays marin».",
                        "Cette journée a été créée en 2014 et a été nouvellement créée en 2016. Il s'agit de la première nouvelle fête en 20 ans depuis le "Sea Day" en 1996. Le but de la loi sur les vacances est de "donner l'opportunité de connaître la montagne et d'apprécier les bienfaits de la montagne".",
                        "La loi sur les vacances vise à «respecter les personnes âgées qui vivent dans la société depuis de nombreuses années et célèbrent leur longévité».",
                        "On dit que la journée est raccourcie et que la durée du jour et de la nuit est la même. Le but de la loi sur les vacances est de «respecter les ancêtres et de pleurer les personnes perdues».",
                        "À partir de 2020, le nom est passé de «Journée de l'éducation physique» à «Journée du sport». En 2020, il déménagera le 24 juillet. La loi sur les vacances stipule que «la coloration dans le sport et le maintien d'un esprit et d'un corps sains».",
                        "En ce jour, qui est l'anniversaire de l'empereur Meiji, selon la loi sur les fêtes, le but est «d'aimer la liberté et la paix et de promouvoir la culture».",
                        "À l'ère Reiwa, ce jour est le dernier jour férié de l'année. Le but de la loi sur les fêtes est de «travailler dur, célébrer la production et se remercier»."
        };
        String[] url_holiday = {
                "https://ja.wikipedia.org/wiki/%E5%85%83%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E6%88%90%E4%BA%BA%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E5%BB%BA%E5%9B%BD%E8%A8%98%E5%BF%B5%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E5%A4%A9%E7%9A%87%E8%AA%95%E7%94%9F%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E6%98%A5%E5%88%86%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E6%98%AD%E5%92%8C%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E6%86%B2%E6%B3%95%E8%A8%98%E5%BF%B5%E6%97%A5_(%E6%97%A5%E6%9C%AC)",
                        "https://ja.wikipedia.org/wiki/%E3%81%BF%E3%81%A9%E3%82%8A%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E3%81%93%E3%81%A9%E3%82%82%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E6%B5%B7%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E5%B1%B1%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E6%95%AC%E8%80%81%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E7%A7%8B%E5%88%86%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E4%BD%93%E8%82%B2%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E6%96%87%E5%8C%96%E3%81%AE%E6%97%A5",
                        "https://ja.wikipedia.org/wiki/%E5%8B%A4%E5%8A%B4%E6%84%9F%E8%AC%9D%E3%81%AE%E6%97%A5"
        };
        db.beginTransaction();
        try{
            SQLiteStatement sql_holiday = db.compileStatement(
                    "INSERT INTO holiday(id, name, detail, adress) VALUES(?,?,?,?)");
            for(int i = 0; i < id_holiday.length; i++){
                sql_holiday.bindLong(1,id_holiday[i]);
                sql_holiday.bindString(2,name_holiday[i]);
                sql_holiday.bindString(3,detail_holiday[i]);
                sql_holiday.bindString(4,url_holiday[i]);
                sql_holiday.executeInsert();
            }
            db.setTransactionSuccessful();
        } catch (SQLException e){
            e.printStackTrace();
        } finally {
            db.endTransaction();
        }
        db.execSQL("CREATE TABLE transHoliday(" +
                "id INTEGER PRIMARY KEY, flag INTEGER)");
        db.execSQL("INSERT INTO transHoliday(" +
                "id, flag) VALUES(100,0)");

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int old_v, int new_v) {
        db.execSQL("DROP TABLE IF EXISTS holiday");
        db.execSQL("DROP TABLE IF EXISTS transHoliday");
        onCreate(db);

    }


}   

Dans la base de données, les données sur les jours fériés et uniquement les vacances de transfert on / off sont préparées à l'avance. En passant, je pense que la raison pour laquelle l'URL est entrée en tant que données peut être utilisée sur un autre écran. L'URL comprend non seulement ce jour férié, mais également des informations sur Fukuoka et l'URL de l'anniversaire du jour.

MainActivity.java


public class MainActivity extends AppCompatActivity{
//Prêt à afficher la date et le jour
    private TextView today;
    Calendar calendar = Calendar.getInstance();
    int year,month,day;

---Omission---

//jours fériés
    private TextView holiday;
    String holidayName,holidayDetail; //Nom et détails des vacances
    boolean holidayFlag,transHolidayFlag; //S'il y a des vacances et des vacances de transfert
    int holidayId; //ID pour la recherche dans DB
    long transHoliday = 0; //Transfert du drapeau de vacances
    Holiday Hday = new Holiday(); //Cours de vacances

---Omission---

//Prêt à se connecter à la base de données
    private DateDatabaseHelper helper = null;
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //Déclaration de chaque widget

---Omission---

 holiday = findViewById(R.id.holiday);

---Omission---

//Obtenez la date du jour
        year = calendar.get(calendar.YEAR);
        month = calendar.get(calendar.MONTH) + 1;
        day = calendar.get(calendar.DAY_OF_MONTH);

---Omission---

    //jours fériés
        //Exécutez la méthode des vacances
        Hday.holiday();
        //Déterminer s'il y a un jour férié
        holidayFlag = Hday.getHoliday();
        //Obtenez la présence ou l'absence de vacances de transfert
        transHolidayFlag = Hday.getTransferHoliday();
        //Transférer l'identifiant de vacances
        String[] transHdayId = {"100"};
        //Mettre à jour l'indicateur DB sur 1 si transHolidayFlag est vrai

            SQLiteDatabase db_transUp1 = helper.getWritableDatabase();
            try{
                if(transHolidayFlag == true) {
                ContentValues cv_transUp1 = new ContentValues();
                cv_transUp1.put("flag",1);
                db_transUp1.update("transHoliday",cv_transUp1,"id = ?",transHdayId);
                }
                Cursor cursor_transUp1 = db_transUp1.rawQuery("select flag from transHoliday",null);
                cursor_transUp1.moveToFirst();
                transHoliday = cursor_transUp1.getLong(0);
            } finally {
                db_transUp1.close();
            }


        if(holidayFlag == true){
            //Obtenez le nom et les détails s'il y a des vacances
           holidayId = Hday.holiday_info();
            SQLiteDatabase db_holiday = helper.getWritableDatabase();
            try{
                Cursor cursor_holiday = db_holiday.query(
                        "holiday",
                        new String[] {"name","detail"},
                        "id = ?",
                        new String[] {"" + holidayId},
                        null,
                        null,
                        null
                );
                cursor_holiday.moveToFirst();
                holidayName = cursor_holiday.getString(0);
                holidayDetail = cursor_holiday.getString(1);
                //Souligner holidayName
                SpannableString uHoliday = new SpannableString(holidayName);
                uHoliday.setSpan(new UnderlineSpan(),0,holidayName.length(),0);
                holiday.setText(uHoliday);
                //Rendre les lettres du jour rouges
                day_of_the_week.setTextColor(Color.RED);
            } finally {
                db_holiday.close();
            }
        }
        else if(transHoliday == 1 && holidayFlag == false ){
            //Si le drapeau de vacances de transfert est vrai et que le drapeau de vacances nationales est également faux, ce jour est un jour férié de transfert
            holiday.setText("Transfert vacances");
            holidayDetail = "Aujourd'hui est un jour férié de transfert";
            //Remettre l'indicateur de vacances de transfert DB à 0
            SQLiteDatabase db_transUp2 = helper.getWritableDatabase();
            try{
                ContentValues cv_transUp2 = new ContentValues();
                cv_transUp2.put("flag",0);
                db_transUp2.update("transHoliday",cv_transUp2,"id = ?",transHdayId);
            } finally {
                db_transUp2.close();
            }
        }
        else{
            //Ne pas afficher si ce n'est pas un jour férié
            holiday.setText("");
        }
        //Afficher les détails dans la boîte de dialogue
        holiday.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle(holidayName);
                builder.setMessage(holidayDetail);
                builder.setCancelable(false);
                builder.setPositiveButton("OK",
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {

                            }
                        });
                builder.create().show();
            }
        });

---Omission---

//onCreate est ici
    }
}

Dans Main, les jours fériés et les vacances de transfert sont jugés en fonction du holidayFlag et transHolidayFlag reçus de Holiday.java, et l'activation / désactivation est désactivée de la base de données pour les vacances et de la base de données pour les vacances de transfert. Puisque .setOnClickListener peut également être utilisé dans TextView, appuyez sur le nom du jour férié affiché pour afficher les détails dans une boîte de dialogue.

Résultat d'exécution

Puisque le 23 février 2020 (dimanche) n'est que l'anniversaire de l'empereur, j'ai essayé de jouer avec la date sur mon smartphone. holidayExp1.png Lorsque vous appuyez sur la lettre rouge "Anniversaire de l'empereur" sur la gauche. holidayExp2.png Et les détails peuvent être affichés. (La lettre bleue "Anniversaire de l'empereur" à droite doit être un autre anniversaire ...) Et le lundi suivant est un jour férié de transfert, je vais donc l'essayer le 24. transExp1.png Le jour férié de transfert lui-même n'a pas besoin d'être affiché séparément, il n'est donc pas souligné, mais si vous le touchez pour le moment transExp2.png De cette manière, "Aujourd'hui est un congé de transfert" s'affiche.

Désavantage

La définition d'un jour férié de transfert était "s'il y a un jour férié le dimanche, le jour de la semaine suivant est un jour férié de transfert". Nous pouvons juger des jours fériés parce que nous connaissons les chiffres, mais nous avons décidé que les vacances de transfert sont les dimanches et les jours fériés. Le problème ici est

  1. Vous ne pouvez pas déterminer l'indicateur de vacances de transfert sauf si vous vous connectez tous les jours.
  2. Lorsque le congé de transfert est affiché, l'indicateur est mis à 0, de sorte que le congé de transfert ne sera pas affiché lors du redémarrage.
  3. Lorsqu'un jour de semaine rare est pris en sandwich entre les jours fériés, il n'est pas possible de traiter ce jour comme un jour férié Peut être mentionné. Je réfléchis beaucoup quand j'écris cet article (rires), mais 1 et 2 sont des phénomènes courants qui se produisent parce que le drapeau devient 0 ou 0. Je ne peux le vérifier que le jour de l'événement, donc ce n'est pas seulement la cause de mes soucis, mais les fleurs sont en fleur (rires). Il semble être résolu et il est difficile de sortir ... Oh, pardonnez le motif 3 ... (Il a fallu une heure juste pour gratter les défauts ...)

Cela devrait bien fonctionner les jours fériés! Eh bien, c'est redondant (rires). Eh bien, pour le moment, je vous rapporterai à nouveau s'il semble que le congé de transfert peut être résolu en procédant tel quel. gekimuzu ..

** Addendum ** Je publie une version corrigée car le traitement du lundi ○ était incorrect. →https://qiita.com/ysk75/items/278c52bf4052991eb99d

Les références

Jours fériés: https://ja.wikipedia.org/wiki/%E5%9B%BD%E6%B0%91%E3%81%AE%E7%A5%9D%E6%97%A5 Obtenez des informations sur la date et l'heure: https://www.javadrive.jp/start/calendar/index2.html

Recommended Posts

Essai et erreur pour afficher les jours fériés dans le développement d'applications Android. Partie 2
Essai et erreur pour afficher les jours fériés dans le développement d'applications Android. Partie 1
Application Android qui sélectionne et affiche des images de la galerie
Comment implémenter l'affichage sur une seule ligne de TextView dans le développement Android
Introduction au développement d'applications Android 1 Installation de JDK et d'Android Studio pour mac
De Java à C et de C à Java dans Android Studio
Comment afficher les messages d'erreur en japonais
[Développement d'applications Android] Comment afficher en plein écran (barre de notification masquée)
Développement (paramètres) Riot (application de chat) dans Android Studio
Application Android: essayez de résumer les événements et les auditeurs
[Dans le développement de l'équipe] Erreur lors du déplacement vers la succursale d'un autre membre et de l'exécution des rails [Rails]
Un débutant en développement d'applications a essayé de créer une application de calculatrice Android
Politique de mise en œuvre pour enregistrer et afficher dynamiquement le fuseau horaire dans les rails
Raisons d'utiliser séparément Servlet et JSP dans le développement Java
Comment développer et enregistrer une application Sota en Java
[Android] Essayez celui qui affiche l'effet sur la partie touchée de l'écran qui est courant dans les jeux
Développement d'applications iOS: application Timer (2. affichage de la minuterie)
Lancement du développement personnel de l'application Android
Introduction au développement d'applications Android
Développement d'applications ROS sur Android
Ce que les débutants du développement Android ont fait avant de publier l'application dans 2 semaines
J'ai essayé de créer une application cartographique simple dans Android Studio
Ce que j'ai appris en Java (partie 1) Flux de développement Java et présentation
Source pour afficher le tableau de caractères avec numberPicker dans Android Studio (Java)
[Android] Convertissez Map en JSON à l'aide de GSON avec Kotlin et Java