Faits :
A.
A.a. Après avoir déjà séjourné illégalement en Suisse auparavant, A._, ressortissant kosovar né en 1983, est entré clandestinement en Suisse le 1er septembre 2009. En novembre 2009, il a épousé à Genève B._, ressortissante suisse née en 1990. Après plusieurs périodes de séparation, les époux ont définitivement cessé de faire ménage commun depuis le 1er avril 2015 et ont divorcé le 25 janvier 2019 (cf. <ref-law>). Aucun enfant n'est issu de cette union.
Le 23 mars 2010, A._ a été mis au bénéfice d'une autorisation de séjour au titre du regroupement familial, laquelle a ensuite été renouvelée jusqu'au 23 novembre 2011.
A.b. Sur le plan professionnel et financier, A._ exerce une activité de peintre en tant que titulaire d'une raison individuelle. Il n'a jamais émargé à l'aide sociale.
Au 19 janvier 2018, l'intéressé faisait l'objet de poursuites pour un montant de 50'021 fr. et d'actes de défaut de biens s'élevant à 24'755 fr. Selon un extrait du 18 février 2020 (cf. <ref-law>), A._ avait accumulé à cette date des poursuites à concurrence d'environ 75'000 fr., les actes de défaut de biens délivrés à son encontre s'élevant toujours à 24'755 fr.
A.c. Depuis son arrivée en Suisse, A._ a été condamné pénalement à plusieurs reprises:
- le 7 janvier 2009, à une peine privative de liberté de nonante jours pour entrée et séjour illégaux (peine d'ensemble avec une peine prononcée dans un jugement précédent);
- le 13 septembre 2011, à une peine privative de liberté d'un an, assortie d'un sursis de quatre ans, pour infraction à l'art. 19 ch. 1 et ch. 2 let. a de la loi fédérale du 3 octobre 1951 sur les stupéfiants et les substances psychotropes (LStup; RS 812.121);
- le 19 novembre 2012, à une peine privative de liberté de six mois pour infraction à l'<ref-law>, le sursis octroyé le 13 septembre 2011 étant en outre révoqué;
- le 5 février 2014, à une peine pécuniaire de soixante jours-amende pour infraction à la législation sur les étrangers et violation de domicile;
- le 23 mars 2018, à une peine pécuniaire de trente jours-amende, assortie d'un sursis de trois ans, pour détournement de valeurs patrimoniales (2'800 fr.) mises sous main de justice.
Le 23 juillet 2018, l'intéressé a été incarcéré, n'étant pas en mesure de s'acquitter de la peine pécuniaire qui lui avait été infligée le 5 février 2014.
A.d. Un frère, deux soeurs et plusieurs cousins de A._ vivent en Suisse. D'autres membres de sa famille, notamment ses parents et deux autres soeurs, résident au Kosovo.
B.
Le 21 novembre 2011, A._ a requis la prolongation de son autorisation de séjour, qui arrivait à échéance le 23 novembre 2011. Le 13 juin 2018, l'intéressé a sollicité une seconde fois le renouvellement de l'autorisation en question.
Par décision du 30 janvier 2019, l'Office cantonal de la population et des migrations du canton de Genève (ci-après: l'Office cantonal) a refusé de prolonger l'autorisation de séjour de A._ et prononcé son renvoi de Suisse.
Le 1er mars 2019, A._ a recouru contre cette décision devant le Tribunal administratif de première instance du canton de Genève (ci-après: le TAPI), concluant à l'annulation de la décision attaquée et au renouvellement de son autorisation de séjour. Le 5 novembre 2019, le TAPI a rejeté le recours.
Saisie d'un recours contre le jugement du TAPI, la Chambre administrative de la Cour de justice du canton de Genève (ci-après: la Cour de justice) a tenu une audience de comparution personnelle le 17 février 2020. Par arrêt du 30 avril 2020, elle a rejeté le recours.
C.
A l'encontre de l'arrêt du 30 avril 2020, A._, agissant en personne, dépose auprès du Tribunal fédéral un recours en matière de droit public, "subsidiairement de droit constitutionnel subsidiaire". Sans prendre de conclusion formelle, il demande en substance l'annulation de l'arrêt entrepris et le renouvellement de son autorisation de séjour.
Par ordonnance du 8 juin 2020, le Président de la IIe Cour de droit public du Tribunal fédéral a accordé l'effet suspensif au recours quant à l'obligation de départ résultant de l'arrêt attaqué.
Il n'a pas été ordonné d'échange d'écritures.

