Нужно ли создавать много классов для этого приложения для Android? - PullRequest
0 голосов
/ 09 декабря 2011

Я абсолютный новичок в программировании, поэтому я просто хочу убедиться, что я все делаю правильно или есть более простой способ. в основном приложение, которое я создаю, - это школьное приложение, в котором будут перечислены все курсы, необходимые для разных специальностей.

Таким образом, экран открытия имеет две кнопки старшекурсник и град. На следующем экране будут перечислены все специальности для выпускников или выпускников, которые когда-либо выбирал пользователь, затем скажет, что человек нажал на учетную запись, после чего будут перечислены все курсы для основной бухгалтерской отчетности. У меня вопрос: нужно ли создавать отдельный класс для каждого курса и специализации? Ниже приведен код, который я делал.

       package Class.Review;

import Class.Review.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.content.Intent;

public class ClassReviewActivity extends Activity {
/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button Undergrad = (Button) findViewById(R.id.BUNGrad);
    Undergrad.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            // TODO Auto-generated method stub
            Intent myIntent = 
                    new Intent(view.getContext(),        undergrad.class);
            startActivityForResult(myIntent, 0);
        }
    });
}
} 

Тогда скажите, что пользователь нажал на старшекурсника, я создал другой класс

     package Class.Review;

import Class.Review.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ScrollView;
import android.widget.TextView;
import android.content.Intent;


public class undergrad extends Activity  {
/** Called when the activity is first created. */


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.undergrad);


setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {
    // TODO Auto-generated method stub

    Intent replyIntent = new Intent();
    setResult(RESULT_OK, replyIntent);
    finish();
}
});
}

private void setOnClickListener(OnClickListener onClickListener) {
    // TODO Auto-generated method stub




Button Accounting = (Button) findViewById(R.id.Accounting);
Accounting.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {
    // TODO Auto-generated method stub
    Intent myIntent = 
            new Intent(view.getContext(), accounting.class);
    startActivityForResult(myIntent, 0);
}
 });
}
}  

Затем выберите конкретный курс в области бухгалтерского учета

    package Class.Review;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.content.Intent;

public class accReview extends Activity{
/** Called when the activity is first created. */


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.accreview);

    setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            // TODO Auto-generated method stub

            Intent replyIntent = new Intent();
            setResult(RESULT_OK, replyIntent);
            finish();
        }
    });

}

private void setOnClickListener(OnClickListener onClickListener) {
// TODO Auto-generated method stub

Button review = (Button) findViewById(R.id.reviews);
review.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {
        // TODO Auto-generated method stub
        Intent myIntent = 
                new Intent(view.getContext(), fundReview.class);
        startActivityForResult(myIntent, 0);
    }
});
}

}

1 Ответ

0 голосов
/ 09 декабря 2011

Если вам не нужны разные функциональные возможности для каждого курса, вам, вероятно, лучше использовать один класс курса с несколькими полями, содержащими название курса (String), максимальное количество студентов (некоторый целочисленный тип), может быть объект Professor или все, что вам нужно, чтобы описать курс. Вы не хотите переписывать, перекомпилировать и распространять код каждый раз, когда хотите добавить, удалить или переименовать курс, не так ли?

Кроме того, это относится не только к данному конкретному случаю, этот вопрос, вероятно, задавался множество раз раньше.

...