安装android studio和使用volley


个人之前一直以为android studio是ADT bundle中那个studio,理论上是的,不过windows上android studio是基于Eclipse的?估计是我下载的版本不对。今天单独下了mac版本的android studio,整个风格和eclipse完全不一样,人家是基于intellij的IDE开发出来的。android studio的下载地址在这里,苦逼的网络,只能从这里下了。

第一次打开android studio的时候会让你选择如何操作,比如新建android工程。和eclipse不同的是,android studio新建工程的时候可能会更新SDK。这里可能就陷入一个“死循环”,更新SDK需要代理网络,但是还没进入主界面……幸好在创建工程的界面菜单中可以设置网络,这样就可以继续创建工程了。

由于我今天想要尝试下volley,传说中的android网络库,但是在怎么把volley纳入自己工程上弄了好久。后来按照这篇文章的步骤打包,把volley.jar移动到当前工程libs目录中,添加为依赖后就可以用了。至于在苦逼的网络下如何git clone volley的库,可以考虑从volley的master分支上下载tgz包

下面才是如何使用volley的正题,个人分为以下几部分:

  • 常规使用
  • 取消任务
  • 单例

自定义RequestQueue和Request一般不大用到,有需要可以看这里的文章。下面主要说下常规使用。取消任务主要是一个方法RequestQueue#cancelAll,单例不是volley专属的内容,Java的单例模式一般人太熟悉了。

String url = "http://example.com";

StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {

    @Override
    public void onResponse(String response) {
        mTvMain.setText(response.substring(0, 100));
    }
}, new Response.ErrorListener() {

    @Override
    public void onErrorResponse(VolleyError volleyError) {
        mTvMain.setText("Error Occurred");
    }
});

mRequestQueue.add(request);

代码mRequestQueue是RequestQueue的实例。主要流程是创建Request之后加入RequestQueueQueue即可。Request除了StringRequest还有ImageRequest,JsonRequest等等。

最后放到模拟器上看看结果吧,比自己直接写AndroidHttpClient代码要方便很多。