项目介绍:基于as开发的农场管理app
开发工具:as sqlite
下面是登陆界面的设计和实现代码:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:orientation="vertical"
android:paddingBottom="15dp"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="138dp">
<EditText
android:id="@+id/edt_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="15dp"
android:ems="10"
android:hint="用户名"
android:text="admin">
<requestFocus />
</EditText>
<EditText
android:id="@+id/edt_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="5dp"
android:ems="10"
android:hint="密码"
android:inputType="textPassword"
android:text="123456" />
<RadioGroup
android:id="@+id/rg1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="5dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb_user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="用户" />
<RadioButton
android:id="@+id/rb_manager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="管理员" />
</RadioGroup>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btn_login"
android:layout_width="70dp"
android:layout_height="35dp"
android:layout_marginLeft="35dp"
android:layout_marginTop="5dp"
android:text="登陆"
android:textColor="#fff" />
<Button
android:id="@+id/btn_register"
android:layout_width="70dp"
android:layout_height="35dp"
android:layout_marginLeft="35dp"
android:layout_marginTop="5dp"
android:text="注册"
android:textColor="#fff" />
</LinearLayout>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
manage.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="64dp"
android:onClick="go_user" >
</RelativeLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/linearLayout1"
android:layout_below="@+id/linearLayout1"
android:layout_marginTop="46dp"
android:onClick="go_book"
android:orientation="vertical" >
</LinearLayout>
<TextView
android:id="@+id/textView1"
android:layout_width="320dp"
android:layout_height="5dp"
android:background="#6D86A3"
android:text="" />
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_marginTop="5dp"
android:background="#3C433C"
android:gravity="center"
android:orientation="horizontal" >
<TextView
android:id="@+id/return_tiem_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="管理员:"
android:textColor="#fff"
android:textSize="18sp" />
<TextView
android:id="@+id/tv_iUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="admin"
android:textColor="#fff"
android:textSize="18sp" />
</LinearLayout>
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/linearLayout1"
android:layout_margin="16dp" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_marginBottom="5dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:background="#35AB9F"
android:onClick="go_goods"
android:text="土地管理"
android:textColor="#fff" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/btn_ordered"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_marginBottom="5dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:background="#35AB9F"
android:onClick="go_ordered"
android:text="购买种子"
android:textColor="#fff" />
<Button
android:id="@+id/btn_editPd"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:background="#35AB9F"
android:onClick="go_change"
android:text="修改密码"
android:textColor="#fff" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/btn_exit"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="1"
android:background="#35AB9F"
android:onClick="go_exit"
android:text="注销账号"
android:textColor="#fff" />
</TableRow>
</TableLayout>
</RelativeLayout>
MainActivity.java
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="64dp"
android:onClick="go_user" >
</RelativeLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/linearLayout1"
android:layout_below="@+id/linearLayout1"
android:layout_marginTop="46dp"
android:onClick="go_book"
android:orientation="vertical" >
</LinearLayout>
<TextView
android:id="@+id/textView1"
android:layout_width="320dp"
android:layout_height="5dp"
android:background="#6D86A3"
android:text="" />
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_marginTop="5dp"
android:background="#3C433C"
android:gravity="center"
android:orientation="horizontal" >
<TextView
android:id="@+id/return_tiem_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="管理员:"
android:textColor="#fff"
android:textSize="18sp" />
<TextView
android:id="@+id/tv_iUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="admin"
android:textColor="#fff"
android:textSize="18sp" />
</LinearLayout>
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/linearLayout1"
android:layout_margin="16dp" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_marginBottom="5dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:background="#35AB9F"
android:onClick="go_goods"
android:text="土地管理"
android:textColor="#fff" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/btn_ordered"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_marginBottom="5dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:background="#35AB9F"
android:onClick="go_ordered"
android:text="购买种子"
android:textColor="#fff" />
<Button
android:id="@+id/btn_editPd"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:background="#35AB9F"
android:onClick="go_change"
android:text="修改密码"
android:textColor="#fff" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/btn_exit"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="1"
android:background="#35AB9F"
android:onClick="go_exit"
android:text="注销账号"
android:textColor="#fff" />
</TableRow>
</TableLayout>
</RelativeLayout>
ManagerActivity.java
package com.bignerdranch.android.myfarm;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private EditText username, password; // 用户名,密码
RadioButton rb_student, rb_manager; // 学生,管理员
Button btn_login;// 登陆
Button btn_resign;//注册
// 控件注册
private void init() {
username = (EditText) findViewById(R.id.edt_username);
password = (EditText) findViewById(R.id.edt_password);
rb_student = (RadioButton) findViewById(R.id.rb_user);
rb_manager = (RadioButton) findViewById(R.id.rb_manager);
btn_login = (Button) findViewById(R.id.btn_login);
btn_resign = (Button) findViewById(R.id.btn_register);
// 点击进入管理页面
btn_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 获取用户名
String un = username.getText().toString();
// 获取输入的密码
String pd = password.getText().toString();
SQLiteDatabase db = new nuoboDB(MainActivity.this)
.getReadableDatabase();
Cursor cursor = null;
if (rb_student.isChecked()) {
cursor = db.rawQuery("select * from " + Constants.USER_TABLE
+ " where username=? and password=? and type=?",
new String[] { un, pd, "0" });
if (cursor != null && cursor.getCount() > 0) { // 表示登陆成功
cursor.moveToFirst();
int id = cursor.getInt(cursor.getColumnIndex("_id"));
Intent intent = new Intent(MainActivity.this,
ManagerActivity.class);
intent.putExtra("id", id);
intent.putExtra("username", un);
intent.putExtra("password", pd);
startActivity(intent);
} else {
Toast.makeText(MainActivity.this, "用户名或密码错误!",
Toast.LENGTH_LONG).show();
}
cursor.close();
} else if (rb_manager.isChecked()) { // 表示是管理员登陆
cursor = db.rawQuery("select * from " + Constants.USER_TABLE
+ " where username=? and password=? and type=?",
new String[] { un, pd, "1" });
if (cursor != null && cursor.getCount() > 0) { // 表示登陆成功
cursor.moveToFirst();
int id = cursor.getInt(cursor.getColumnIndex("_id"));
Intent intent = new Intent(MainActivity.this,
ManagerActivity.class);
intent.putExtra("id", id);
intent.putExtra("username", un);
intent.putExtra("password", pd);
startActivity(intent);
} else {
Toast.makeText(MainActivity.this, "用户名或密码错误!",
Toast.LENGTH_LONG).show();
}
cursor.close();
}
}
});
btn_resign.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, ResigeActivity.class);
startActivity(intent);
}
});
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
}
此处省略。。。。