Android实训-江延妞—07(4)

2019-03-09 22:14

// 通过findViewById方法实例化组件

userEditText = (EditText)findViewById(R.id.userEditText); // 通过findViewById方法实例化组件

pwdEditText = (EditText)findViewById(R.id.pwdEditText);

4) 为了实现登录的功能,Android需要通过网络方位后台数据库进行查询。Android访问网络实现的方法有很多,如Web Service、HTTP、直接使用WebView浏览器。Android集成了Apache的Http Client模块,这样使得使用HTTP访问网络成为了可能。这里我们使用HTTP访问网络。HTTP是请求(request)/响应(response)的一种机制,这里我们定义了一种工具类HttpUtil来获得HttpResquest对象和HttpResponse对象,以及发送get和post请求获得返回response信息的方法。

5) 定义一个显示信息的对话框方法,用于显示提示信息。

private void showDialog(String msg){ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(msg) .setCancelable(false)

.setPositiveButton(\确定\ public void onClick(DialogInterface dialog, int id) { } });

AlertDialog alert = builder.create(); alert.show();

6) 定义validate()方法,对用户名和密码进行验证。

private boolean validate(){ String username = userEditText.getText().toString();

14

}

if(username.equals(\

showDialog(\用户名称是必填项!\ return false; }

String pwd = pwdEditText.getText().toString(); if(pwd.equals(\ showDialog(\用户密码是必填项!\ return false; }

return true;

7) 定义一个query()方法,通过用户名称和密码进行查询,发送Post请求,获得响应结果

// 根据用户名称密码查询 private String query(String account,String password){ } }

// 查询参数

String queryString = \// url

String url = HttpUtil.BASE_URL+\// 查询返回结果

return HttpUtil.queryStringForPost(url);

8) 定义login()方法,该方法调用query()方法,获得查询结果,并将查询结果通过SharedPreferences()保存到XML配置文件,一边在后面程序的点餐中使用用户信息。Login()方法调用saveUserMsg()方法将用户信息保存到配置文件中。

// 将用户信息保存到配置文件 private void saveUserMsg(String msg){ // 用户编号 String id = \ // 用户名称 String name = \ // 获得信息数组 String[] msgs = msg.split(\ int idx = msgs[0].indexOf(\

15

id = msgs[0].substring(idx+1); idx = msgs[1].indexOf(\ name = msgs[1].substring(idx+1); // 共享信息 SharedPreferences pre = getSharedPreferences(\MODE_WORLD_WRITEABLE); SharedPreferences.Editor editor = pre.edit(); editor.putString(\ editor.putString(\ editor.commit(); }

9) 为登录的按钮添加监听器,在onClick()方法中,首先调用validate()方法进行验证,如果验证通过在调用login()方法,如果登陆成功,系统将进入主菜单界面否则提示登录失败。如果验证事失败提示失败信息,请求用户重新输入。

loginBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(validate()){ if(login()){ Intent intent Intent(LoginActivity.this,MainMenuActivity.class); startActivity(intent); }else{

}

} }

= new

showDialog(\用户名称或者密码错误,请重新输入!\

10) 为取消按钮添加单击监听器,在onClick()方法中

调用finish()方法结束该Activity。

cancelBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } });

16

11) 运行结果如图3-1.1

图3-1.1

2. 登陆模块服务器端实现

后台的服务器实现采用JDBC访问后台数据库,Servlet响应HttpRequest请求,并返回响应结果。 要完成登录模块服务器实现需要如下步骤。 1) 创建一个名称为“WirelessOrder-Server”的Web工程。

2) 创建程序需要的包结构。Dao包用于放置采用DAO设计模式的实现访问数据库接口及其实实现类,entity包用于放置对应数据库表的实体类;servlet包用于放置Servlet类;filter包用于放置过

17

滤器;until包是工具类。其内容如图3-2.1所示 3) 创建访问数据库工具类DBUtil,该类的主要功能打开和关闭数据库连接。为了程序更具有可扩展性,我们将配置信息保存到配置文件当中,这样可以在不修改程序的前提下一直数据库。DBUtil工具类内容如下所示。

4) 创建用于封装UserTbl类信息的实体Usr类

package com.amaker.util;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; /** *

* @author hz.guo * 数据库工具类 */

public class DBUtil {

/*

* 关闭数据库连接 */

public void closeConn(Connection conn){ } /*

* 打开数据库连接 */

public Connection openConnection() {

18

try { }

conn.close();

e.printStackTrace(); } catch (SQLException e) {


Android实训-江延妞—07(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:某煤矿瓦斯抽放设计说明书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: