| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1285 人关注过本帖
标题:android项目也能和WCF搞激情
只看楼主 加入收藏
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
结帖率:80.91%
收藏
 问题点数:0 回复次数:14 
android项目也能和WCF搞激情
由于工作需要从.net转到了android开发 android涉及到通信 于是想把以前学习的wcf rest和这个结合起来 闲话少说于是开工
首先我先写一个wcf rest服务  上图
图片附件: 游客没有浏览图片的权限,请 登录注册


搜索更多相关主题的帖子: android 激情 项目 开发 
2015-03-27 11:25
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-03-27 11:26
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-03-27 11:27
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:0 
好写了几个DEMO方法 主要是get 和post 至此服务端大功告成 由于和anroid通信数据最主要是json  
打开eclipse

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-03-27 11:28
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-03-27 11:29
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:0 
程序代码:
 Runnable runnable = new Runnable() {
        @Override
        public void run() {

            // 该部分是传参并更新控件
            Message msg = new Message();
            msg.what = -1;
            // 发送消息到Handler
            CommonData app = (CommonData)getApplication();
            HttpPost request = new HttpPost(app.getLoginaddress());// wcf地址
            request.setHeader("Accept", "application/json");
            request.setHeader("Content-type", "application/json");

            // 构造json
            JSONStringer vehicle;
            try {
                // Message为方法参数名字
                vehicle = new JSONStringer().object().key("user").object().key("UserName")
                        .value(edittext_user_username.getText().toString().trim()).key("PassWord")
                        .value(edittext_user_pwd.getText().toString().trim()).endObject()
                        .endObject();
                // 向WCF服务发送请求
                StringEntity entity = new StringEntity(vehicle.toString(), "UTF-8");
                request.setEntity(entity);//
             
                DefaultHttpClient httpClient = new DefaultHttpClient();
                // 请求超时
                httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
                // 读取超时
                httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 20000);
                HttpResponse response = httpClient.execute(request);
                if (response.getStatusLine().getStatusCode() != 200) {
                    // 加载失败界面
                    msg.what = 1;
                } else {

                    BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity()
                            .getContent()));
                    String line = "";

                    while ((line = rd.readLine()) != null) {
                        Integer integer = Integer.valueOf(line.replaceAll("\\D+", "")
                                .replaceAll("\r", "").replaceAll("\n", "").trim());
                        if (integer > 0) {
                            //保存登录用户ID
                            app.setUserid(integer.toString());
                           
                      
                        } else {
                            msg.what = 0;
                            Log.d("****passworderror****", "passworderror");
                        }
                    }
                }
               
               
            

            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();

                msg.what = 1;
            } finally {
                if (msg.what == -1) {
                    msg.what = 101;
                }
                handler.sendMessage(msg);
            }

        }
    };

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-03-27 11:30
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:0 
涉及到了java代码了 其实和c#语法是类似的
主要代码块都已经注释了 和c#引用rest服务 如出一辙


[ 本帖最后由 wangnannan 于 2015-3-27 11:34 编辑 ]

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-03-27 11:31
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-03-27 11:32
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:0 
程序代码:
HttpClient client = new DefaultHttpClient();
                HttpGet request = new HttpGet(app.getMenuaddress() + "/" + app.getUserid());

                HttpResponse response = client.execute(request);
                HttpEntity responseEntity = response.getEntity();
                char[] mbuffer = new char[(int)responseEntity.getContentLength()];
                InputStream stream = responseEntity.getContent();
                InputStreamReader reader = new InputStreamReader(stream);
                reader.read(mbuffer);
                stream.close();

                JSONArray plates = new JSONArray(new String(mbuffer));
                String[] groups = new String[plates.length()];
                for (int i = 0; i < plates.length(); i++) {
                    JSONObject temp = (JSONObject)plates.get(i);
                    String value = temp.getString("Value");
                   
                    map.put(temp.getString("Value"),temp.getString("Trainid"));
                    //mapotid
                    mapotid.put(temp.getString("Value"),temp.getString("Otid"));
                   
                    groups[i] = String.valueOf(value);
                }
请求实体类的数据 主要代码如下

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-03-27 11:33
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2546
专家分:9359
注 册:2007-11-3
收藏
得分:0 
至此 android成功请求wcf json数据 测下下效率还不错

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2015-03-27 11:33
快速回复:android项目也能和WCF搞激情
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047533 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved