android运行界面及源代码.docx

上传人:小飞机 文档编号:3152614 上传时间:2023-03-11 格式:DOCX 页数:17 大小:41.26KB
返回 下载 相关 举报
android运行界面及源代码.docx_第1页
第1页 / 共17页
android运行界面及源代码.docx_第2页
第2页 / 共17页
android运行界面及源代码.docx_第3页
第3页 / 共17页
android运行界面及源代码.docx_第4页
第4页 / 共17页
android运行界面及源代码.docx_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《android运行界面及源代码.docx》由会员分享,可在线阅读,更多相关《android运行界面及源代码.docx(17页珍藏版)》请在三一办公上搜索。

1、android运行界面及源代码1. 用户登陆界面 2. 用户注册界面 3. 查找学生信息并对学生进行操作 4. 添加用户界面 5. 用户管理界面 二、源代码 1. LoginActivity.java package org.liming.stumanage; public class LoginActivity extends Activity implements OnClickListener private EditText login_uname, login_pwd; private SQLiteOpenHelper helper; private SQLiteDatabase d

2、b; private Intent intent; private ListPopupWindow lpw; private List namelist; private TextView autoname; private Cursor cursor; / 生成一个DES算法的密匙 / public static SecretKey key = CryptTest.createSecretKey(DES); Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState

3、); setContentView(R.layout.login_main); helper = new MyDbHelper(this); namelist = new ArrayList; /* / 获取账号、密码的组件 login_uname = (EditText) findViewById(R.id.login_uname); login_pwd = (EditText) findViewById(R.id.login_pwd); login_uname.setOnClickListener(this); getNameList; * 从userloginfo表中获取用户登录列表 *

4、/ private void getNameList db = helper.getReadableDatabase; cursor = db.rawQuery(select distinct _name from userloginfo, null); if (cursor.getCount != 0) while (cursor.moveToNext) namelist.add(cursor.getString(cursor.getColumnIndex(_name); adapter.notifyDataSetChanged; /* * 处理login页面的注册、登录、退出事件 * *

5、param v */ public void loginBtnClick(View v) switch (v.getId) case R.id.login_btn_regist: intent = new Intent(LoginActivity.this, RegistActivity.class); startActivity(intent); break; case R.id.login_btn_login: String name = login_uname.getText.toString.trim; String pwd = login_pwd.getText.toString.t

