在这里我自己是用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;
}
运行结果如下
总结:到此为止基本就已经实现一个模块的编程,剩下的模块需要自己设计以及算法的设计,通过此次学习,也明白重在过程而不是结果,要首尾连接呼应才能学到自己想要的知识,很多人没有自己实际操作,结果一问三不知,可想而知,量的积累有多重要。
来源:oschina
链接:https://my.oschina.net/u/4376671/blog/4467893