Faits:
Faits:
A. Par décision du 19 janvier 2004, confirmée sur opposition le 25 mars suivant, l'Office de l'assurance-invalidité du canton de Fribourg a nié le droit de B._ à des prestations, motif pris que celui-ci ne souffrait pas d'une atteinte à la santé de nature à entraîner une diminution de sa capacité de gain.
A. Par décision du 19 janvier 2004, confirmée sur opposition le 25 mars suivant, l'Office de l'assurance-invalidité du canton de Fribourg a nié le droit de B._ à des prestations, motif pris que celui-ci ne souffrait pas d'une atteinte à la santé de nature à entraîner une diminution de sa capacité de gain.
B. Saisi d'un recours, le Tribunal administratif de canton de Fribourg l'a rejeté par jugement du 9 septembre 2004.
B. Saisi d'un recours, le Tribunal administratif de canton de Fribourg l'a rejeté par jugement du 9 septembre 2004.
C. Par lettre du 28 octobre 2004, B._ a saisi le Tribunal fédéral des assurances.

Considérant en droit:
Considérant en droit:
1. Selon l'art. 108 al. 2 OJ, le recours de droit administratif doit indiquer notamment les conclusions et les motifs du recourant, cette exigence ayant pour but de fixer le juge sur la nature et l'objet du litige. A cet égard, il faut pouvoir déduire du mémoire de recours, considéré dans son ensemble, à tout le moins ce que le recourant demande, d'une part, et quels sont les faits sur lesquels il se fonde, d'autre part. S'il manque soit des conclusions soit des motifs, même implicites, le recours de droit administratif est irrecevable d'entrée de cause, sans que le recourant ait la faculté de remédier à cette irrégularité (<ref-ruling> consid. 1a et les références).
1. Selon l'art. 108 al. 2 OJ, le recours de droit administratif doit indiquer notamment les conclusions et les motifs du recourant, cette exigence ayant pour but de fixer le juge sur la nature et l'objet du litige. A cet égard, il faut pouvoir déduire du mémoire de recours, considéré dans son ensemble, à tout le moins ce que le recourant demande, d'une part, et quels sont les faits sur lesquels il se fonde, d'autre part. S'il manque soit des conclusions soit des motifs, même implicites, le recours de droit administratif est irrecevable d'entrée de cause, sans que le recourant ait la faculté de remédier à cette irrégularité (<ref-ruling> consid. 1a et les références).
2. En l'espèce, il est douteux que l'écriture du 28 octobre 2004 satisfasse aux exigences posées à l'art. 108 al. 2 OJ en ce qui concerne la motivation du recours de droit administratif, du moment que le recourant se contente d'invoquer la persistance de ses troubles et la continuation de son traitement médicamenteux.
Quoi qu'il en soit, ces allégations ne sont pas de nature à mettre en cause le point de vue, dûment motivé, des juges cantonaux. En particulier, elles ne sont pas aptes à faire naître le moindre doute en ce qui concerne la valeur probante des avis médicaux sur lesquels la juridiction cantonale s'est fondée pour confirmer la décision sur opposition litigieuse. Aussi le jugement attaqué n'apparaît-il pas criticable et le recours se révèle manifestement infondé.

Par ces motifs, le Tribunal fédéral des assurances, statuant selon la procédure simplifiée prévu à l'art. 36a OJ, prononce:
Par ces motifs, le Tribunal fédéral des assurances, statuant selon la procédure simplifiée prévu à l'art. 36a OJ, prononce:
1. Le recours est rejeté.
1. Le recours est rejeté.
2. Il n'est pas perçu de frais de justice.
2. Il n'est pas perçu de frais de justice.
3. Le présent arrêt sera communiqué aux parties, à la Cour des assurances sociales du Tribunal administratif du canton de Fribourg et à l'Office fédéral des assurances sociales.
Lucerne, le 25 février 2005
Au nom du Tribunal fédéral des assurances
Le Président de la IIe Chambre: Le Greffier: