From 10b597d55d50beadba0e60e308a1e22b161b6c40 Mon Sep 17 00:00:00 2001 From: ongbo <1308161085@qq.com> Date: Mon, 6 Jan 2020 16:27:58 +0800 Subject: [PATCH] UPDATE 1 --- app/app.iml | 7 + app/build.gradle | 15 +- app/src/main/AndroidManifest.xml | 1 + .../Login_Register/LoginActivity.java | 83 +++++-- .../Login_Register/RegisterActivity.java | 204 ++++++++++++++++++ .../java/com/example/Util/ConditionCode.java | 13 ++ .../com/example/Util/RequestBody/user.java | 88 ++++++++ .../main/java/com/example/Util/ToolTip.java | 41 ++++ .../com/example/Util/cmkgWebServicePost.java | 114 ++++++++++ .../com/example/Util/publicStringUtil.java | 12 +- app/src/main/res/drawable/boy.png | Bin 0 -> 7212 bytes app/src/main/res/drawable/girl.png | Bin 0 -> 6515 bytes .../main/res/drawable/ic_action_accept.png | Bin 0 -> 401 bytes .../main/res/drawable/ic_action_cancel.png | Bin 0 -> 353 bytes app/src/main/res/drawable/ic_call_filled.png | Bin 0 -> 821 bytes app/src/main/res/drawable/ic_lockopen.png | Bin 0 -> 1166 bytes app/src/main/res/drawable/ic_profile.png | Bin 0 -> 1694 bytes app/src/main/res/drawable/text_bg.xml | 2 +- app/src/main/res/layout/activity_login.xml | 29 ++- app/src/main/res/layout/activity_register.xml | 201 +++++++++++------ app/src/main/res/layout/input_layout.xml | 8 + .../main/res/layout/input_layout_register.xml | 110 ++++++++++ app/src/main/res/layout/title_layout.xml | 28 +-- app/src/main/res/values/strings.xml | 1 + 24 files changed, 851 insertions(+), 106 deletions(-) create mode 100644 app/src/main/java/com/example/PersonalCenter/Login_Register/RegisterActivity.java create mode 100644 app/src/main/java/com/example/Util/RequestBody/user.java create mode 100644 app/src/main/java/com/example/Util/ToolTip.java create mode 100644 app/src/main/java/com/example/Util/cmkgWebServicePost.java create mode 100644 app/src/main/res/drawable/boy.png create mode 100644 app/src/main/res/drawable/girl.png create mode 100644 app/src/main/res/drawable/ic_action_accept.png create mode 100644 app/src/main/res/drawable/ic_action_cancel.png create mode 100644 app/src/main/res/drawable/ic_call_filled.png create mode 100644 app/src/main/res/drawable/ic_lockopen.png create mode 100644 app/src/main/res/drawable/ic_profile.png create mode 100644 app/src/main/res/layout/input_layout_register.xml diff --git a/app/app.iml b/app/app.iml index 9273a94..5903ae2 100644 --- a/app/app.iml +++ b/app/app.iml @@ -110,8 +110,12 @@ + + + + @@ -142,5 +146,8 @@ + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index e358269..054d415 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,7 +5,7 @@ android { buildToolsVersion "29.0.2" defaultConfig { applicationId "com.example.cmknowledgegraph" - minSdkVersion 15 + minSdkVersion 18 targetSdkVersion 29 versionCode 1 versionName "1.0" @@ -25,7 +25,10 @@ android { exclude 'com/mysql/cj/configurations/3-0-Compat.properties' } } +repositories { + maven { url "https://jitpack.io" } +} dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.0.2' @@ -39,4 +42,14 @@ dependencies { implementation 'com.alibaba:fastjson:1.2.62' implementation 'com.loopeer.library:cardstack:1.0.2' implementation 'androidx.cardview:cardview:1.0.0' +//进度条按钮 + implementation 'com.github.dmytrodanylyk.circular-progress-button:library:1.1.3' + implementation 'com.hanks.animatecheckbox:library:0.1' +//对话框 + implementation 'com.github.johnpersano:supertoasts:2.0' + +// 城市选择器 + implementation 'liji.library.dev:citypickerview:5.1.0' + implementation 'cn.aigestudio.wheelpicker:WheelPicker:1.1.3' + implementation 'com.github.open-android:WheelPicker:v1.0.0' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0e91255..41ff7cc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -16,6 +16,7 @@ android:theme="@style/AppTheme"> + diff --git a/app/src/main/java/com/example/PersonalCenter/Login_Register/LoginActivity.java b/app/src/main/java/com/example/PersonalCenter/Login_Register/LoginActivity.java index 46b432c..9a66ba1 100644 --- a/app/src/main/java/com/example/PersonalCenter/Login_Register/LoginActivity.java +++ b/app/src/main/java/com/example/PersonalCenter/Login_Register/LoginActivity.java @@ -5,6 +5,8 @@ import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.animation.ValueAnimator; +import android.content.Intent; +import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.os.Message; @@ -24,17 +26,25 @@ import androidx.appcompat.app.AppCompatActivity; import com.example.PersonalCenter.JellyInterpolator; +import com.example.Util.ConditionCode; import com.example.Util.ReturnData; +import com.example.Util.ToolTip; import com.example.Util.User; import com.example.Util.cmkgWebServiceGet; import com.example.Util.publicStringUtil; import com.example.cmknowledgegraph.R; +import com.github.johnpersano.supertoasts.library.Style; +import com.github.johnpersano.supertoasts.library.SuperActivityToast; +import com.github.johnpersano.supertoasts.library.SuperToast; +import com.github.johnpersano.supertoasts.library.utils.PaletteUtils; import java.lang.ref.WeakReference; public class LoginActivity extends AppCompatActivity implements View.OnClickListener { private TextView mBtnLogin; + private TextView getmBtnRegister; + AnimatorSet animatorSet; private View progress; private View mInputLayout; private float mWidth, mHeight; @@ -54,17 +64,37 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList LoginActivity loginActivity = (LoginActivity) weakReference.get(); Bundle bundle = msg.getData(); ReturnData messageJSON = (ReturnData) bundle.getSerializable("msg"); + if(messageJSON.getCode() == ConditionCode.loginsucess) { + weakReference.get().mName.setVisibility(View.INVISIBLE); + weakReference.get().mPsw.setVisibility(View.INVISIBLE); + int mWidth = weakReference.get().mBtnLogin.getMeasuredWidth(); + int mHeight =weakReference.get().mBtnLogin.getMeasuredHeight(); + + weakReference.get().inputAnimator(weakReference.get().mInputLayout, mWidth, mHeight); + + + String ReturnUsername = (String) messageJSON.getData(); + + + ToolTip.FadeCenter(weakReference.get(),"登陆成功"); + User.setLogin(true); + User.getUser().setUsername(ReturnUsername); + try { + Thread.sleep(500); + loginActivity.finish(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }else { + +// 这里要让那个输入输出框还原 + +// weakReference.get().recovery(); + ToolTip.FadeCenter(weakReference.get(),messageJSON.getMsg()); - String ReturnUsername = (String) messageJSON.getData(); - User.setLogin(true); - User.getUser().setUsername(ReturnUsername); - try { - Thread.sleep(300); - loginActivity.finish(); - } catch (InterruptedException e) { - e.printStackTrace(); } + } } @@ -82,6 +112,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList } public void initView(){ mBtnLogin = (TextView) findViewById(R.id.main_btn_login); + getmBtnRegister = (TextView) findViewById(R.id.main_btn_register); progress = findViewById(R.id.layout_progress); mInputLayout = findViewById(R.id.input_layout); mName = (LinearLayout) findViewById(R.id.id_edit); @@ -90,6 +121,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList //给登陆功能设置设置监听 mBtnLogin.setOnClickListener(this); + getmBtnRegister.setOnClickListener(this); } @@ -103,13 +135,11 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList //登录 //根据监听的不同内容,来改变响应状态 // 计算出控件的高与宽 - mWidth = mBtnLogin.getMeasuredWidth(); - mHeight = mBtnLogin.getMeasuredHeight(); // 隐藏输入框 - mName.setVisibility(View.INVISIBLE); - mPsw.setVisibility(View.INVISIBLE); + //调入动画 - inputAnimator(mInputLayout, mWidth, mHeight); + + //如果登录成功 //获取手机号和密码 @@ -117,18 +147,17 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList EditText passwordEditText = (EditText) mPsw.getChildAt(1); if(phonenumberEditText==null||phonenumberEditText.getText().toString().equals("")){ //请输入用户名 - Toast.makeText(this, "请输入电话号码", Toast.LENGTH_SHORT).show(); + ToolTip.FlyTocenter(this,"请输入手机号"); }else if(passwordEditText==null||passwordEditText.getText().toString().equals("")){ //请输入密码 - Toast.makeText(this, "请输入密码", Toast.LENGTH_SHORT).show(); + ToolTip.FlyTocenter(this,"请输入密码"); }else{ String phonenumber = phonenumberEditText.getText().toString(); String password = passwordEditText.getText().toString(); - if(phonenumber.length()!=11){ - Toast.makeText(this,"请输入11位电话号码",Toast.LENGTH_SHORT).show(); + if(phonenumber.length()!=11 || !phonenumber.matches("[0-9]+")){ + ToolTip.FlyTocenter(this,"请输入正确手机号码"); }else { // 基本没错误,就要请求登陆了 - new Thread(new Runnable() { @Override public void run() { @@ -149,8 +178,11 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList break; - case R.id.main_title: + case R.id.main_btn_register: //注册 + Intent intent = new Intent(); + intent.setClass(this,RegisterActivity.class); + startActivity(intent); } @@ -161,7 +193,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList //设置输入框动画效果 - private void inputAnimator(final View view, float w, float h){ + public AnimatorSet inputAnimator(final View view, float w, float h){ AnimatorSet set = new AnimatorSet(); ValueAnimator animator = ValueAnimator.ofFloat(0, w); @@ -180,10 +212,11 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList ObjectAnimator animator2 = ObjectAnimator.ofFloat(mInputLayout, "scaleX", 1f, 0.5f); - set.setDuration(1000); + set.setDuration(500); set.setInterpolator(new AccelerateDecelerateInterpolator()); set.playTogether(animator, animator2); set.start(); + set.addListener(new Animator.AnimatorListener() { @Override @@ -202,16 +235,19 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList * 动画结束后,先显示加载的动画,然后再隐藏输入框 */ progress.setVisibility(View.VISIBLE); - progressAnimator(progress); +// progress.setVisibility(View.GONE); +// progressAnimator(progress); mInputLayout.setVisibility(View.INVISIBLE); } @Override public void onAnimationCancel(Animator animation) { - + progress.setVisibility(View.GONE); + recovery(); } }); + return set; } private void progressAnimator(final View view) { @@ -224,6 +260,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList animator3.setDuration(1000); animator3.setInterpolator(new JellyInterpolator()); animator3.start(); +// animator3.cancel(); } //登录错误,恢复初始状态 diff --git a/app/src/main/java/com/example/PersonalCenter/Login_Register/RegisterActivity.java b/app/src/main/java/com/example/PersonalCenter/Login_Register/RegisterActivity.java new file mode 100644 index 0000000..d8835da --- /dev/null +++ b/app/src/main/java/com/example/PersonalCenter/Login_Register/RegisterActivity.java @@ -0,0 +1,204 @@ +package com.example.PersonalCenter.Login_Register; + +import android.media.Image; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.util.Log; +import android.view.View; +import android.view.Window; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; + +import com.alibaba.fastjson.JSONArray; +import com.dd.CircularProgressButton; +import com.example.Util.ConditionCode; +import com.example.Util.RequestBody.user; +import com.example.Util.ReturnData; +import com.example.Util.ToolTip; +import com.example.Util.User; +import com.example.Util.cmkgWebServicePost; +import com.example.Util.publicStringUtil; +import com.example.cmknowledgegraph.R; +import com.hanks.library.AnimateCheckBox; +import com.itheima.wheelpicker.WheelPicker; + +import org.json.JSONObject; + +import java.lang.ref.WeakReference; +import java.util.ArrayList; +import java.util.List; + +public class RegisterActivity extends AppCompatActivity implements View.OnClickListener { + private EditText phonenumberRegister; + private EditText usernameRegister; + private EditText passwordRegister; + private TextView RegisterButton; + private ImageView boycheckimg; + private ImageView girlcheckimg; + private AnimateCheckBox boycheck; + private AnimateCheckBox girlcheck; + private WheelPicker wheelPicker; + + + + private final RegisterHandler registerHandler = new RegisterHandler(this); + public static class RegisterHandler extends Handler{ + private final WeakReference weakReference; + RegisterHandler(RegisterActivity registerActivity){ + this.weakReference = new WeakReference(registerActivity); + } + @Override + public void handleMessage(@NonNull Message msg) { + super.handleMessage(msg); + RegisterActivity registerActivity = (RegisterActivity) weakReference.get(); + Bundle bundle = msg.getData(); + + ReturnData returnData = (ReturnData) bundle.getSerializable("msg"); + + if(returnData!=null && returnData.getCode()!=null){ + int code = returnData.getCode(); + if(code == ConditionCode.registersucess){ + try { + Thread.sleep(700); + } catch (InterruptedException e) { + e.printStackTrace(); + } + ToolTip.FadeCenter(weakReference.get(),"注册成功!"); + weakReference.get().finish(); + }else { + ToolTip.FlyTocenter(weakReference.get(),returnData.getMsg()); + } + }else ToolTip.FlyTocenter(weakReference.get(),"服务器出了点小问题"); + + + + + } + } + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + requestWindowFeature(Window.FEATURE_NO_TITLE); + setContentView(R.layout.activity_register); + initView(); + + } + + private void initView() { + //获取各个控件 + RegisterButton = findViewById(R.id.main_btn_register_but); + boycheck = findViewById(R.id.boycheck); + boycheckimg = findViewById(R.id.boycheckimg); + girlcheck = findViewById(R.id.girlcheck); + girlcheckimg = findViewById(R.id.girlcheckimg); + phonenumberRegister = findViewById(R.id.phonenumber_edit_register); + usernameRegister = findViewById(R.id.username_edit_register); + passwordRegister = findViewById(R.id.password_edit_register); + + //给控件设置监听器 + boycheck.setOnClickListener(this); + boycheckimg.setOnClickListener(this); + girlcheckimg.setOnClickListener(this); + girlcheck.setOnClickListener(this); + RegisterButton.setOnClickListener(this); + List agewhellList = new ArrayList(); + for(int i=0;i<120;i++) agewhellList.add(i+""); + + + +// wheelPicker.run(); + + } + + @Override + public void onClick(View v) { + int id = v.getId(); + switch (id){ + case R.id.boycheck: + case R.id.boycheckimg: + if(!girlcheck.isChecked()){ + if(boycheck.isChecked()) boycheck.setChecked(false); else boycheck.setChecked(true); + } + break; + case R.id.girlcheck: + case R.id.girlcheckimg: + if(!boycheck.isChecked()) { + if(girlcheck.isChecked()) girlcheck.setChecked(false); else girlcheck.setChecked(true); + } + break; + case R.id.main_btn_register_but: + Log.i("haha","你要注册了"); + checkInfo(); + + } + } + public void checkInfo(){ +// 先检查手机号 + String phonenumber = phonenumberRegister.getText().toString(); + + if(phonenumber == null || phonenumber.length()!=11 || !phonenumber.matches("[0-9]+")){ + ToolTip.FadeCenter(this,"请输入正确的手机号"); + + }else{ + String username = usernameRegister.getText().toString(); + if(username == null){ + ToolTip.FadeCenter(this,"请输入用户名"); + }else if(username.length()>14) ToolTip.FadeCenter(this,"用户名过长"); + else { + String password = passwordRegister.getText().toString(); + if(password == null){ + ToolTip.FadeCenter(this,"请输入密码"); + }else if(password.length()<6) ToolTip.FadeCenter(this, "密码至少为6位"); + else if(password.length()>14) ToolTip.FadeCenter(this," 密码最多14位"); + else { + if(boycheck.isChecked()){ + user user = new user(phonenumber,username,password,0,0,""); + + new Thread(new Runnable() { + @Override + public void run() { + Message m = new Message(); + Bundle bundle = new Bundle(); + + ReturnData returnData = cmkgWebServicePost.execuHttpPost(user.toString(), publicStringUtil.registerURL); + Log.i("returndata",""+returnData); + bundle.putSerializable("msg", returnData); + m.setData(bundle); + registerHandler.sendMessage(m); + + } + }).start(); + }else if(girlcheck.isChecked()){ + String args = "phonenumber="+phonenumber+"&username="+username+"&password="+password + +"®ion="+""+"&age=0"+"&sex=0"; + cmkgWebServicePost.execuHttpPost(args, publicStringUtil.registerURL); + new Thread(new Runnable() { + @Override + public void run() { + Message message = new Message(); + Bundle bundle = new Bundle(); + ReturnData returnData = cmkgWebServicePost.execuHttpPost(args,publicStringUtil.registerURL); + bundle.putSerializable("msg", returnData); + message.setData(bundle); + registerHandler.sendMessage(message); + } + }).start(); + }else{ + ToolTip.FadeCenter(this,"请选择性别"); + } + } + } + } + + + } + + +} diff --git a/app/src/main/java/com/example/Util/ConditionCode.java b/app/src/main/java/com/example/Util/ConditionCode.java index aca2ad1..2521b15 100644 --- a/app/src/main/java/com/example/Util/ConditionCode.java +++ b/app/src/main/java/com/example/Util/ConditionCode.java @@ -13,4 +13,17 @@ public interface ConditionCode { public final int MedicineToOperation=300; public final int MedicineToSymptom=400; + //登陆成功 + public final int loginsucess = 200; + //手机号不存在 + public final int phonenumberisNotExist = 501; + //密码错误 + public final int passwordError = 502; + + //注册成功 + public final int registersucess = 200; + //手机号已注册 + public final int phonenumberHadExist = 501; + + } diff --git a/app/src/main/java/com/example/Util/RequestBody/user.java b/app/src/main/java/com/example/Util/RequestBody/user.java new file mode 100644 index 0000000..5a7bd11 --- /dev/null +++ b/app/src/main/java/com/example/Util/RequestBody/user.java @@ -0,0 +1,88 @@ +package com.example.Util.RequestBody; + +import org.json.JSONException; +import org.json.JSONObject; + +public class user { + protected user(){} + private String phonenumber; + private String username; + private String password; + private Integer age; + private Integer sex; + private String region; + + public user(String phonenumber, String username, String password, Integer age, Integer sex, String region) { + this.phonenumber = phonenumber; + this.username = username; + this.password = password; + this.age = age; + this.sex = sex; + this.region = region; + } + + public String getPhonenumber() { + return phonenumber; + } + + public String getUsername() { + return username; + } + + public String getPassword() { + return password; + } + + public Integer getAge() { + return age; + } + + public Integer getSex() { + return sex; + } + + @Override + public String toString() { + JSONObject jsonObject = new JSONObject(); + try { + jsonObject.put("phonenumber",phonenumber); + jsonObject.put("username",username); + jsonObject.put("password",password); + jsonObject.put("sex",sex); + jsonObject.put("age",age); + jsonObject.put("region",region); + } catch (JSONException e) { + e.printStackTrace(); + } + + return jsonObject.toString(); + } + + public String getRegion() { + return region; + } + + public void setPhonenumber(String phonenumber) { + this.phonenumber = phonenumber; + } + + public void setUsername(String username) { + this.username = username; + } + + public void setPassword(String password) { + this.password = password; + } + + public void setAge(Integer age) { + this.age = age; + } + + public void setSex(Integer sex) { + this.sex = sex; + } + + public void setRegion(String region) { + this.region = region; + } +} diff --git a/app/src/main/java/com/example/Util/ToolTip.java b/app/src/main/java/com/example/Util/ToolTip.java new file mode 100644 index 0000000..8e0a79e --- /dev/null +++ b/app/src/main/java/com/example/Util/ToolTip.java @@ -0,0 +1,41 @@ +package com.example.Util; + + +import android.content.Context; +import android.graphics.Color; + +import com.example.cmknowledgegraph.R; +import com.github.johnpersano.supertoasts.library.Style; +import com.github.johnpersano.supertoasts.library.SuperActivityToast; +import com.github.johnpersano.supertoasts.library.utils.PaletteUtils; + +/* +* +* 用于发出提示框 +* */ +public class ToolTip { + + public static void FadeCenter(Context context,String info){ + SuperActivityToast.create(context, new Style(), Style.TYPE_STANDARD) + .setButtonText("UNDO") + .setButtonIconResource(R.drawable.back) + .setProgressBarColor(Color.WHITE) + .setText(info) + .setDuration(Style.DURATION_LONG) + .setFrame(Style.FRAME_KITKAT) + .setColor(PaletteUtils.getSolidColor(PaletteUtils.MATERIAL_RED)) + .setAnimations(Style.ANIMATIONS_SCALE).show(); + } + public static void FlyTocenter(Context context, String info){ + SuperActivityToast.create(context, new Style(), Style.TYPE_STANDARD) + .setButtonText("UNDO") + .setButtonIconResource(R.drawable.back) + .setProgressBarColor(Color.WHITE) + .setText(info) + .setDuration(Style.DURATION_MEDIUM) + .setFrame(Style.FRAME_KITKAT) + .setColor(PaletteUtils.getSolidColor(PaletteUtils.MATERIAL_BROWN)) + .setAnimations(Style.ANIMATIONS_FLY).show(); + } + +} diff --git a/app/src/main/java/com/example/Util/cmkgWebServicePost.java b/app/src/main/java/com/example/Util/cmkgWebServicePost.java new file mode 100644 index 0000000..9576391 --- /dev/null +++ b/app/src/main/java/com/example/Util/cmkgWebServicePost.java @@ -0,0 +1,114 @@ +package com.example.Util; + +import android.util.Log; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.BufferedReader; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLEncoder; + +public class cmkgWebServicePost { + public static ReturnData execuHttpPost(String args,String address){ + HttpURLConnection connection = null; + InputStream in = null; + String path = publicStringUtil.cmkgTomcatURL+address; + URL url = null; + try { + url = new URL(path); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + try { + connection = (HttpURLConnection) url.openConnection(); + connection.setDoInput(true); + connection.setDoOutput(true); + connection.setRequestMethod("POST"); + connection.setReadTimeout(8000); + connection.setUseCaches(false); + connection.setRequestProperty("Content-Type","raw"); + connection.connect(); + DataOutputStream out = new DataOutputStream(connection.getOutputStream()); +// String data = URLEncoder.encode(args, "UTF-8"); + Log.i("data",""+args); +// "username="+ URLEncoder.encode(username,"UTF-8")+"&phonenumber="+URLEncoder.encode(phonenumber,"UTF-8")+"&password="+URLEncoder.encode(password,"UTF-8"); + out.writeBytes(args); + out.flush(); + out.close(); +// int resultCode = connection.getResponseCode(); +// Log.i("HTTP",resultCode+""); +// if(HttpURLConnection.HTTP_OK == resultCode){ + in = connection.getInputStream(); + + return parseInfo(in); +// } +// return null; + } catch (IOException e) { + e.printStackTrace(); + }finally { + if(connection != null){ + connection.disconnect(); + } + if(in != null){ + try { + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return null; + + } + + public static ReturnData parseInfo(InputStream inputStream){ + BufferedReader reader = null; + String line = ""; + StringBuilder response = new StringBuilder(); + reader = new BufferedReader(new InputStreamReader(inputStream)); + + try { + while((line = reader.readLine())!=null){ + Log.d("RegisterActivity",line); + response.append(line); + } + Log.d("RegisterActivity","response.toSring:"+response.toString()); + + JSONObject jsonObject = null; + ReturnData returnData = null; + try { + jsonObject = new JSONObject(response.toString()); + int code = jsonObject.getInt("code"); + String msg = jsonObject.getString("msg"); + String data = jsonObject.getString("data"); + returnData = new ReturnData(code,msg,data); + + } catch (JSONException e) { + e.printStackTrace(); + } + return returnData; + + + } catch (IOException e) { + e.printStackTrace(); + }finally { + if(reader != null){ + try { + reader.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + } + } + + return null; + } +} diff --git a/app/src/main/java/com/example/Util/publicStringUtil.java b/app/src/main/java/com/example/Util/publicStringUtil.java index d635d6c..45abb5f 100644 --- a/app/src/main/java/com/example/Util/publicStringUtil.java +++ b/app/src/main/java/com/example/Util/publicStringUtil.java @@ -3,6 +3,7 @@ package com.example.Util; public class publicStringUtil { //cmkg项目tomcat服务器请求根路径 public static final String cmkgTomcatURL = "http://114.116.199.154:5000/cmkg"; +// public static final String cmkgTomcatURL = "10.0.2.2:8080"; //apache文件存储路径,图片什么的都在这里存 public static final String getCmkgApacheURL = "http://114.116.199.154:5001/"; @@ -11,8 +12,17 @@ public class publicStringUtil { public static final String questionArgsname = "name="; public static final String loginURL = "/request/login?"; - public static final String registerURL = "/request/register?"; + public static final String registerURL = "/request/register"; + + /* + * + * Message + * + * + * */ + + } diff --git a/app/src/main/res/drawable/boy.png b/app/src/main/res/drawable/boy.png new file mode 100644 index 0000000000000000000000000000000000000000..4c2679bf63ba2f98dc6ede28e416b820d5d76d3d GIT binary patch literal 7212 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/girl.png b/app/src/main/res/drawable/girl.png new file mode 100644 index 0000000000000000000000000000000000000000..3551c9154d8be320cc2164bfa943ac70fb65df3e GIT binary patch literal 6515 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_action_accept.png b/app/src/main/res/drawable/ic_action_accept.png new file mode 100644 index 0000000000000000000000000000000000000000..700fc81518fcf6b50df4f4813efd0578c420279c GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@jK-cWjv*Dd-b}yG+hicnuK95)V@yNtjKi!o;_L+sVg-yf z2f8Ov5KmD!o+ z=itOYrFxxJ=dOewZg!7u>_{WbW;r8SJ6b%6~Jp s=yLf~Y01Dpy*yA4GIE^w!C}C_#CG_t@}%d+z%XX;boFyt=akR{0HbJ|djJ3c literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_action_cancel.png b/app/src/main/res/drawable/ic_action_cancel.png new file mode 100644 index 0000000000000000000000000000000000000000..e206f296c2535b11a2243ae93a31b2957f42ab7d GIT binary patch literal 353 zcmV-n0iOPeP)3i%Suqi_Im7f-X%i1zn{0K1rIyP;y4$@_gRCEP({_zTfZtzwh2%2qAw_$oXLe zm;{8}fN6n{2fz$L(*mXiLTLkHe0nto;2}Dy~fJAa{d1mNyfCV@=L74Xf zl+42$>A`ma7EqW6@l7v4CULSd6Mqs|0g+5`ibyVb0^8^} z330ZZjK9zczFLc~Gobo|k!;~0F|W3Oeh@-TmXh%m-Qc?-peDg~9ujc62FyI?rU!59 z2;VgUF}paykk7ZEdCg*RVm&=j&{2Z#Ezp3B+0I=C&es%x7b~g3i=h$_wVhD_Z(5)y z-BjYfZW6kdfGTJ#Te!i@mz&TMhuqmjtCWB4qpJey1Mv|7&C{QoN_2hAzp<*Mn5dn9 z571DfFpDYSH56mH;u$IB1p$0zmTy_?SOIT-vaDU}C6r2-9`W^gf)W9>BeLyq>&`If zcqKLPto5^4u6PVmK4oBM`(0!g%!_{BP$?6zB_aPBpu-I~VqE{hR&HbVz{lQPaYRa4 z71H~=2>X3Mp;SOU3AX^uH6aPB1iHh_mjLYV)W83|fO->j;OB3BtW%s-PSV+ z&}~Ol*JBc(+PH4(nFQ#zBdY5$2~cfZxAlGke_iK6A=8Rc00000NkvXXu0mjfqI!Ge literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_lockopen.png b/app/src/main/res/drawable/ic_lockopen.png new file mode 100644 index 0000000000000000000000000000000000000000..df805cb3668879a59b8e7f34e53092ff6445e869 GIT binary patch literal 1166 zcmV;91abR`P)oTXvaJSN6@k9k+z^;}>GM{InPuK`g%T2?Q+kEt3O=z-I|{%S!IuEp&z@BBg38Qk@Inrh=vCKLGz%E@F1sQKe z6n&h#W{zBWeZ%knrP3-*?<2w(K)Hq;hvAFW1BK6HRo8}-b^z-{uq^~nMvIrOv%3u~ zbrVZmc$Q!u2e@$4=UeGIPq*u@YNs85EvCl-8mbFnd?7vO1yxb~VtRx@N1OXZXzZ*U z*!Y!doObLx0KmTt;K3yTbXa=%ciIsWwXu)-Ymvhgfb~lpxma}{JE$6`9eb?+?j7@= zG!5K3&@eqJz5Jzigxqcu-A5P*s;=Y2iE}3(tpIG{zY5^w(yC#i>N-2_B%sy*qp@l> zCX+Mk<%78KTKVY(Q1%aj@$SuJKS|elJg(qJPF}j_>fGN~oBIIhV8zWBwlF z)TL&t@usK+fF*(<0*|XzkAsrp9klLILFgNBLINkqi;)$ui(0f}F zV+M?4HIN~~q2@yrg%w%FBS06Wo3B6YXnbrD%m6%~P(M~J0A`4)=PY|yV3qt55!_w@ zFiR!|<$mW}{r>R2zlj$yL4^By0zl)U)OccK3I8+!gDS<>_YMuW&HwFdF#5=>X8{n0 zU)Q^VjOSNx2fR1aXWV_Gs@lFf?8AkeHGgRRe3Dp+N1(om3IBTlTayTh;X5T==ZP48 z%UtvTCCVf%VG7GF1P2<0-zRj<=bGTa+Hh-_^jeOt$%Ex5KS9^I)t*n zhZ!F#lTB;=a_jb0~>V+CEyn#nhM$Yrs{6^QAf;1 z4DA4Pic2F_1|SW}-JB!qfNox$G_++MkOt*$&XILMH?K|_+OiHvgK{_L$U2~#S0@c^ gSqG#+xtnwR0}bVdP*D=<=l}o!07*qoM6N<$g4pXUi~s-t literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_profile.png b/app/src/main/res/drawable/ic_profile.png new file mode 100644 index 0000000000000000000000000000000000000000..d7c1883c1c5b86eb64c9fe9f7d401c144fe4b9c1 GIT binary patch literal 1694 zcmV;P24VS$P)S6Ih>1~gexPj!VJIl^$Cy8aC5pyv zw_;+3B*X-Rh!9Qi$B1zWQw$#pY`dM3Fh4fi+XiGXw%%iI*Osnq>uqoEl4X69Cd=M) z-t(O2KIgpmzAs^d51QclBS%0^0TY~oTnS8Y0pyxst^{%=Fu@tfmB0iSKyDWp^Aeci z^_7H)W->5SV|EhQuMOaLe8nriLXE_04T!OMX@aTzEF-`!`_>V7mkxjkodK8ROa&%3FM54VV199s0RBStls#+IH(fi+2oUAY zjer(wb|+Q0w7@7hQC4)nje`Qf!Jtce(x`8`c9s#~_@r|+Yuf%Oppfd8>_)-aW#0h; zN0MexebDXPVAMBVJIe?t{-kq}rfEONdq7{FJybnAWCWlnD<=Tl8|?v`Rgd$1BYv6K zSVn;U&fm}69VdW!LC8~f(g;XVR)PSEBDREQRF|~Rh+if)mJy(X5oP6X08nX+V9N`S+wY-h&XQRJR?{B^mwLl%nE1Vz^Z{HW zjUNtFm9?6VpJD;a6`;p=G$^ZBz}LfIIRk0sOFr_w z52W7DqsfbMXC)AxYhz)Tm3_bx0tV|jyb_>wgUydC1D>+ocDel_g0L09W5cO|3EP7% zX|LGOu^a*=9)uhr(Bc04$$KxpGDFR#60%Bw{w+^7)DW=r29QL%C;fN1s(bT2m+cMh zD~N2>4NBw1oTm zS}tyyH|i6-y}oU>V6!a|KuZ|>Ab@$v$)?&)(;+7-1lVO|4*}072G&7>x!!Ci*UL#@ zZ5;zElh)r6@JM<&nHr`E5M@O_t=W{Yub$9A?*!e>?@S>}a*h)5E&~bY3jC7lE^9Iq z#}ok$ukR^l{wfZD@I67R47kewGy`fR-^k?(geEYS$85ATj@pJ>*AxLm>YmZ1dZZav zB%Zvc*r;3pp)_%a$uzDx0%S$s*Y*8fA783&X-%d;((w}$;}Y#wUCzpM{D<_COdWN< zL?8?t4Z5XeX4W(6YnPSggss*T@un2uXjHZ{#lQE#VAsvXg`an=nQ_HvGU?cr?z>QU z*?(m%fxPji%P_SYm?EIadv2D%lbQjZbv+U4AlCMT1^PDhPuH)gT{e(Tk~i4aH0Kpf zExp^O@d_s41%MOo5b3-|{mYErH)OpD>I)Xj$`cy!nf~XE0jQV2?EuaIILAPb2K3l$ zdEEm7^%P7l=+S+y_FXN>)3_uY9+)BkB?OcJm;>N029*PR(=g!u0`RimEq!B#U{eZ+ z1=eqY7+jP5vSJ3>D?rD{ zcCFR_+FbpFIqSnR099pg9Ft oMC`a(Hm87b^QbHWI^h-YKj%_9Upq}BMF0Q*07*qoM6N<$f?|~tG5`Po literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/text_bg.xml b/app/src/main/res/drawable/text_bg.xml index fc9a19e..2042d5d 100644 --- a/app/src/main/res/drawable/text_bg.xml +++ b/app/src/main/res/drawable/text_bg.xml @@ -5,7 +5,7 @@ \ No newline at end of file diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index afc46cd..6db20ef 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -27,7 +27,7 @@ android:layout_height="wrap_content" android:layout_marginTop="5dip" android:gravity="center" - android:text="FIREFLY FOREST" + android:text="LOGIN YOURPHONE" android:textColor="#ffffff" android:textSize="24sp" /> @@ -35,7 +35,7 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" - android:text="SHOW YOUR IDEAS" + android:text="SHOW YOUR HEALTH" android:textColor="#ffffff" android:textSize="16sp" /> @@ -60,10 +60,10 @@ + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_register.xml b/app/src/main/res/layout/activity_register.xml index 621807b..a6c26bf 100644 --- a/app/src/main/res/layout/activity_register.xml +++ b/app/src/main/res/layout/activity_register.xml @@ -5,72 +5,151 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" + android:background="#7adfb8" tools:context=".RegisterActivity"> - - + - - + android:layout_below="@+id/main_title" + android:orientation="vertical" > + + + - + android:layout_marginTop="5dip" + android:gravity="center" + android:text="REGISTER FOR YOU" + android:textColor="#ffffff" + android:textSize="24sp" /> + - - -