• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カスタマイズ性をもったスケジューラを作ろうと思っているのですが悩んでいます)

カスタマイズ性をもったスケジューラの作成方法について

このQ&Aのポイント
  • 卒業研究でJavaアプリケーションで「カスタマイズ性をもったスケジューラ」を作ろうと思っているですが、ユーザーが入力することで、アプリケーションにクラスを生成することは出来ないか悩んでいます。
  • ユーザーが一日のスケジュールを時間毎に入力できる新しいスケジュールの入力方式(ひな形)を作ることで、使いやすいアプリケーションにしたいと考えています。
  • Javaの基本を学んだ初心者ですが、クラスを作成する方法についてアドバイスや役に立ちそうなサイトを教えていただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • pinknoise
  • ベストアンサー率100% (2/2)
回答No.1

スケジューラですか。 結構やりがいがあって楽しそうな開発ですね。 がんばってください。 JavaとMySQLでやるってことはWebアプリケーションかな? それともデスクトップアプリ? それともWeb + クライアントアプリかな? ユーザーが新しいクラスを作ることのできるような方法はないことはないです。 「リフレクション」、「OSコマンド」とJavaを検索してもらえれば、完全に不可能ではないことがわかると思います。 ですが、これは結構複雑なコードになることが予想されます。 かつかなりトリッキーなやり方になります。 挙げてもらっているカスタマイズ性の例を読むとクラスのフィールドに 日付、期限、内容、開始時間、終了時間とかを追加しておくことで、可能になると思います。 もし私がカスタマイズ性をもったスケジューラを作成するなら以下のような感じでしょうか。 まずスケジューラに必要になるかもしれない項目(開始時間、終了時間、場所、相手など)のフィールドを全てクラスに準備しておきます。 さらに特に名前の決まっていない、文字列を格納できる予備のフィールドを2,3個作ります。 java.util.Mapなどのクラスを利用していくらでも入るようにしておいても良いでしょう。(Map知らなかったら調べてね。) でユーザ設定画面から表示する項目を選択できるようにします。チェックボックスとかでチェックを入れたらその項目を表示するといった感じです。 Mapや予備フィールドはユーザカスタムフィールドとしてユーザが自由に文字列を入れられるようにします。 設定をセーブすると設定ファイルを作成します(Webアプリケーションだったら、ユーザのテーブルに設定を保存します)。 わからないところがあったら聞いてください。もう少しわかりやすく書くようにするので。

windows87
質問者

お礼

さっそくの回答ありがとうございます。 アプリケーションの種類はデスクトップアプリで、スケジュールをユーザーに伝える際に携帯電話にメールを送るようにしたいと考えています。 予備フィールドを用意しておくことは前々から考えてはいましたが、ユーザーに選ばせる際かなり多くのデータ項目からいくつかを選択するという形になりそうだったのと、スケジュールを入力するたびにチェックボックスなどの設定をいじらないといけないことに使いにくさを感じたのでためらいました。 なので例えば学習用のフィールドをまとめた「学習用スケジュール」や、出張の予定を扱うためにユーザーが必要と思ったフィールドをまとめ「出張予定」というひな形をユーザーが作成する(ユーザーによるクラス作成)ことで、「一度設定したら呼び出せば使える」としたかったわけです。 今回質問させていただいたことで不可能ではないと感じたので、ひとまず「リフレクション」や「OSコマンド」、「java.util.Map」など自分なりに調べて、わからないことがあったらまた聞かせていただきたいと思います。 丁寧な回答ありがとうございました。

関連するQ&A