Merge pull request '添加功能:注册' (#7) from Litianhong_branch into dev

pull/8/head
mjf2cowiz 3 years ago
commit 2014c1e00e

@ -9,8 +9,12 @@
<entry key="..\:/Logistics/app/src/main/res/layout/activity_main.xml" value="0.10126582278481013" /> <entry key="..\:/Logistics/app/src/main/res/layout/activity_main.xml" value="0.10126582278481013" />
<entry key="..\:/Logistics/app/src/main/res/layout/activity_sign_up.xml" value="0.1" /> <entry key="..\:/Logistics/app/src/main/res/layout/activity_sign_up.xml" value="0.1" />
<entry key="..\:/Logistics/app/src/main/res/layout/buttom.xml" value="0.15" /> <entry key="..\:/Logistics/app/src/main/res/layout/buttom.xml" value="0.15" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/drawable/border_input_box.xml" value="0.1" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/drawable/button_shape.xml" value="0.1" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/drawable/ic_launcher_background.xml" value="0.194" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/drawable/tab_menu_better.xml" value="0.1135" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/drawable/tab_menu_better.xml" value="0.1135" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/drawable/tab_menu_text.xml" value="0.1" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/drawable/tab_menu_text.xml" value="0.1" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/drawable/translucent_button.xml" value="0.194" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/drawable/translucent_edit.xml" value="0.1135" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/drawable/translucent_edit.xml" value="0.1135" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/activity_main.xml" value="0.10235507246376811" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/activity_main.xml" value="0.10235507246376811" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/activity_main2.xml" value="0.10235507246376811" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/activity_main2.xml" value="0.10235507246376811" />
@ -18,7 +22,7 @@
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/activity_sign_up.xml" value="0.10235507246376811" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/activity_sign_up.xml" value="0.10235507246376811" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/buttom.xml" value="0.10235507246376811" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/buttom.xml" value="0.10235507246376811" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/fragment_my.xml" value="0.10235507246376811" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/fragment_my.xml" value="0.10235507246376811" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/my_fragment1.xml" value="0.18489583333333334" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/my_fragment1.xml" value="0.2" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/my_fragment2.xml" value="0.18489583333333334" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/my_fragment2.xml" value="0.18489583333333334" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/my_fragment3.xml" value="0.18489583333333334" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/my_fragment3.xml" value="0.18489583333333334" />
<entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/tab1.xml" value="0.10235507246376811" /> <entry key="..\:/shijianer/xcr_se/src/Logistics/app/src/main/res/layout/tab1.xml" value="0.10235507246376811" />

@ -0,0 +1,84 @@
package com.example.logistics.dao;
import android.app.AlertDialog;
import android.content.Context;
import android.os.Looper;
import android.util.Log;
import com.example.logistics.tools.DBOpenHelper;
import com.example.logistics.tools.MD5Utils;
import com.example.logistics.ui.MainActivity;
import com.example.logistics.ui.MenuActivity;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.HashMap;
public class goodDao {
private static final String TAG = "goodDao";
public int search(String id, String phonenum, Context context){
HashMap<String, Object> map = new HashMap<>();
Connection connection = DBOpenHelper.getConn();
int msg = 0;
try{
String sql = "select * from goods where id = ?";
if(connection != null){
PreparedStatement ps = connection.prepareStatement(sql);
if(ps != null){
Log.e(TAG, "id: " + id);
ps.setInt(1,Integer.parseInt(id));
ResultSet rs = ps.executeQuery();
int count = rs.getMetaData().getColumnCount();
while(rs.next()){
for(int i = 1; i <= count; i++){
String field = rs.getMetaData().getColumnName(i);
map.put(field, rs.getString(field));
}
}
connection.close();
ps.close();
if(map.size() != 0){
StringBuilder s = new StringBuilder();
for(String key:map.keySet()){
if(key.equals("phonenum")){
if(phonenum.equals(map.get(key))){
msg = 1; //phonenum correct
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("快件位置");
builder.setMessage("\n第 "+ map.get("shelfnum")+ " 号货架\n第 " + map.get("floornum")+ " 层");
Looper.prepare();
builder.show();
Looper.loop();
}else{
msg = 2; //phonenum incorrect
}
break;
}
}
}else{
Log.e(TAG, "result is null");
msg = 3; //result is null
}
}else{
Log.e(TAG, "ps is null");
msg = 0;
}
}else{
Log.e(TAG, "connection is null");
msg = 0;
}
}catch (Exception e){
e.printStackTrace();
Log.d(TAG, "search bug: " + e.getMessage());
msg = 0;
}
return msg;
}
}

@ -3,8 +3,8 @@ package com.example.logistics.dao;
import android.util.Log; import android.util.Log;
import com.example.logistics.entity.User; import com.example.logistics.entity.User;
import com.example.logistics.mysqlconnection.DBOpenHelper; import com.example.logistics.tools.DBOpenHelper;
import com.google.android.material.behavior.HideBottomViewOnScrollBehavior; import com.example.logistics.tools.MD5Utils;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.SQLException; import java.sql.SQLException;
@ -41,7 +41,7 @@ public class userDao {
} }
connection.close(); connection.close();
ps.close(); ps.close();
password = MD5Utils.md5(password);
if(map.size() != 0){ if(map.size() != 0){
StringBuilder s = new StringBuilder(); StringBuilder s = new StringBuilder();
for(String key:map.keySet()){ for(String key:map.keySet()){
@ -114,7 +114,7 @@ public class userDao {
if(ps != null){ if(ps != null){
ps.setString(1, user.getUserName()); ps.setString(1, user.getUserName());
ps.setString(2, user.getPassWord()); ps.setString(2, MD5Utils.md5(user.getPassWord()));
ps.setString(3, user.getPhoneNum()); ps.setString(3, user.getPhoneNum());
int rs = ps.executeUpdate(); int rs = ps.executeUpdate();

@ -0,0 +1,53 @@
package com.example.logistics.entity;
public class Good {
private int id;
private String phoneNum;
private int shelfNum;
private int floorNum;
private String time;
public Good(){
}
public int getId(){
return id;
}
public void setId(int id){
this.id = id;
}
public String getPhoneNum(){
return phoneNum;
}
public void setPhoneNum(String phoneNum){
this.phoneNum = phoneNum;
}
public int getShelfNum(){
return shelfNum;
}
public void setShelfNum(int shelfNum){
this.shelfNum = shelfNum;
}
public int getFloorNum(){
return floorNum;
}
public void setFloorNum(int floorNum){
this.floorNum = floorNum;
}
public String getTime(){
return time;
}
public void setTime(String time){
this.time = time;
}
}

@ -0,0 +1,28 @@
package com.example.logistics.tools;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBOpenHelper {
private static String diver = "com.mysql.jdbc.Driver";
//加入utf-8是为了后面往表中输入中文表中不会出现乱码的情况
private static String url = "jdbc:mysql://49.235.83.73:3306/logistics?characterEncoding=utf-8";
private static String user = "root";//用户名
private static String password = "123";//密码
/*
*
* */
public static Connection getConn(){
Connection conn = null;
try {
Class.forName(diver);
conn = (Connection) DriverManager.getConnection(url,user,password);//获取连接
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}

@ -2,6 +2,7 @@ package com.example.logistics.ui;
import com.example.logistics.R; import com.example.logistics.R;
import com.example.logistics.dao.userDao; import com.example.logistics.dao.userDao;
import com.example.logistics.tools.MD5Utils;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
@ -15,9 +16,13 @@ import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.Toast; import android.widget.Toast;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends Activity { public class MainActivity extends Activity {
private int islogin = 0;
// 调用Actvity // 调用Actvity
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -75,6 +80,7 @@ public class MainActivity extends Activity {
Toast.makeText(getApplicationContext(), "登录失败", Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), "登录失败", Toast.LENGTH_SHORT).show();
}else if(msg.what == 1){ }else if(msg.what == 1){
Toast.makeText(getApplicationContext(), "登录成功", Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), "登录成功", Toast.LENGTH_SHORT).show();
islogin = 1;
}else if(msg.what == 2){ }else if(msg.what == 2){
Toast.makeText(getApplicationContext(), "密码错误", Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), "密码错误", Toast.LENGTH_SHORT).show();
}else if(msg.what == 3){ }else if(msg.what == 3){

@ -1,25 +1,34 @@
package com.example.logistics.ui; package com.example.logistics.ui;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import com.example.logistics.R; import com.example.logistics.R;
import com.example.logistics.dao.goodDao;
import com.example.logistics.dao.userDao;
public class MyFragment1 extends Fragment implements View.OnClickListener{ public class MyFragment1 extends Fragment implements View.OnClickListener{
private Context mContext; private Context mContext;
private Button btn_one; private Button mButton;
private Button btn_two; private EditText mPickUpCode;
private Button btn_three; private EditText mPhoneNum;
private Button btn_four;
public MyFragment1(){ public MyFragment1(){
@ -29,34 +38,47 @@ public class MyFragment1 extends Fragment implements View.OnClickListener{
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.my_fragment1,container,false); View view = inflater.inflate(R.layout.my_fragment1,container,false);
btn_one = (Button)view.findViewById(R.id.btn_one); mButton = (Button)view.findViewById(R.id.Sea_Button);
btn_two = (Button)view.findViewById(R.id.btn_two); mPickUpCode = (EditText)view.findViewById(R.id.Sea_PickUpCode);
btn_three = (Button)view.findViewById(R.id.btn_three); mPhoneNum = (EditText)view.findViewById(R.id.Sea_PhoneNum);
mButton.setOnClickListener(this);
btn_one.setOnClickListener(this); mContext = getActivity();
btn_two.setOnClickListener(this);
btn_three.setOnClickListener(this);
return view; return view;
} }
@Override @Override
public void onClick(View v) { public void onClick(View v) {
switch(v.getId()){ switch(v.getId()){
case R.id.btn_one: case R.id.Sea_Button:
TextView mTextViewDeal = (TextView)getActivity().findViewById(R.id.tab_menu_deal_num); search(v);
mTextViewDeal.setText("11");
mTextViewDeal.setVisibility(View.VISIBLE);
break;
case R.id.btn_two:
TextView mTextViewPoi = (TextView)getActivity().findViewById(R.id.tab_menu_poi_num);
mTextViewPoi.setText("99");
mTextViewPoi.setVisibility(View.VISIBLE);
break;
case R.id.btn_three:
TextView mTextViewMore = (TextView)getActivity().findViewById(R.id.tab_menu_more_num);
mTextViewMore.setText("999+");
mTextViewMore.setVisibility(View.VISIBLE);
break; break;
} }
} }
public void search(View view){
new Thread(){
@Override
public void run(){
goodDao goodDao = new goodDao();
int msg = goodDao.search(mPickUpCode.getText().toString().trim(), mPhoneNum.getText().toString().trim(), getActivity());
Log.e("Main", "msg");
hand1.sendEmptyMessage(msg);
}
}.start();
}
@SuppressLint("HandlerLeak")
final Handler hand1 = new Handler(){
@Override
public void handleMessage(Message msg){
if(msg.what == 0){
Toast.makeText(mContext, "搜索失败", Toast.LENGTH_SHORT).show();
}else if(msg.what == 2){
Toast.makeText(mContext, "手机尾号错误", Toast.LENGTH_SHORT).show();
}else if(msg.what == 3){
Toast.makeText(mContext, "取件码不存在", Toast.LENGTH_SHORT).show();
}
}
};
} }

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
<stroke
android:width="1dp"
android:color="@color/black" />
</shape>

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<corners android:radius="0dp" /> <!-- 设置圆角弧度 -->
<solid android:color="@color/blue" /> <!-- 设置背景颜色 -->
<size
android:width="160dp"
android:height="160dp" />
<stroke
android:width="0dp"
android:color="#fff" />
</shape>

@ -7,24 +7,9 @@
<RelativeLayout <RelativeLayout
android:id="@+id/ly_top_bar" android:id="@+id/ly_top_bar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="48dp" android:layout_height="0dp"
android:background="@color/white"> android:background="@color/white">
<TextView
android:id="@+id/txt_topbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:gravity="center"
android:text="顶端"
android:textColor="@color/gray"
android:textSize="18sp" />
<View
android:layout_width="match_parent"
android:layout_height="2px"
android:layout_alignParentBottom="true"
android:background="@color/gray" />
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout
android:id="@+id/ly_tab_menu" android:id="@+id/ly_tab_menu"

@ -20,8 +20,6 @@
android:layout_marginTop="50dp" android:layout_marginTop="50dp"
android:src="@drawable/logo"/> android:src="@drawable/logo"/>
<!--嵌套线性布局--> <!--嵌套线性布局-->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"

@ -1,28 +1,71 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical">
android:padding="5dp">
<Button <LinearLayout
android:id="@+id/btn_one" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F5F5F5"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:layout_marginTop="100dp"
android:text="显示第一个消息"/> android:orientation="vertical">
<Button <LinearLayout
android:id="@+id/btn_two" android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/InputBoxStyle">
<EditText
android:id="@+id/Sea_PickUpCode"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:hint="输入取件码"
android:text="第二个显示信息"/> android:padding="15dp"
android:singleLine="true"
android:textSize="24dp"
style="@style/EditTextStyle"/>
</LinearLayout>
<Button <LinearLayout
android:id="@+id/btn_three"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
style="@style/InputBoxStyle">
<EditText
android:id="@+id/Sea_PhoneNum"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="输入手机尾号后四位"
android:padding="15dp"
android:singleLine="true"
android:textSize="24dp"
style="@style/EditTextStyle"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp"
android:orientation="horizontal"
android:gravity="center">
<Button
android:id="@+id/Sea_Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:background="@drawable/button_shape"
android:text="第三个显示信息"/> android:text="查询"
android:textColor="@color/white"
android:textSize="38dp"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout> </RelativeLayout>

@ -19,4 +19,22 @@
<item name="android:gravity">center</item> <item name="android:gravity">center</item>
<item name="android:textColor">@color/blue</item> <item name="android:textColor">@color/blue</item>
</style> </style>
<style name="InputBoxStyle">
<item name="android:layout_centerHorizontal">true</item>
<item name="android:layout_marginLeft">18dp</item>
<item name="android:layout_marginRight">18dp</item>
<item name="android:background">@drawable/border_input_box</item>
<item name="android:gravity">center</item>
<item name="android:orientation">horizontal</item>
</style>
<style name="EditTextStyle">
<item name="android:layout_marginTop">5dp</item>
<item name="android:layout_marginRight">10dp</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:layout_marginLeft">10dp</item>
<item name="android:background">@null</item>
</style>
</resources> </resources>

@ -1,6 +1,7 @@
<resources xmlns:tools="http://schemas.android.com/tools"> <resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="Theme.Logistics" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> <style name="Theme.Logistics" parent="Theme.MaterialComponents.DayNight.NoActionBar.Bridge">
<!-- Primary brand color. --> <!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item> <item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item> <item name="colorPrimaryVariant">@color/purple_700</item>

@ -2,6 +2,7 @@
plugins { plugins {
id 'com.android.application' version '7.1.2' apply false id 'com.android.application' version '7.1.2' apply false
id 'com.android.library' version '7.1.2' apply false id 'com.android.library' version '7.1.2' apply false
id "org.sonarqube" version "2.7"
} }
task clean(type: Delete) { task clean(type: Delete) {

Loading…
Cancel
Save