diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index dcf189d..d524d30 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -36,5 +36,7 @@ dependencies { testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + implementation 'liji.library.dev:citypickerview:1.1.0' + } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c03b389..c919e0b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,18 +6,21 @@ android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" - android:icon="@mipmap/ic_launcher" + android:icon="@drawable/app_icon" + android:roundIcon="@drawable/app_icon" android:label="@string/app_name" android:supportsRtl="true" - android:theme="@style/Theme.MyApplication" + android:theme="@style/AppTheme" tools:targetApi="31"> + + - + @@ -25,21 +28,13 @@ - - - - - - - - diff --git a/app/src/main/java/com/example/myapplication/LoginActivity.java b/app/src/main/java/com/example/myapplication/LoginActivity.java index 8763851..45f72f8 100644 --- a/app/src/main/java/com/example/myapplication/LoginActivity.java +++ b/app/src/main/java/com/example/myapplication/LoginActivity.java @@ -1,12 +1,31 @@ package com.example.myapplication; +import android.annotation.SuppressLint; import android.app.Activity; +import android.app.AlertDialog; +import android.content.Intent; import android.os.Bundle; +import android.view.View; + +import androidx.appcompat.app.AppCompatActivity; + +public class LoginActivity extends AppCompatActivity implements View.OnClickListener{ -public class LoginActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.user_login); + findViewById(R.id.login).setOnClickListener(this); + findViewById(R.id.rigster).setOnClickListener(this); + } + + + @Override + public void onClick(View view) { + if(view.getId() == R.id.rigster){ + startActivity(new Intent(this,RigsterActivity.class)); + }else{ + startActivity(new Intent(this,MineActivity.class)); + } } } diff --git a/app/src/main/java/com/example/myapplication/MineActivity.java b/app/src/main/java/com/example/myapplication/MineActivity.java index d691c9f..10eee42 100644 --- a/app/src/main/java/com/example/myapplication/MineActivity.java +++ b/app/src/main/java/com/example/myapplication/MineActivity.java @@ -2,16 +2,25 @@ package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; +import android.content.Intent; import android.os.Bundle; +import android.view.View; import android.widget.TextView; -public class MineActivity extends AppCompatActivity { +public class MineActivity extends AppCompatActivity implements View.OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mine); + findViewById(R.id.outload).setOnClickListener(this); } - -} \ No newline at end of file + @Override + public void onClick(View view) { + if(view.getId() == R.id.outload){ + //待修改,因為這樣數據還在 + finish(); + } + } +} diff --git a/app/src/main/java/com/example/myapplication/RigsterActivity.java b/app/src/main/java/com/example/myapplication/RigsterActivity.java index d8f2542..689e221 100644 --- a/app/src/main/java/com/example/myapplication/RigsterActivity.java +++ b/app/src/main/java/com/example/myapplication/RigsterActivity.java @@ -2,45 +2,145 @@ package com.example.myapplication; import android.app.Activity; import android.app.AppComponentFactory; +import android.content.Intent; +import android.graphics.Color; import android.os.Bundle; import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.RadioGroup; import android.widget.TextView; +import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; -public class RigsterActivity extends Activity { +import com.lljjcoder.citypickerview.widget.CityPicker; + +public class RigsterActivity extends AppCompatActivity implements View.OnClickListener, RadioGroup.OnCheckedChangeListener { + private EditText usernameEdit,passEdit,surePasswordEdit; + private TextView cityText; + private CityPicker cityPicker; + private Button regButton; + private RadioGroup sexGroup; + private String sexStr = "男"; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.user_rigster); + init(); + } + + private void init(){ + cityText = findViewById(R.id.ri_province); + cityText.setOnClickListener(this); + usernameEdit = findViewById(R.id.rig_username); + passEdit = findViewById(R.id.rig_password); + surePasswordEdit = findViewById(R.id.re_password); + regButton = findViewById(R.id.re_register); + regButton.setOnClickListener(this); + sexGroup = findViewById(R.id.sex); + sexGroup.setOnCheckedChangeListener(this); + } + + + + @Override + public void onClick(View v) { + switch(v.getId()){ + case R.id.ri_province: + initCityPicker(); + cityPicker.show(); + break; + case R.id.re_register: + //注册验证方法 + validateRegister(); + break; + } } -} -// //界面组件初始化 -// private void init(){ -// cityText = findViewById(R.id.ri_province); -// cityText.setOnClickListener(this); -// } -// -// @Override -// public void onClick(View v) { -// switch(v.getId()){ -// case R.id.ri_province: -// initCityPicker(); -// cityPicker.show(); -// break; -// } -// } // -// //初始化城市选择器 -// private void initCityPicker() { -// cityPicker = new CityPicker.Builder(RigsterActivity.this) -// .textSize(16) -// .title("地址选择") -// .backgroundPop(0xa0000000) -// .title -// } -//} - - - //初始化城市选择爱 + //初始化城市选择器 + private void initCityPicker() { + cityPicker = new CityPicker.Builder(RigsterActivity.this) + .textSize(16) + .title("地址选择") + .backgroundPop(0xa0000000) + .titleBackgroundColor("#EfB81c") + .titleTextColor("#000000") + .backgroundPop(0xa0000000) + .confirTextColor("#000000") + .cancelTextColor("#000000") + .province("湖南省") + .city("长沙市") + .district("雨花区") + .textColor(Color.parseColor("#000000")) + .provinceCyclic(true) + .cityCyclic(false) + .districtCyclic(false) + .visibleItemsCount(7) + .itemPadding(10) + .onlyShowProvinceAndCity(false).build(); + cityPicker.setOnCityItemClickListener(new CityPicker.OnCityItemClickListener(){ + @Override + public void onSelected(String...strings){ + String province = strings[0]; + String city = strings[1]; + String district = strings[2]; + cityText.setText(String.format("%s %s %s",province,city,district)); + } + @Override + public void onCancel() { + + } + }); + } + + + //注册验证 + public void validateRegister(){ + Intent intent = new Intent(RigsterActivity.this,LoginActivity.class); + String username = usernameEdit.getText().toString(); + String password = passEdit.getText().toString(); + String surePassword = surePasswordEdit.getText().toString(); + String city = cityText.getText().toString(); + //判断两次密码是否一致 + if(password.equals(surePassword)){ + if(!username.equals("") || !password.equals("")) { + if (!city.equals("")) { + Bundle bundle = new Bundle(); + bundle.putString("username", username); + bundle.putString("password", password); + bundle.putString("sex", sexStr); + bundle.putString("city", city); + intent.putExtras(bundle); + startActivity(intent); + } else { + Toast.makeText(RigsterActivity.this, "请选择地址", + Toast.LENGTH_SHORT).show(); + } + }else { + Toast.makeText(RigsterActivity.this,"账号或密码未填写", + Toast.LENGTH_SHORT).show(); + } + }else { + Toast.makeText(RigsterActivity.this,"两次密码输入不一致", + Toast.LENGTH_SHORT).show(); + } + Toast.makeText(RigsterActivity.this,"注册成功",Toast.LENGTH_SHORT).show(); + } + + @Override + public void onCheckedChanged(RadioGroup group,int checkedId){ +// 根据用户的选择来改变性别 + sexStr = checkedId == R.id.rig_man?"男":"女"; + } + +} + + + + + + + diff --git a/app/src/main/res/drawable/app_icon.jpg b/app/src/main/res/drawable/app_icon.jpg new file mode 100644 index 0000000..0849841 Binary files /dev/null and b/app/src/main/res/drawable/app_icon.jpg differ diff --git a/app/src/main/res/layout/user_login.xml b/app/src/main/res/layout/user_login.xml index 94b8611..bcb5439 100644 --- a/app/src/main/res/layout/user_login.xml +++ b/app/src/main/res/layout/user_login.xml @@ -5,11 +5,11 @@ android:layout_height="match_parent" android:orientation="vertical" android:background="@color/white"> - + @@ -95,7 +95,7 @@ android:textSize="18sp" />