日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

个人技术博客

發布時間:2023/12/13 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 个人技术博客 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. Volley框架

在進行和服務器交互的時候需要發送請求,發現了volley這個好用易上手的框架。volley是一個異步網絡通信框架,它的優點在于輕量級、適用于量小但傳送頻繁的請求操作

搭建請求的第一步就是新建一個請求隊列
RequestQueue queue = Volley.newRequestQueue(this)
在后續通信過程中,可以把每次的請求都加入到請求隊列中,一次發送,減少資源的浪費,通常一個活動一個請求隊列就夠了。
每發送一條http請求,就需要創建一個請求對象,volley提供了StringRequest、JsonRequest、ImageRequest等針對不同格式請求的對象,完成請求的用法大同小異,都需要最基本的三步:
1. 創建一個RequestQueue對象
2. 創建一個request對象
3. 將request對象添加到RequestQueue隊列里去
以StringRequest為例,下面是它的基本結構
StringRequest stringRequest = new StringRequest("http://www.baidu.com", new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("TAG", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } });
但是在團隊項目中我們需要傳參數即要以post方式發送,并且約定發送和接收格式都是json,在嘗試用JsonRequest 的時候我還是遇到了一些問題:
1.新建JsonRequest對象的時候 需要實例化一個JSONObject對象然后作為參數傳進去,不能單純地將那個設為null
JSONObject jsonObject=new JSONObject(map); JsonObjectRequest jsonObjectRequest=new JsonObjectRequest(Request.Method.POST,"http://www.baidu.com", jsonObject, new Response.Listener<JSONObject>()

  • RequestQueue queue = Volley.newRequestQueue(this) 這個this指活動上下文,我在寫的時候寫成了getApplicationContext()雖然驗證無誤但是后來發現這個指整個app的上下文,如果簡單粗暴地這么寫容易在后續創建多個請求隊列時發生錯誤,于是改成了login1Activity.this 當前活動的 上下文。
  • 加入隊列后突然發現不知道它是什么時候發送這些請求的,然后看了源碼,發現在創建請求隊列的方法里封裝了start()函數,在外面再次寫start()也可能會出現錯誤。
  • 以json格式傳遞參數在這里顯得不是很友好,需要先將數據放入map對象,再將map對象轉為jsonObject對象(這里真是卡了好久...)
    Map<String,String> map=new HashMap<String, String>(); //以json串方式提交參數 map.put("phonenum",myName); map.put("password",myPwd); JSONObject jsonObject=new JSONObject(map);
  • 參考來源:
    http://blog.csdn.net/guolin_blog/article/details/17482095
    http://blog.csdn.net/nugongahou110/article/details/46876473

    二. 關于Android Studio

    額嗯,使用as的時候真是出現了無數的問題,開始很多都是因為gradle文件不同步導致的,解決過程中又因為很多時候的不仔細導致在上面耗了大量時間。
    導入項目卡死的話,最大的原因就是gradle文件不一致,這時最好的辦法:***
    條件不允許的話,可以到這個網站http://services.gradle.org/distributions/ 去下載對應的版本,然后放到如下的目錄C:\Users\用戶名\.gradle\wrapper\dists\gradle-2.10-all\a4w5fzrkeut1ox71xslb49gst
    (a4w5fzrkeut1ox71xslb49gst這個文件夾名稱因人而異)

    或者是將當前版本改為自己的gradle版本號
    這里有個簡單粗暴的方法就是將自己本地的一個項目里的和gradle有關的文件都替換掉要打開項目 的gradle文件 再導入項目,導入后會有提示下載一些工具只要按提示來即可

    還有一點是導入項目的時候要選擇build.gradle 打開,導入庫 的時候要選擇項目名稱打開,這一點雖然后來我在導項目的時候選擇名稱好像也沒什么問題。。。不太懂

    安裝完as后我的c盤就有點緊臟,額昂這里可以配置一下android studio的緩存文件夾,這里貼個教程 http://blog.csdn.net/qiujuer/article/details/44160127

    轉載于:https://www.cnblogs.com/zyccccla/p/7844179.html

    總結

    以上是生活随笔為你收集整理的个人技术博客的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。