-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsignFragment.java
More file actions
159 lines (132 loc) · 3.79 KB
/
signFragment.java
File metadata and controls
159 lines (132 loc) · 3.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
package rayfantasy.icode.Ui.Fragment;
import android.content.*;
import android.os.*;
import android.view.*;
import android.view.View.*;
import android.app.*;
import rayfantasy.icode.*;
import rayfantasy.icode.Bmob.*;
import rayfantasy.icode.Ui.*;
import rayfantasy.icode.R;
import android.support.design.widget.*;
import cn.bmob.v3.*;
import cn.bmob.v3.listener.*;
import com.melnykov.fab.FloatingActionButton;
import com.rengwuxian.materialedittext.*;
public class signFragment extends Fragment implements OnClickListener,OnLongClickListener
{
private MaterialEditText account,password;
private FloatingActionButton fab_sign_up,fab_sign_in;
private MyApplication myApplication;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v=inflater.inflate(R.layout.fragment_sign,container,false);
myApplication=(MyApplication)this.getActivity().getApplication();
initView(v);
return v;
}
private void initView(View v)
{
account=(MaterialEditText)v.findViewById(R.id.usermainMaterialEditText_account);
password=(MaterialEditText)v.findViewById(R.id.usermainMaterialEditText_password);
fab_sign_up=(FloatingActionButton)v.findViewById(R.id.sign_up);
fab_sign_in=(FloatingActionButton)v.findViewById(R.id.sign_in);
fab_sign_in.setOnClickListener(this);
fab_sign_up.setOnClickListener(this);
fab_sign_up.setOnLongClickListener(this);
fab_sign_in.setOnLongClickListener(this);
}
@Override
public void onClick(View p1)
{
switch(p1.getId()){
case R.id.sign_up:
if(isCharacter()){
Login(account.getText().toString(),password.getText().toString());
}else{
Snackbar.make(p1,"输入格式有误!",1000).show();
}
break;
case R.id.sign_in:
if(isCharacter()){
LoginData(account.getText().toString(),password.getText().toString());
}else{
Snackbar.make(p1,"输入格式有误!",1000).show();
}
break;
}
}
@Override
public boolean onLongClick(View p1)
{
switch(p1.getId()){
case R.id.sign_up:
Snackbar.make(p1,"登录",1000).show();
break;
case R.id.sign_in:
Snackbar.make(p1,"注册",1000).show();
break;
}
return false;
}
//登录
private void Login(String UserName,String Password){
User bu2 = new User();
bu2.setUsername(UserName);
bu2.setPassword(Password);
bu2.login(getActivity(), new SaveListener() {
@Override
public void onSuccess()
{
myApplication.showToast("登录成功");
startActivity(new Intent(getActivity(),MainActivity.class));
getActivity().finish();
}
@Override
public void onFailure(int p1, String p2)
{
if(p1==101){
myApplication.showToast("帐号或密码不正确");
}else if(p1==304){
myApplication.showToast("其中一项输入为空");
}else{
myApplication.showToast("登录失败:"+p1+p2);
}
}
});
}
//注册
public void LoginData(final String UserName,final String Password){
User bu = new User();
bu.setUsername(UserName);
bu.setPassword(Password);
bu.signUp(getActivity(), new SaveListener(){
@Override
public void onSuccess()
{
myApplication.showToast("注册成功,正在登录");
Login(UserName,Password);
}
@Override
public void onFailure(int p1, String p2)
{
if(p1==202){
myApplication.showToast("该用户名已被注册!");
}else if(p1==304){
myApplication.showToast("其中一项输入为空");
}else{
myApplication.showToast("注册失败"+p1);
}
}
});
}
private boolean isCharacter(){
if(account.getText().toString().length()>5||account.getText().toString().length()<18
&&password.getText().toString().length()>6||password.getText().toString().length()<18){
return true;
}else{
return false;
}
}
}