Considérant en droit :
1.
Le Tribunal fédéral examine d'office sa compétence (<ref-law>) et contrôle librement la recevabilité des recours qui lui sont soumis (<ref-ruling> consid. 1 p. 116).
1.1. En vertu de l'art. 83 let. c LTF, le recours en matière de droit public est notamment irrecevable contre les décisions en matière de droit des étrangers qui concernent une autorisation à laquelle ni le droit fédéral ni le droit international ne donnent droit (ch. 2). En l'occurrence, bien qu'implicitement, le recourant, divorcé d'une ressortissante suisse, se prévaut de manière soutenable de l'ancien art. 50 al. 1 let. a LEtr (RO 2007 5437), applicable en l'espèce en vertu de l'art. 126 al. 1 LEI (RS 142.20) et auquel il sera donc fait référence ci-après. Sous cet angle, il fait valoir de manière défendable l'éventualité d'un droit de séjour en Suisse, de sorte que son recours échappe au motif d'irrecevabilité prévu à l'art. 83 let. c ch. 2 LTF, étant précisé que le point de savoir si l'intéressé remplit les conditions pour obtenir l'autorisation requise relève du fond et non de la recevabilité (cf. arrêt 2C_401/2018 du 17 septembre 2018 consid. 1.1). La voie du recours en matière de droit public est donc ouverte, ce qui entraîne l'irrecevabilité du recours constitutionnel subsidiaire formé en parallèle (<ref-law> a contrario).
1.2. Selon l'<ref-law>, les mémoires de recours doivent contenir des conclusions. Le recourant doit donc indiquer sur quels points la décision est attaquée et quelles sont les modifications demandées. Si les conclusions font défaut ou sont, dans leur ensemble, insuffisantes, le recours est irrecevable. Toutefois, l'interdiction du formalisme excessif impose de ne pas se montrer trop strict dans la formulation des conclusions si, à la lecture du mémoire, on comprend clairement ce que veut le recourant (cf. arrêts 2C_359/2015 du 10 septembre 2015 consid. 1.6 et 2C_1189/2014 du 26 juin 2015 consid. 1.4). Tel est en particulier le cas lorsque le but et l'objet du recours ressortent sans aucun doute des motifs invoqués. Il convient en outre de ne pas se montrer trop formaliste si le justiciable, comme en l'espèce, n'est pas représenté par un avocat.
En l'occurrence, bien que l'intéressé n'ait pas pris de conclusion formelle dans le mémoire de recours, son écriture permet de déterminer ce qu'il requiert, c'est-à-dire l'annulation de l'arrêt attaqué et le renouvellement de son autorisation de séjour. Au regard de ce qui précède, on peut admettre que le recours respecte les conditions de forme posées par l'<ref-law>.
1.3. Au surplus, l'arrêt attaqué constitue une décision finale (<ref-law>) rendue en dernière instance cantonale par un tribunal supérieur (art. 86 al. 1 let. d et al. 2 LTF) dans une cause de droit public (<ref-law>). Déposé en temps utile (<ref-law>) par le destinataire de l'arrêt attaqué qui a un intérêt digne de protection à son annulation ou à sa modification (<ref-law>), le recours en matière de droit public est recevable.
2.
2.1. Saisi d'un recours en matière de droit public, le Tribunal fédéral examine librement la violation du droit fédéral (cf. art. 95 let. a et 106 al. 1 LTF), alors qu'il n'examine la violation de droits fondamentaux que si ce grief a été invoqué et motivé par le recourant, conformément au principe d'allégation (<ref-law>). Dans ce cas, l'acte de recours doit contenir un exposé succinct des droits fondamentaux violés et préciser en quoi consiste la violation (cf. <ref-ruling> consid. 1.3 p. 41). L'<ref-law> s'applique également aux griefs de violation de droits fondamentaux conventionnels, notamment ceux déduits de la CEDH (arrêt 2C_401/2018 du 17 septembre 2018 consid. 2.1 et les références citées).
2.2. Le Tribunal fédéral conduit son raisonnement juridique sur la base des faits constatés par l'autorité précédente (<ref-law>), sous réserve des cas prévus à l'<ref-law>. Selon l'<ref-law>, le recours ne peut critiquer les constatations de fait que si les faits ont été établis de façon manifestement inexacte - notion qui correspond à celle d'arbitraire - ou en violation du droit au sens de l'<ref-law> et si la correction du vice est susceptible d'influer sur le sort de la cause (<ref-ruling> consid. 6 p. 358; <ref-ruling> consid. 1.6 p. 377). Conformément à l'<ref-law>, la partie recourante doit expliquer de manière circonstanciée en quoi ces conditions seraient réalisées. A défaut, il n'est pas possible de tenir compte d'un état de fait qui diverge de celui qui est contenu dans l'acte attaqué (<ref-ruling> consid. 5.1 p. 356; arrêt 2C_793/2018 du 13 mars 2019 consid. 2).
En l'occurrence, dans la mesure où le recourant présente une argumentation partiellement appellatoire, en complétant ou en modifiant librement l'état de fait retenu dans l'arrêt entrepris, sans invoquer ni l'arbitraire, ni une constatation manifestement inexacte des faits, le Tribunal fédéral ne peut pas en tenir compte. Il statuera donc sur la base des faits tels qu'ils ressortent de l'arrêt attaqué.
3.
Dans un grief d'ordre formel, qu'il convient d'examiner en premier lieu, le recourant se plaint du "temps exagérément long d'inactivité des autorités" (recours, p. 4), se référant au fait que l'Office cantonal l'a "fait attendre [...] huit ans [...] sans répondre à [sa] demande de renouvellement d'autorisation de séjour" (recours, p. 7). Il invoque son droit constitutionnel à recevoir une décision dans un délai raisonnable.
3.1. Aux termes de l'art. 29 al. 1 Cst., toute personne a droit, dans une procédure judiciaire ou administrative, à ce que sa cause soit jugée dans un délai raisonnable. Cette disposition consacre le principe de la célérité ou, en d'autres termes, prohibe le retard injustifié à statuer. Selon la jurisprudence, il appartient au justiciable, en application du principe de la bonne foi (art. 5 al. 3 Cst.), d'entreprendre ce qui est en son pouvoir pour que l'autorité fasse diligence, que ce soit en l'invitant à accélérer la procédure ou en recourant, le cas échéant, pour retard injustifié, car il serait contraire à ce principe qu'un justiciable puisse valablement soulever ce grief devant l'autorité de recours, alors qu'il n'a entrepris aucune démarche auprès de l'autorité précédente afin de remédier à cette situation. En outre, dès que l'autorité a statué, le justiciable perd en principe tout intérêt juridique à faire constater un éventuel retard à statuer (cf. arrêts 2C_401/2018 du 17 septembre 2018 consid. 8.1; 2D_4/2018 du 12 juin 2018 consid. 8.1; 2C_1014/2013 du 22 août 2014 consid. 7.1, non publié in <ref-ruling>).
3.2. En l'espèce, les sept ans et deux mois mis par l'Office cantonal pour statuer, le 30 janvier 2019, sur la (première) demande de prolongation de l'autorisation de séjour du recourant, déposée par celui-ci le 21 novembre 2011, sont totalement démesurés, et ce même en tenant compte des condamnations pénales de l'intéressé qui ont pu différer la décision. Un tel retard à statuer n'est pas compatible avec le principe de célérité. Il ressort toutefois de l'arrêt entrepris que le recourant, avant le 13 juin 2018, n'avait entrepris aucune démarche auprès de l'Office cantonal pour lui demander de faire diligence. En outre, l'intéressé n'explique pas en quoi il aurait encore un intérêt à faire constater un éventuel retard à statuer alors que l'Office cantonal a rendu sa décision. Dans ces circonstances, le grief ne peut donc qu'être écarté (cf. arrêts 2C_401/2018 du 17 septembre 2018 consid. 8.2; 6B_161/2018 du 2 août 2018 consid. 5; 2D_4/2018 du 12 juin 2018 consid. 8.2).
4.
Sans citer aucune disposition de droit des étrangers, le recourant, en se prévalant de son intégration réussie, fait implicitement valoir une violation de l'art. 50 al. 1 let. a LEtr (cf. <ref-law>).
4.1. Selon l'art. 50 al. 1 let. a LEtr, après dissolution de la famille, le droit du conjoint à l'octroi d'une autorisation de séjour et à la prolongation de sa durée de validité en vertu des art. 42 et 43 LEtr subsiste si l'union conjugale a duré au moins trois ans et que intégration est réussie. Ces conditions sont cumulatives (<ref-ruling> consid. 3.5.3 et 3.8 p. 295 et 298; <ref-ruling> consid. 3.3.3 p. 119). En l'espèce, il n'est pas contesté que l'union conjugale a duré plus de trois ans, de sorte que seule reste à analyser la question de l'intégration réussie au sens de l'art. 50 al. 1 let. a LEtr.
4.2. Le principe de l'intégration doit permettre aux étrangers dont le séjour est légal et durable de participer à la vie économique, sociale et culturelle de la Suisse (ancien art. 4 al. 2 LEtr [cf. art. 126 al. 1 LEI]). D'après l'art. 77 al. 4 de l'ordonnance du 24 octobre 2007 relative à l'admission, au séjour et à l'exercice d'une activité lucrative (OASA; RS 142.201), dans sa teneur en vigueur jusqu'au 31 décembre 2018 (RO 2007 5497), un étranger s'est bien intégré, au sens de l'art. 50 al. 1 let. a LEtr, notamment lorsqu'il respecte l'ordre juridique suisse et les valeurs de la Constitution fédérale (let. a) et qu'il manifeste sa volonté de participer à la vie économique et d'apprendre la langue nationale parlée au lieu de domicile (let. b). Selon l'art. 4 de l'ancienne ordonnance du 24 octobre 2007 sur l'intégration des étrangers (aOIE; RO 2007 5551), la contribution des étrangers à l'intégration se manifeste notamment par le respect de l'ordre juridique et des valeurs de la Constitution fédérale (let. a), l'apprentissage de la langue nationale parlée sur le lieu de domicile (let. b), la connaissance du mode de vie suisse (let. c) et la volonté de participer à la vie économique et d'acquérir une formation (let. d). L'adverbe "notamment" illustre le caractère non exhaustif des critères d'intégration qui sont énumérés par ces dispositions et met aussi en exergue le fait que la notion "d'intégration réussie" doit s'examiner à l'aune d'une appréciation globale des circonstances (arrêts 2C_615/2019 du 25 novembre 2019 consid. 5.2 et 2C_686/2019 du 3 octobre 2019 consid. 5.1).
4.3. En l'espèce, le recourant ne peut être suivi lorsqu'il se prévaut d'une intégration réussie. En effet, s'agissant de l'endettement de l'intéressé, les constations cantonales démontrent clairement que sa situation financière est obérée et qu'elle s'est aggravée au cours de la procédure cantonale (selon le dernier extrait produit par le recourant, environ 75'000 fr. de poursuites et 24'755 fr. d'actes de défaut de biens au 18 février 2020 [cf. <ref-law>]). En outre, et surtout, entre 2009 et 2018, le recourant a fait l'objet de cinq condamnations pénales. En particulier, il a été condamné à une peine privative de liberté de six mois pour violation de la LStup et à une peine privative de liberté d'un an pour violation qualifiée de cette même loi, dans un domaine dans lequel le Tribunal fédéral se montre particulièrement rigoureux (<ref-ruling> consid. 5.3 p. 126). Ces infractions, même si certaines d'entre elles sont d'une gravité relative, démontrent l'incapacité de l'intéressé à se conformer à l'ordre juridique suisse. Le fait que les condamnations les plus graves soient relativement anciennes n'est pas pertinent, dès lors que le recourant a encore été condamné récemment (en 2018). Dans ces conditions, les éléments qui plaident en faveur du recourant, soit sa connaissance de la langue française, sa bonne intégration sociale (attestée par des lettres de soutien) et le fait qu'il soit maintenant titulaire de sa propre entreprise et n'ait jamais émargé à l'aide social, ne sont pas propres à remettre en cause l'absence d'intégration réussie. C'est donc sans violer l'art. 50 al. 1 let. a LEtr que la Cour de justice a retenu, sur la base d'un examen global des circonstances, que la seconde condition cumulative prévue par cette disposition (intégration réussie) n'était pas remplie.
5.
A juste titre, le recourant ne se prévaut pas de raisons personnelles majeures au sens de l'art. 50 al. 1 let. b et al. 2 LEtr (sur cette notion, cf. <ref-ruling> consid. 4.1 p. 7 s.; <ref-ruling> consid. 3.2 p. 348 ss). La Cour de justice a en effet retenu que l'intéressé avait passé son enfance, son adolescence et le début de sa vie d'adulte au Kosovo, de sorte qu'il connaissait bien son pays d'origine et en maîtrisait la langue. En outre, ses parents et deux de ses soeurs résident au Kosovo. Finalement, le recourant, jeune et en bonne santé, dispose d'une expérience professionnelle. Au vu de l'ensemble de ces circonstances, sa réintégration, aussi bien sociale que professionnelle, ne saurait poser de problèmes majeurs.
6.
Le recourant se prévaut d'une violation de l'art. 8 CEDH et invoque le "principe de proportionnalité" (recours, p. 5).
6.1. Sur le plan familial, aucun élément de fait ne permet de retenir que l'intéressé puisse se prévaloir de l'art. 8 CEDH. Sous l'angle du droit au respect de sa vie privée, au vu des développements qui suivent, la question souffre de demeurer indécise.
6.2. Une ingérence dans l'exercice du droit au respect de la vie privée garanti par l'art. 8 par. 1 CEDH est possible aux conditions de l'art. 8 par. 2 CEDH. L'examen de la proportionnalité imposé par cette disposition se confond avec celui prévu par l'ancien art. 96 al. 1 LEtr (cf. art. 126 al. 1 LEI; arrêt 2C_158/2019 du 12 avril 2019 consid. 5.2). Il y sera donc procédé simultanément.
6.3. De jurisprudence constante, la question de la proportionnalité du non-renouvellement d'une autorisation de séjour doit être tranchée au regard de toutes les circonstances du cas d'espèce. Dans ce cadre, il y a lieu de prendre en considération la gravité de l'éventuelle faute commise par l'étranger, son degré d'intégration, la durée de son séjour en Suisse et les conséquences d'un renvoi (cf. <ref-ruling> consid. 2.4 p. 149; arrêts 2C_20/2019 du 13 mai 2019 consid. 7.3 et 2C_158/2019 du 12 avril 2019 consid. 5.3).
6.4. En l'occurrence, pendant son séjour en Suisse, le recourant a été condamné pénalement à cinq reprises, notamment pour des violations de la LStup, soit des infractions envers lesquelles le Tribunal fédéral se montre particulièrement rigoureux (cf. <ref-ruling> consid. 5.3 p. 126; arrêt 2C_899/2017 du 7 juin 2018 consid. 4.3.1). Certes, l'intéressé peut se prévaloir d'une bonne intégration sociale (attestée par des lettres de soutien), n'a jamais émargé à l'aide sociale et exerce actuellement une activité professionnelle stable au sein de sa propre entreprise. Cependant, il faisait encore l'objet, au 18 février 2020, de poursuites à hauteur d'environ 75'000 fr. et d'actes de défaut de biens s'élevant à 24'755 fr., de sorte que, sur le plan financier, son intégration en Suisse est inexistante. Concernant les possibilités de réintégration de l'intéressé au Kosovo, le retour dans ce pays exigera, dans un premier temps, un effort d'adaptation. Une réintégration ne paraît toutefois pas d'emblée insurmontable (cf. aussi supra consid. 5). En effet, le recourant, qui dispose d'une expérience professionnelle, est jeune, en bonne santé et sans enfant, est entré en Suisse à l'âge adulte et a passé toute son enfance et sa jeunesse au Kosovo, de sorte qu'il connaît bien son pays d'origine et en maîtrise la langue. Ses parents et deux de ses soeurs résident en outre au Kosovo, ce qui lui permettra de se réintégrer plus facilement.
Dans ces conditions, sur la base d'une approche globale, il n'apparaît pas qu'en faisant primer l'intérêt public à éloigner le recourant de Suisse sur l'intérêt privé à ce que celui-ci puisse continuer d'y demeurer, la Cour de justice ait méconnu l'art. 8 CEDH (à supposer que l'intéressé puisse s'en prévaloir) et l'art. 96 al. 1 LEtr.
7.
Le recourant mentionne les art. 7, 9 et 27 Cst., sans toutefois exposer ni motiver précisément en quoi ces dispositions auraient été méconnues (recours, p. 2). Le grief ne répond ainsi pas aux exigences de motivation accrues de l'<ref-law> (cf. supra consid. 2.1) et n'a pas à être traité.
8.
Compte tenu de ce qui précède, le recours constitutionnel subsidiaire doit être déclaré irrecevable et le recours en matière de droit public doit être rejeté.
Succombant, le recourant doit supporter les frais judiciaires (<ref-law>). Il n'y a pas lieu d'allouer des dépens (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours constitutionnel subsidiaire est irrecevable.
2.
Le recours en matière de droit public est rejeté.
3.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué au recourant, à l'Office cantonal de la population et des migrations du canton de Genève, à la Cour de justice de la République et canton de Genève, Chambre administrative, 2ème section, ainsi qu'au Secrétariat d'Etat aux migrations.
Lausanne, le 17 juillet 2020
Au nom de la IIe Cour de droit public
du Tribunal fédéral suisse
Le Président : Seiler
Le Greffier : Ermotti