6、rim; String str = null; if (TextUtils.isEmpty(name) | TextUtils.isEmpty(pwd) MyToast.viewToast(this, 账号或者密码不能为空!); else / / / 使用密匙加密 String strname = CryptTest.encryptToDES(key, name); / 查询用户 db = helper.getReadableDatabase; Cursor cursor = db.rawQuery( select * from userinfo where _name=? limit 1,

7、new String name ); if (cursor.getCount = 0) / 账号不存在 MyToast.viewToast(this, 账号不存在!); else cursor.moveToNext; str = cursor.getString(cursor.getColumnIndex(_pwd); / 使用密匙解密 String strpwd = CryptTest.decryptByDES(key, str); cursor.close; db.close; if (pwd.equals(str) / 账号、密码正确 MyToast.viewToast(this, 登陆

8、成功!); / 将登录成功的用户名记录在userloginfo表中 db = helper.getWritableDatabase; ContentValues values = new ContentValues; values.put(_name, name); values.put(_logintime, new Date.getTime + ); db.insert(userloginfo, null, values); db.close; intent = new Intent(LoginActivity.this, StuManageActivity.class);/ 跳转到学生管

9、理界面 intent.putExtra(uname, name); startActivity(intent); finish; else MyToast.viewToast(this, 密码错误!); break; case R.id.login_btn_exit: finish; break; default: break; BaseAdapter adapter = new BaseAdapter Override public View getView(int position, View convertView, ViewGroup parent) convertView = get

10、LayoutInflater.inflate(R.layout.nameitem, null); autoname = (TextView) convertView.findViewById(R.id.autoname); autoname.setText(namelist.get(position); return convertView; Override public long getItemId(int position) return 0; Override public Object getItem(int position) return null; Override publi

11、c int getCount return namelist.size; ; /* * 智能显示用户名弹窗 */ Override public void onClick(View v) lpw = new ListPopupWindow(LoginActivity.this); lpw.setOnItemClickListener(new OnItemClickListener Override public void onItemClick(AdapterView parent, View view, int position, long id) selectOpt(view); lpw.

12、dismiss; ); lpw.setAdapter(adapter); lpw.setAnchorView(login_uname); lpw.setWidth(200); lpw.show; /* * 动态获取点击的用户名 * param view */ private void selectOpt(View view) login_uname.setText(TextView) view).getText); 2. RegistActivity.java package org.liming.stumanage; public class RegistActivity extends A

13、ctivity private EditText regist_uname, regist_pwd, regist_rpwd; private SQLiteOpenHelper helper; private SQLiteDatabase db; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.regist); helper = new MyDbHelper(this); regist_uname = (

14、EditText) findViewById(R.id.regist_uname); regist_pwd = (EditText) findViewById(R.id.regist_pwd); regist_rpwd = (EditText) findViewById(R.id.regist_rpwd); /* * 处理注册页面的按钮事件 * * param v */ public void registBtnClick(View v) switch (v.getId) case R.id.regist_btn_yes: String name = regist_uname.getText.

15、toString.trim; String pwd = regist_pwd.getText.toString.trim; String rpwd = regist_rpwd.getText.toString.trim; if (TextUtils.isEmpty(name) | TextUtils.isEmpty(pwd) | TextUtils.isEmpty(rpwd) MyToast.viewToast(this, 账号、密码或确认密码不能为空!); else if (!pwd.equals(rpwd) MyToast.viewToast(this, 密码和确认密码必须相同!); el

16、se db = helper.getReadableDatabase; Cursor cursor = db.rawQuery( select * from userinfo where _name=? limit 1, new String name ); if (cursor.getCount 0) / 账号已存在 MyToast.viewToast(this, 账号已存在!); else db = helper.getWritableDatabase; ContentValues values = new ContentValues; values.put(_name, name); v

17、alues.put(_pwd, pwd); long count = db.insert(userinfo, null, values); if (count = -1) MyToast.viewToast(this, 用户注册失败!); db.close; break; else MyToast.viewToast(this, 用户注册成功!); finish; case R.id.regist_btn_no: finish; break; default: break; 3. StuManageActivity.java package org.liming.stumanage; publ

18、ic class StuManageActivity extends Activity implements OnClickListener, OnItemClickListener, OnCheckedChangeListener private ActionBar actionBar; private ListPopupWindow lpw; private EditText search_edit; private ImageButton search_btn; private ImageView opt_menu; private SimpleAdapter adapter; priv

19、ate SQLiteOpenHelper helper; private SQLiteDatabase db; private ListView stu_lv; private List stulist = new ArrayList; private boolean flag = false; private CheckBox stu_check_all, stu_check; private TextView stu_item_name, stu_item_stuno; private Intent intent; private ImageView stu_item_phone, stu

20、_item_mess;/ 打电话,发短息 private String stuname, stuno, phone; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.stu_manage); actionBar = getActionBar; actionBar.setDisplayShowHomeEnabled(false); actionBar.setHomeButtonEnabled(false);

21、 actionBar.setDisplayShowTitleEnabled(false); actionBar.show; helper = new MyDbHelper(this); stu_lv = (ListView) findViewById(R.id.stu_lv); stu_check_all = (CheckBox) findViewById(R.id.stu_check_all); adapter = new SimpleAdapter(StuManageActivity.this, getData, R.layout.stu_opt, new String img, info

22、 , new int R.id.opt_img, R.id.opt_info ); stu_lv.setAdapter(listAdapter); stu_lv.setOnItemClickListener(this); stu_check_all.setOnCheckedChangeListener(this); BaseAdapter listAdapter = new BaseAdapter Override public View getView(final int position, View convertView, ViewGroup parent) convertView =

23、getLayoutInflater.inflate(R.layout.stu_item, null); stu_item_name = (TextView) convertView .findViewById(R.id.stu_item_name); stu_item_stuno = (TextView) convertView .findViewById(R.id.stu_item_stuno); stu_item_phone = (ImageView) convertView .findViewById(R.id.stu_item_phone); stu_item_mess = (Imag

24、eView) convertView .findViewById(R.id.stu_item_mess); stu_check = (CheckBox) convertView.findViewById(R.id.stu_check); if (flag) / 表示查到了记录 stu_check.setChecked(stulist.get(position).getStatu); stu_item_name.setText(stulist.get(position).getName); stu_item_stuno.setText(stulist.get(position).getStuno

25、); stu_check .setOnCheckedChangeListener(new OnCheckedChangeListener Override public void onCheckedChanged( CompoundButton buttonView, boolean isChecked) stulist.get(position).setStatu(isChecked); ); stu_item_phone.setOnClickListener(new OnClickListener Override public void onClick(View v) intent =

26、new Intent(Intent.ACTION_CALL, Uri .parse(tel: + stulist.get(position).getPhone); startActivity(intent); ); return convertView; Override public long getItemId(int position) return 0; Override public Object getItem(int position) return null; Override public int getCount return stulist.size; ; private

27、 ListMap getData ListMap list = new ArrayListMap; Map map = new HashMap; map.put(info, 增加); map.put(img, R.drawable.add); list.add(map); map = new HashMap; map.put(info, 导入); map.put(img, R.drawable.daoru); list.add(map); map = new HashMap; map.put(info, 删除); map.put(img, R.drawable.delete); list.ad

28、d(map); map = new HashMap; map.put(info, 刷新); map.put(img, R.drawable.refresh); list.add(map); map = new HashMap; map.put(info, 管理用户); map.put(img, R.drawable.user); list.add(map); map = new HashMap; map.put(info, 群发消息); map.put(img, R.drawable.message); list.add(map); return list; Comparator compar

29、atorAsc = new Comparator / 按学号增序排序 Override public int compare(StuInfo lhs, StuInfo rhs) return Integer.parseInt(lhs.getStuno) - Integer.parseInt(rhs.getStuno); ; Override public void onClick(View v) switch (v.getId) case R.id.opt_menu: lpw = new ListPopupWindow(StuManageActivity.this); lpw.setOnIte

30、mClickListener(new OnItemClickListener Override public void onItemClick(AdapterView parent, View view, int position, long id) selectOpt(position); lpw.dismiss; ); lpw.setAdapter(adapter); lpw.setAnchorView(opt_menu); lpw.setWidth(200); lpw.show; break; case R.id.search_btn:/ 搜索 String name = search_

31、edit.getText.toString.trim; if (TextUtils.isEmpty(name) / 显示全部学生 stulist.clear; listAdapter.notifyDataSetChanged;/ 清空列表 db = helper.getReadableDatabase; Cursor cursor = db.rawQuery(select * from stuinfo , null); if (cursor.getCount = 0) / 该学生不存在 MyToast.viewToast(this, 没有学生信息,请添加学生!); else stulist.c

32、lear; listAdapter.notifyDataSetChanged;/ 清空列表 db = helper.getReadableDatabase; Cursor curs = db.rawQuery( select * from stuinfo where _name like ? , new String % + name + % );/ 模糊查询 if (curs.getCount = 0) / 该学生不存在 MyToast.viewToast(this, 该学生不存在!); else while (curs.moveToNext) flag = true; stuname =

33、curs.getString(curs.getColumnIndex(_name); stuno = curs.getString(curs.getColumnIndex(_stuno); phone = curs.getString(curs.getColumnIndex(_phone); stulist.add(new StuInfo(stuname, stuno, false, phone); Collections.sort(stulist, comparatorAsc); listAdapter.notifyDataSetChanged; MyToast.viewToast(this

34、, 列表已更新!); curs.close; db.close; break; default: break; List dellist = new ArrayList;/ 删除列表 List messagelist = new ArrayList;/ 群发列表 StringBuffer sb = new StringBuffer; String phonelist;/ 联系人电话 private void selectOpt(int position) switch (position) case 0:/ 新增 intent = new Intent(StuManageActivity.th

35、is, AddStuInfoActivity.class); startActivity(intent); break; case 1:/ 导入学生 File file = new File(Environment.getExternalStorageDirectory .getPath + /student.json); StringBuffer strb = new StringBuffer; String temp; try BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(

36、file); while (temp = br.readLine) != null) strb.append(temp); br.close; catch (Exception e) e.printStackTrace; try JSONObject json = new JSONObject(strb.toString); JSONArray stusjson = json.getJSONArray(students); for (int i = 0; i 0) for (int i = 0; i 0) for (String str : dellist) db = helper.getWr

37、itableDatabase; db.delete(stuinfo, _stuno=?, new String str ); MyToast.viewToast(this, 删除成功!); dellist.clear; else MyToast.viewToast(this, 请勾选要删除的项目!); listAdapter.notifyDataSetChanged; break; case 3:/ 刷新 listAdapter.notifyDataSetChanged; break; case 4:/ 管理用户 intent = getIntent; String name = intent

38、.getStringExtra(uname); if (!name.equals(username) MyToast.viewToast(this, 呵呵,你的权限似乎不够哦!); else / 跳转到用户管理界面 intent = new Intent(StuManageActivity.this, UserManageActivity.class); startActivity(intent); break; default: break; /* * 监听stu_lv的点击事件,跳到个人信息页面 */ Override public void onItemClick(AdapterView

39、 parent, View view, int position, long id) MyToast.viewToast(this, 点击了 + position); intent = new Intent(StuManageActivity.this, StuInfoActivity.class); intent.putExtra(stuno, stulist.get(position).getStuno);/ 把学号传过去 startActivity(intent); /* * 监听全选按钮 */ Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) for (StuInfo stu : stulis

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号