这一模块估计后面也会有稍微的改动,总感觉交互效果不好,而且有点不足,先这样吧,改了以后再改吧。记录一下今天的成果,一天天成长。
下面是Login_activity.xml文件的内容:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#f8f8f8" android:orientation="vertical" tools:context="com.elainetaylor.taoyi.ui.activity.LoginActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#fff" android:orientation="horizontal"> <ImageButton android:id="@+id/ib_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/transparent" android:src="@mipmap/icon_back" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:layout_marginEnd="50dp" android:layout_marginRight="50dp" android:gravity="center" android:text="登录" android:textColor="#707070" android:textSize="18sp" /> </LinearLayout> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="#dadada" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="45dp" android:gravity="center" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="用户名" android:textColor="#707070" android:textSize="16sp" /> <EditText android:id="@+id/et_username" android:layout_width="245dp" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginStart="5dp" android:background="@android:color/transparent" android:inputType="text" android:textColor="#5000" android:textSize="14sp" /> </LinearLayout> <View android:layout_width="300dp" android:layout_height="1dp" android:layout_gravity="center" android:layout_marginTop="10dp" android:background="#dadada" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:gravity="center" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="密码" android:textColor="#707070" android:textSize="16sp" /> <EditText android:id="@+id/et_password" android:layout_width="260dp" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginStart="5dp" android:background="@android:color/transparent" android:inputType="textPassword" android:textColor="#5000" android:textSize="14sp" /> </LinearLayout> <View android:layout_width="300dp" android:layout_height="1dp" android:layout_gravity="center" android:layout_marginTop="10dp" android:background="#dadada" /> </LinearLayout> <Button android:id="@+id/btn_login" android:layout_width="300dp" android:layout_height="35dp" android:layout_gravity="center" android:layout_marginTop="20dp" android:background="#00b7ee" android:gravity="center" android:text="登录" android:textColor="#fff" android:textSize="15sp" /> <FrameLayout android:layout_width="300dp" android:layout_height="wrap_content" android:layout_gravity="center" android:orientation="horizontal" android:padding="5dp"> <Button android:id="@+id/btn_goRegister" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="start" android:background="@android:color/transparent" android:gravity="start|center" android:text="快速注册" android:textColor="#707070" android:textSize="12sp" /> <Button android:id="@+id/btn_goForgetPwd" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end" android:background="@android:color/transparent" android:gravity="end|center" android:text="忘记密码?" android:textColor="#00b7ee" android:textSize="12sp" /> </FrameLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="200dp" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal"> <View android:layout_width="100dp" android:layout_height="1dp" android:layout_gravity="center" android:background="#dadada" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="第三方账号登录" android:textColor="#77707070" /> <View android:layout_width="100dp" android:layout_height="1dp" android:layout_gravity="center" android:background="#dadada" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="5dp" android:gravity="center" android:orientation="horizontal"> <ImageButton android:id="@+id/ib_sina" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:background="@android:color/transparent" android:src="@mipmap/icon_sina" /> <ImageButton android:id="@+id/ib_wechat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginLeft="50dp" android:layout_marginStart="50dp" android:background="@android:color/transparent" android:src="@mipmap/icon_wechat" /> </LinearLayout> </LinearLayout> </LinearLayout> </LinearLayout>下面是LoginActivity.class文件的内容:
package com.elainetaylor.taoyi.ui.activity; import android.app.ProgressDialog; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.Toast; import com.avos.avoscloud.AVException; import com.avos.avoscloud.AVOSCloud; import com.avos.avoscloud.AVUser; import com.avos.avoscloud.LogInCallback; import com.elainetaylor.taoyi.R; public class LoginActivity extends AppCompatActivity implements View.OnClickListener { private Button btnLogin, btnGoRegister, btnForget; private EditText etUsername, etPassword; private ImageButton ibBack, ibSina, ibWeChat; private String username, password; private ProgressDialog dialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); AVOSCloud.initialize(this, "K1Ki1nEU9GFmUK6lfVMBMeHE-9Nh9j0Va", "pwYculXduYevPHtGDk6LuI0c"); init(); } public void init() { btnLogin = (Button) findViewById(R.id.btn_login); btnGoRegister = (Button) findViewById(R.id.btn_goRegister); btnForget = (Button) findViewById(R.id.btn_goForgetPwd); etUsername = (EditText) findViewById(R.id.et_username); etPassword = (EditText) findViewById(R.id.et_password); ibBack = (ImageButton) findViewById(R.id.ib_back); ibSina = (ImageButton) findViewById(R.id.ib_sina); ibWeChat = (ImageButton) findViewById(R.id.ib_wechat); btnLogin.setOnClickListener(this); btnGoRegister.setOnClickListener(this); btnForget.setOnClickListener(this); ibBack.setOnClickListener(this); ibSina.setOnClickListener(this); ibWeChat.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.btn_login: username = etUsername.getText().toString(); password = etPassword.getText().toString(); if (username.isEmpty()) { Toast.makeText(LoginActivity.this, "亲,请输入用户名", Toast.LENGTH_SHORT).show(); } else if (password.isEmpty()) { Toast.makeText(LoginActivity.this, "亲,请输入密码", Toast.LENGTH_SHORT).show(); } else { showProgressDialog("登录中..."); makeLogin(username, password); } break; case R.id.btn_goRegister: Intent i = new Intent(LoginActivity.this, RegisterActivity.class); startActivity(i); finish(); break; case R.id.btn_goForgetPwd: Intent intent = new Intent(LoginActivity.this, ForgetActivity.class); startActivity(intent); finish(); break; case R.id.ib_back: finish(); break; case R.id.ib_sina: Intent iSina = new Intent(LoginActivity.this, SinaActivity.class); startActivity(iSina); finish(); break; case R.id.ib_wechat: Intent iWechat = new Intent(LoginActivity.this, WechatActivity.class); startActivity(iWechat); finish(); break; } } public void writeMes() { SharedPreferences sharedPreferences = getSharedPreferences("mes", MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("username", username); editor.putString("password", password); editor.putString("isLogin", "true"); editor.apply(); } public void makeLogin(String username, String password) { AVUser.logInInBackground(username, password, new LogInCallback<AVUser>() { @Override public void done(AVUser avUser, AVException e) { if (e == null) { Toast.makeText(LoginActivity.this, "登陆成功", Toast.LENGTH_SHORT).show(); writeMes(); missProgressDialog(); } else if (e.getCode() == 211) { missProgressDialog(); Toast.makeText(LoginActivity.this, "该用户还未注册,请先注册哦", Toast.LENGTH_SHORT).show(); } else if (e.getCode() == 210) { missProgressDialog(); Toast.makeText(LoginActivity.this, "用户名或者密码错误", Toast.LENGTH_SHORT).show(); } else { missProgressDialog(); Toast.makeText(LoginActivity.this, "亲,网络有点问题哦", Toast.LENGTH_SHORT).show(); } } }); } public void showProgressDialog(String msg) { if (null == dialog) { dialog = new ProgressDialog(this); dialog.setCanceledOnTouchOutside(false); } dialog.setMessage(msg); dialog.show(); } public void missProgressDialog() { if (null != dialog) { dialog.dismiss(); } } }其实去查了一下官方的api,发现其实有很多的返回码,可以看到其实还是挺全面的,要学着看Api文档,争取能够多看懂一些。