String name = etUsername.getText().toString().trim();
String password = etPassword.getText().toString().trim(); // 包装用户发送的用户数据
Member member = new Member(name, password); protocolHelper.setObject(member);
protocolHelper.setRequest(ProtocolHelper.REGISTER,ProtocolHelper.QUERY, member);
result = protocolHelper.sendRequestVO(); // 向服务端发送数据
if (result.size() > 0) {
response = result.get(0);
}// 根据服务端的相应信息进行相应判断
if (response != null) {
// 将用户名存在sharedPreferences
Editor namedata = sharedPreferences.edit(); namedata.putString(\,
etUsername.getText().toString().trim());namedata.commit(); // 将密码存在sharedPreferences
Editor passworddata = sharedPreferences.edit(); passworddata.putString(\,
etPassword.getText().toString().trim()); passworddata.commit(); // 登录成功,进入主界面 else // 登录失败,弹出错误信息
2. 系统注册:
当用户点击取消按钮时,界面会跳转回到登陆界面,当用户点击注册按钮时会跟服务器端的数据库进行连接,把用户所填的信息拼接发给服务器,服务器处理过后将数据插入到数据库中对应的表中。客户端实现注册代码如下:
bRegister.setOnClickListener(new OnClickListener() { public void onClick(View v) { // 获取用户输入数据
if(name.equals(\)||password.equals(\)||repassword.equals(\)){ }
//如果用户输入用户名或密码为空,则给出提示,用户名和密码不能为空 }else {//如果不为空则先放入HashMap中,再做密码输入是否一致的判断
// 判断输入的密码是否一致 if
(infoHashMap.get(\).equals( infoHashMap.get(\word\))) {
// 拼凑数据
data = \ + infoHashMap.get(\) + \ + \ + infoHashMap.get(\) +\ + \ + infoHashMap.get(\) + \ + \ + infoHashMap.get(\) + \
+ \ + infoHashMap.get(\);
Member member=new
Member(name,password,infoHashMap .get(\),number,address); protocolHelper.setObject(member); // 准备请求数据
protocolHelper.setRequest(ProtocolHelper.REGISTER,ProtocolHelper.INSERT, data); // 向服务端发送请求
response = protocolHelper.sendRequest(); // 判断响应信息,根据信息触发不同的事件
if (response.equals(\)) { // 跳转到主界面
} else // 以对话框的形式给出错误信息
} else // 以对话框的形式给出错误信息:密码必须一致
3. 浏览商品:
用户登陆成功或者选择游客登陆成功后,会直接进入到主界面,主界面的布局采用的是TabHost分页式布局,每一个Tab都对应一个Activity,通过addTab这个方法来添加Tab,这个控件让Android手机多个Activity共享一个界面,而且操作方便,简单,布局好看。
当用户选择菜单选项时,在其下面将列出从服务器端发送过来菜品简要信息数据,客户端想要看到这些数据必须对它进行一系列的处理,在此,本模块采用了ListView来显示菜品信息,ListView是以列表的形式来展示具体内容,并且能够根据数据的长度自适应的显示,要想ListView显示数据必须要为其添加适配器(Adapter),适配器分为很多种,有ArrayAdapter、SimpleAdapter、BaseAdapter等等,由于在该ListView中显示的数据比较多,而且还有图片信息等,所以在此采用BaseAdapter来构建适配器。
构建BaseAdapter核心代码:
// 菜单模块的自定义适配器。
class ProductAdapter extends BaseAdapter {
public View getView(int position, View convertView, ViewGroup parent){
ViewHolder viewHolder = null; // 如果convertView为空 则为其创建一个View
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(ctx); viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.listitem, null); // 获得listitem布局中的控件并添加到View上 convertView.setTag(viewHolder); }
// 如果convertView不为空 那么直接为其灌入数据
else { viewHolder = (ViewHolder) convertView.getTag(); } // 获得所有的数据并灌入convertView中
return convertView; }
} 4. 搜索商品:
相关推荐: