之前用 python ,现在临时学 android 写应用,觉得 java 好死板啊。一个 http post json 请求, python 几行的事, java 20 行才只是完成 http 部分... json 解析又得好多行...

2015-02-23 14:46:20 +08:00
 gamexg
HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost(url);

            try {
                httppost.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");

                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4);
                nameValuePairs.add(new BasicNameValuePair("*", *));
                nameValuePairs.add(new BasicNameValuePair("*", *));
                nameValuePairs.add(new BasicNameValuePair("*", *));
                nameValuePairs.add(new BasicNameValuePair("*", *));
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs,HTTP.UTF_8));

                HttpResponse response;
                String result = null;
                response = httpclient.execute(httppost);


                if (response.getStatusLine().getStatusCode() == 200) {

                    HttpEntity entity = response.getEntity();
                    result = EntityUtils.toString(entity, HTTP.UTF_8);
                }
                Log.i(TAG, "result:" + result);
                return result;


            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
6147 次点击
所在节点    程序员
27 条回复
funky
2015-02-23 14:49:15 +08:00
易读性与代码长度的取舍。
njulzp
2015-02-23 14:54:31 +08:00
用 c 试试
Mirana
2015-02-23 14:55:06 +08:00
用继承或者代理模式
xudshen
2015-02-23 14:59:01 +08:00
请自行搜索library再来吐槽
lincanbin
2015-02-23 15:04:23 +08:00
不封装怪谁啊?
像大学生初学C语言,会花个几百行来实现一个introsort,你说python一行sort就实现了然后把C语言批判一番?
Rocko
2015-02-23 15:05:01 +08:00
你这是在走路,请找个代步工具。
mthli
2015-02-23 15:17:44 +08:00
gamexg
2015-02-23 15:47:12 +08:00
retrofit 看着更厉害。

感谢大家,先离开下,回来后细看。
fashioncj
2015-02-23 17:22:07 +08:00
这个也就是一次完成的东西。
fankay
2015-02-23 17:46:42 +08:00
你可以试试okhttp
sandideas
2015-02-23 17:56:08 +08:00
@lincanbin C也有qsort
wdlth
2015-02-23 18:18:39 +08:00
表面上你用Python是几行,但是Python实现这个功能得写多少行?这是前人栽树,后人乘凉。
Troevil
2015-02-23 18:23:41 +08:00
java 封装完不也是一两行的事
MASAILA
2015-02-23 18:29:27 +08:00
http://loopj.com/android-async-http/
我比较喜欢用这个
kzzhr
2015-02-23 18:42:45 +08:00
首先要学会java程序员的思维。。。

不是想黑,只是说一下场景下的区别:
我们现在需要一个把一个单词转大写
C程序员:枚举修改就好了
Java程序员:找包啊!
我们现在需要排个序
C程序员:快排分分钟搞定
Java程序员:找包啊!
zhengkai
2015-02-23 20:10:02 +08:00
Java 是典型的码农语言,就是主要为了给管事的看的,而不是为了给干活的写的

偶尔饭后闲扯,有同事是精通 Java、能从字节码 debug 的,跟我说,你敢说我大 Java 不好?!我说这个语言,要是让二三十个人去写,你定义好接口,那二三十个人填空,你肯定觉得 Java 是非常好的语言,但大部分写 Java 的都是那二三十个人里头的,我之前在一个公司呆过几个月,那里大部分人都是干了很多年对日外包,说他们的工作量可以精确到小时的,在我看来这真的是流水线的工人,干了好多年,还什么都不知道,只会填空。同事听完想了想,说从你这个角度说是对的
pandada8
2015-02-23 20:26:28 +08:00
@kzzhr Python: 内置啊(笑
petercai
2015-02-23 20:32:06 +08:00
有个玩意儿叫Jython
msg7086
2015-02-23 21:39:17 +08:00
@pandada8 Ruby: →_→
lch21
2015-02-23 21:52:29 +08:00
当年学X Window编程,200多行开了个窗口,打印了一行Hello world,激动得热泪盈眶

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/172307

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX