安卓管理系统开发

在这里我自己是用eclise写的是图书馆借书管理系统,首先是需要此系统结构图以及所需要建立的工程项目的目录。
功能结构图
在设计系统时,应先清楚知道自己系统的方向以及各功能模块的功能实现,画好结构图是接下来代码编程的基础,使自己的逻辑思维清晰。
业务流程图
此流程图分别有管理员模块以及学生用户模块,根据选出来的大模块后再细分大模块应该具备的功能,例如在管理员模块,管理员能实现注册学生用户登陆信息以及学生基本信息,从而实现学生用户登陆以及对自己信息的操作、借书还书等功能,流程图如下:
管理员模块
在这里插入图片描述
普通用户模块
在这里插入图片描述
MainActivity.java是用于登陆, 名称可以改
adapter包是此系统需要用到的适配器模块
bena包是把需要的用到的变量封装打包
db包是用来建立数据库以及数据的实现
在这里插入图片描述在这里插入图片描述
下面是对此系统主要模块代码完整的代码
MainActivity.java
登陆模块
在这里插入图片描述

在这里插入图片描述
这里是我自己设置的账号密码(账号:lugengjie 密码:123456),输入正确的话会跳转到管理信息界面,因为我认为只有我一个人才能操作此系统的内部数据

接下来是管理图书信息(功能分对学生信息管理、对学生基本信息的管理以及图书数量、种类的增加功能),我挑了一个模块(对学生登录信息的操作)来讲,其他都大同小异
在这里插入图片描述点击(对学生登录信息的操作)按钮,按钮跳转代码为:
在这里插入图片描述
来到操作界面
在这里插入图片描述
在这里插入图片描述
增加学生登录信息,登录信息有有户名以及登录密码,一般只设置用户名为学号,密码统一给一个固定的密码,后面由学生登录自己的账号再根据自己的情况修改自己的密码,添加信息后应该设置一个提交信息按钮(提交后跳转到学生信息操作界面),在此之前我们也应该先创建一个存储学生登录信息的数据库
创建数据库代码为:在这里插入图片描述
如过跳转成功,你可以吧数据库导出来看看里面是否有数据
找到:DDMS->data->data->找到managebook(这里因为我的工程名为managebook)->将lgj.dbdao导出来
在这里插入图片描述
接下来是把数据库内容显示到界面,管理员可查看学生用户登录信息
需要添加一个listview、一个提交按钮,在这里插入图片描述
在这里插入图片描述
同时还需要新建一个ui界面(仅Ui界面就行)
在这里插入图片描述
完整代码如下:

package com.example.managebooks;

import java.util.List;

import bena.User;

import db.UserBean;
import adapter.UserAdapter;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

public class UserViewActivity extends Activity {
ListView listview;
List<User> userlist;
UserBean userdao;
Button backbtn;
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_user_view);
		listview=(ListView)findViewById(R.id.listView1);
		backbtn=(Button)findViewById(R.id.button1);
		backbtn.setOnClickListener(new OnClickListener(){
			@Override
			public void onClick(View arg0) {
				// TODO 自动生成的方法存根
				Intent intent=new Intent(UserViewActivity.this,OperateUserActivity.class);
				Toast.makeText(getApplicationContext(), "跳转到用户管理页面",Toast.LENGTH_LONG).show();
				startActivity(intent);
				}
			});  }
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.user_view, menu);
		return true;
	}
	
  protected void onStart(){
	  super.onStart();
	  getData();
	  UserAdapter myAdapter=new UserAdapter(this,R.layout.userlist,userlist);
	  listview.setAdapter(myAdapter);
	  listview.setOnItemClickListener(new OnItemClickListener(){
		  @Override
		  public void onItemClick(AdapterView<?> arg0,View arg1,int arg2,long arg3) {
				// TODO 自动生成的方法存根
				User user=(User)arg0.getItemAtPosition(arg2);
				final String name=user.getUsername();
				final String pass=user.getPassword();
				AlertDialog.Builder builder=new AlertDialog.Builder(UserViewActivity.this);
				builder.setTitle("确定对该对话框进行操作?");
				builder.setPositiveButton("修改", new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int whichButton) {
						Intent intent=new Intent();
						Bundle bundel=new Bundle();
						bundel.putString("name", name);
						bundel.putString("pass", pass);
						intent.setClass(getApplicationContext(),UpdateUserActivity.class);
						intent.putExtras(bundel);
						startActivity(intent);
					}});
				
				builder.setNegativeButton("删除", new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int whichButton) {
						User user=new User(name,pass);
						if(user.getUsername()==null){
							UserBean del=new UserBean(UserViewActivity.this);
							del.delete();
							Toast.makeText(getApplicationContext(), "空数删除成功", Toast.LENGTH_LONG).show();
						}
						UserBean del=new UserBean(UserViewActivity.this);
						del.delete(user);
						Toast.makeText(getApplicationContext(), "数据删除成功", Toast.LENGTH_LONG).show();
						onStart();
					}});
				builder.show();
			}});
	}
private void getData() {
	// TODO 自动生成的方法存根
	userdao=new UserBean(this);
	userlist=userdao.findAll();
}
}

查看数据所用方法代码,此方法封装在UserBean类里面

public List<User> findAll(){
		List<User> users =null;
		SQLiteDatabase db=help.getReadableDatabase();
		if(db.isOpen()){
		Cursor cursor=db.query("user",null,null,null,null,null,null);
		users=new ArrayList<User>();
		while(cursor.moveToNext()){
			User user=new User();
			String name=cursor.getString(cursor.getColumnIndex("name"));
			user.setUsername(name);
			String pass=cursor.getString(cursor.getColumnIndex("password"));
			user.setPassword(pass);
			users.add(user);
		}
		cursor.close();
		db.close();
	}
	return users;
	}

运行结果如下
在这里插入图片描述
总结:到此为止基本就已经实现一个模块的编程,剩下的模块需要自己设计以及算法的设计,通过此次学习,也明白重在过程而不是结果,要首尾连接呼应才能学到自己想要的知识,很多人没有自己实际操作,结果一问三不知,可想而知,量的积累有多重要。

猜你喜欢

转载自blog.csdn.net/qq_44761239/article/details/104065887