Android Studio输入生日计算星座

img


计算已知生日对应的星座:

要求:1、有3个界面(欢迎界面,输入界面,结果界面)

2、输入生日时使用DatePicker控件或者输入文本都可以

3、响应欢迎界面的点击事件:

欢迎界面(WelcomeActivity):

public class WelcomeActivity extends AppCompatActivity {
    private Button mStartButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_welcome);

        mStartButton = findViewById(R.id.button_start);
        mStartButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(WelcomeActivity.this, InputActivity.class);
                startActivity(intent);
            }
        });
    }
}


输入界面(InputActivity):

public class InputActivity extends AppCompatActivity {
    private DatePicker mDatePicker;
    private Button mCalculateButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_input);

        mDatePicker = findViewById(R.id.datePicker);
        mCalculateButton = findViewById(R.id.button_calculate);
        mCalculateButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Calendar calendar = Calendar.getInstance();
                calendar.set(mDatePicker.getYear(), mDatePicker.getMonth(), mDatePicker.getDayOfMonth());
                Date date = calendar.getTime();

                SimpleDateFormat sdf = new SimpleDateFormat("MM-dd");
                String birthdate = sdf.format(date);

                String constellation = calculateConstellation(birthdate);

                Intent intent = new Intent(InputActivity.this, ResultActivity.class);
                intent.putExtra("constellation", constellation);
                startActivity(intent);
            }
        });
    }

    private String calculateConstellation(String birthdate) {
        // 根据生日计算星座,并返回星座名称
        // 这里需要你自己完成计算星座的逻辑
    }
}


结果界面(ResultActivity):


public class ResultActivity extends AppCompatActivity {
    private TextView mResultTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);

        mResultTextView = findViewById(R.id.text_view_result);

        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            String constellation = extras.getString("constellation");
            mResultTextView.setText(getString(R.string.your_constellation_is, constellation));
        }
    }
}