从零开始搭建android App 日志(1)

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>() {
            @Override

            public 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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值