博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
指尖上的Android之实战篇(四)
阅读量:4212 次
发布时间:2019-05-26

本文共 4514 字,大约阅读时间需要 15 分钟。

希望童鞋可以看一下我关于服务器端的一些说明:

接下来,就开发我们的客户端开发之旅吧

首先关于图片资源,可以到我的相册中下载:相册名

一、用户登录:

这个功能分两篇博客

1.布局:login.xml

 

2用到的字符串stings.xml

Hello World, Login!
AuctionClient
欢迎使用591拍卖系统
用户账号:
用户密码:
登录
取消
添加
竞价
浏览竟得物品
您参与竞标的物品
浏览流拍的物品
您当前的拍卖的物品
系统的所有的物品种类
请选择一个物品种类
当前种类的物品
物品名:
物品种类:
物品描述:
赢取价格:
最高竞价:
物品备注:
起拍价格:
有效时间:
结束时间:
竞标价格:
竞标时间:
竞标人:
添加物品种类
添加拍卖物品
种类名称:
种类描述:
物品详情
您的竞价:

3. arrays.xml

查看竞得物品
浏览流拍物品
管理物品种类
管理物品
浏览拍卖物品
查看自己的竞标
一天
二天
三天
四天
五天
一个星期
一个月

4.colors.xml

#FFFFFFFF
#00000000
#FF9ed913
#A0cfef83
#bbb

5.dimens.xml

20dip
30px
20px

 

5 用户登录的Activity:Login.java 

package com.infy.auction.client;import java.util.HashMap;import java.util.Map;import org.json.JSONObject;import com.infy.auction.client.util.DialogUtil;import com.infy.auction.client.util.HttpUtil;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class Login extends Activity {	private static final String TAG = "Login";	// 定义界面中的两个文本框	EditText etName;	EditText etPass;	// 定义界面中的两个按钮	Button bnLogin;	Button bnCancel;	/** Called when the activity is first created. */	@Override	public void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.login);		// 获取界面中的两个编辑文本框		etName = (EditText) findViewById(R.id.userEditText);		etPass = (EditText) findViewById(R.id.pwdEditText);		// 获得界面中的两个按钮		bnLogin = (Button) findViewById(R.id.bnLogin);		bnCancel = (Button) findViewById(R.id.bnCancel);		// 为bnCancal按钮的单击事件绑定监听器		 bnCancel.setOnClickListener((OnClickListener) new FinishListener(this));		bnLogin.setOnClickListener(new OnClickListener() {			@Override			public void onClick(View v) {				// TODO Auto-generated method stub				// 进行输入检验				if (validate()) {					// 如果登录成功					if (loginPro()) {						Intent intent = new Intent(Login.this, Main.class);						startActivity(intent);						// 结束该Activity						finish();					}				}			}		});	}	// 定义内部类	private class FinishListener {		public FinishListener(Login login) {			// TODO Auto-generated constructor stub			etName.setText("");			etPass.setText("");		}	}	// 登录验证	public boolean loginPro() {		// 获取用户名和密码		String username = etName.getText().toString().trim();		String pwd = etPass.getText().toString().trim();		JSONObject jsonObj;		try {			Log.i(TAG, "Login---");			jsonObj = query(username, pwd);			Log.i(TAG, "Login--->" + jsonObj.getString("userId"));			// 如果userid大于0			if (jsonObj.getInt("userId") > 0) {				return true;			}		} catch (Exception e) {			DialogUtil.showDialog(this, "服务器响应异常,请稍后再试", false);			e.printStackTrace();		}		return false;	}	// 对用户名、密码进行检验	private boolean validate() {		String username = etName.getText().toString().trim();		if (username.equals("")) {			DialogUtil.showDialog(this, "用户账户是必填项", false);			return false;		}		String pwd = etPass.getText().toString().trim();		if (pwd.equals("")) {			DialogUtil.showDialog(this, "用户密码不能为空!", false);			return false;		}		return true;	}	// 定义发送请求的方法	private JSONObject query(String username, String password) throws Exception {		// 使用MAP封装请求参数		Map
map = new HashMap
(); map.put("user", username); map.put("pass", password); // 定义发送请求的URL、 String url = HttpUtil.BASE_URL + "servlet/LoginServlet"; // 发送请求 return new JSONObject(HttpUtil.postRequest(url, map)); }}

 

最后,给出登录的效果图:

 

转载地址:http://pszmi.baihongyu.com/

你可能感兴趣的文章
第一次炒股小记
查看>>
《redis in action》ZSet相关命令
查看>>
《redis in action》redis发布订阅
查看>>
《redis in action》sort排序命令
查看>>
《redis in action》redis事务
查看>>
《redis in action》key的自动过期
查看>>
《redis in action》redis持久化简介
查看>>
《redis in action》redis快照
查看>>
《redis in action》Redis aof持久化
查看>>
《redis in action》开启aof日志
查看>>
CS224N研究热点2_Linear Algebraic Structure of Word Senses, with Applications to Polysemy(对于一词多义的向量表示研究)
查看>>
Java编程中,什么数据类型适合用来表示价格?
查看>>
ssh出错:sign_and_send_pubkey: signing failed: agent refused operation
查看>>
Zookeeper启动成功,但无法查看status
查看>>
OCFS2+ASM 的RAC安装文档
查看>>
Oracle RAC Failover 详解
查看>>
批处理 自动修改 IP 地址
查看>>
Oracle RAC LoadBalance
查看>>
v$sql,v$sqlarea,v$sqltext 和 v$sql_plan 说明
查看>>
ORA-31623 When Submitting a Datapump Job [ID 308388.1]
查看>>