1.要制作一个app,首先你需要一个详细且完整的
需求规划说明书
2.确定自己需要使用的工具软件
我选择 android studio(客户端编辑) , visual studio(服务器端编辑) , sqlserver(数据库编辑)
3.一个移动应用软件(需要数据交互),我们得明确它与服务器端的数据交互模式;
在此我选择 谷歌的 volley 技术,详细参考
http://www.open-open.com/lib/view/open1407727047207.html
其中我选择 客户端选择普通的post提交,服务器端返回json数据
(1)在android studio中导入 Volley.jar包
(2)编写NormalPostRequest.java
public class NormalPostRequest extends Request<JSONObject> { private Map<String, String> mMap; private Response.Listener<JSONObject> mListener; public NormalPostRequest(String url, Response.Listener<JSONObject> listener,Response.ErrorListener errorListener, Map<String, String> map) { super(Request.Method.POST, url, errorListener); mListener = listener; mMap = map; } //mMap是已经按照前面的方式,设置了参数的实例 @Override protected Map<String, String> getParams() throws AuthFailureError { return mMap; } //此处因为response返回值需要json数据,和JsonObjectRequest类一样即可 @Override protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) { try { String jsonString = new String(response.data,HttpHeaderParser.parseCharset(response.headers)); return Response.success(new JSONObject(jsonString),HttpHeaderParser.parseCacheHeaders(response)); } catch (UnsupportedEncodingException e) { return Response.error(new ParseError(e)); } catch (JSONException je) { return Response.error(new ParseError(je)); } } @Override protected void deliverResponse(JSONObject response) { mListener.onResponse(response); } }
(3)客户端的数据传输(例子)
//要传输到服务器端的数据
Map<String, String> map = new HashMap<String, String>(); map.put("userNum", id); map.put("password", password); RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); Request<JSONObject> request = new NormalPostRequest("填写链接", new Response.Listener<JSONObject>() { @Overridepublic void onResponse(JSONObject response) {//访问成功之后 Intent intent=new Intent(Login.this,Main.class); Bundle bundle=new Bundle(); try { if(response.getBoolean("result")){ bundle.putString("userId",response.getString("userId")); intent.putExtras(bundle); startActivity(intent); Login.this.finish(); }else { Toast.makeText(getApplicationContext(),"用户名或密码错误",Toast.LENGTH_SHORT).show(); } } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) {//访问失败之后 Toast.makeText(getApplicationContext(),"登录失败,请重试",Toast.LENGTH_SHORT).show(); } }, map); requestQueue.add(request);(4)服务器端创建普通的三层架构
创建普通的web窗体
public void Login() {
//接受客户端的post传输数据 string num = Request.Form["userNum"]; string pwd = Request.Form["password"]; Model.Users model = um.Login(num); if (model != null) { if (pwd.Equals(model.password)) {
//返回到客户端的数据定义 Response.Write("{\"result\":true,\"userId\":"+model.usersId+"}"); } else { Response.Write("{\"result\":false}"); } } else { Response.Write("{\"result\":false}"); } }
这样,我们就完成了客户端和服务器端的数据交互,要查看效果的步骤
1.把Asp.net应用项目发布
2.在IIS服务中添加网站
3.把可以访问的网址填写到客户端的网址链接填写处
此博文为个人日志文档
欢迎大神给修改意见
邮箱 1159828111@qq.com