1. 程式人生 > >android studio中存放json檔案,獲取assets檔案下下檔案,獲取本地json檔案並解析

android studio中存放json檔案,獲取assets檔案下下檔案,獲取本地json檔案並解析

轉自http://blog.csdn.net/yanxiaosa/article/details/70859927

以前看過這些知識,今天用到的時候,發現自己忘記了,都不知道assets資料夾在哪個目錄下。百度了一下,assets目錄和java目錄是同一個級別的。 
我們右擊assets目錄新建File,起名”dynamic.json”,然後我們在檔案中寫一些json資料:

{"dynamic":[
  {
    "username":"燕瀟灑",
    "createTime":"04-23 13:12",
    "commentNum":"45",
    "content":"喔喔喔",
    "headIcon":"http://img2.imgtn.bdimg.com/it/u=1576185143,2361770572&fm=214&gp=0.jpg"
, "images":"http://img4.imgtn.bdimg.com/it/u=3776739438,757564394&fm=214&gp=0.jpg", "level":"公告", "priseNum":"23" }, { "username":"徐金傑", "createTime":"04-23 13:12", "commentNum":"45", "content":"哩哩裡", "headIcon":"http://img4.duitang.com/uploads/item/201508/17/20150817142843_4smWc.jpeg"
, "images":"http://pic.58pic.com/58pic/13/70/90/29358PICQjG_1024.jpg", "level":"公告", "priseNum":"43" },{ "username":"宋亮亮", "createTime":"04-23 13:12", "commentNum":"23", "content":"咕咕咕", "headIcon":"http://img2.imgtn.bdimg.com/it/u=1576185143,2361770572&fm=214&gp=0.jpg", "images":"http://img1.3lian.com/2015/w7/85/d/21.jpg"
, "level":"重要", "priseNum":"12" }, { "username":"唐夢茹", "createTime":"04-23 13:12", "commentNum":"450", "content":"喵喵喵", "headIcon":"http://img4.duitang.com/uploads/item/201508/17/20150817142843_4smWc.jpeg", "images":"http://img4.imgtn.bdimg.com/it/u=3776739438,757564394&fm=214&gp=0.jpg", "level":"公告", "priseNum":"345" },{ "username":"米述林", "createTime":"04-23 13:12", "commentNum":"333", "content":"咪咪咪", "headIcon":"http://www.haopic.me/wp-content/uploads/2015/12/2015122808171644.jpg", "images":"http://img1.3lian.com/2015/w7/85/d/21.jpg", "level":"重要", "priseNum":"323" },{ "username":"馮大雙", "createTime":"04-23 13:12", "commentNum":"322", "content":"麼麼噠", "headIcon":"http://img.bitscn.com/upimg/allimg/c160120/1453262U560940-A5c.jpg", "images":"http://img1.3lian.com/2015/w7/85/d/21.jpg", "level":"重要", "priseNum":"222" },{ "username":"施偉", "createTime":"04-23 13:12", "commentNum":"12", "content":"啦啦啦", "headIcon":"http://www.haopic.me/wp-content/uploads/2015/12/2015122808171644.jpg", "images":"http://img1.hq2011.com/uploads/allimg/150131/0122205Y4-0.jpg", "level":"公告", "priseNum":"4" },{ "username":"宋佳利", "createTime":"04-23 15:45", "commentNum":"23", "content":"呵呵呵", "headIcon":"http://scimg.jb51.net/allimg/170330/2-1F3301636200-L.jpg", "images":"http://img1.3lian.com/2015/w7/85/d/21.jpg", "level":"公告", "priseNum":"12" },{ "username":"楊永剛", "createTime":"04-23 13:16", "commentNum":"12", "content":"嘻嘻嘻", "headIcon":"http://www.qqw21.com/article/UploadPic/2016-2/20162192155654059.jpg", "images":"http://img1.hq2011.com/uploads/allimg/150131/0122205Y4-0.jpg", "level":"公告", "priseNum":"1" },{ "username":"程森然", "createTime":"04-22 14:12", "commentNum":"22", "content":"哈哈哈", "headIcon":"http://img2.imgtn.bdimg.com/it/u=1576185143,2361770572&fm=214&gp=0.jpg", "images":"http://pic.58pic.com/58pic/13/70/90/29358PICQjG_1024.jpg", "level":"重要", "priseNum":"23" } ] }

那麼,怎麼讀到這些資料呢?使用系統的方法:

public static String getJson(String fileName,Context context) {
    //將json資料變成字串 
        StringBuilder stringBuilder = new StringBuilder();
        try {
        //獲取assets資源管理器
            AssetManager assetManager = context.getAssets();
            //通過管理器開啟檔案並讀取
            BufferedReader bf = new BufferedReader(new InputStreamReader(
                    assetManager.open(fileName)));
            String line;
            while ((line = bf.readLine()) != null) {
                stringBuilder.append(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return stringBuilder.toString();
    }

這個時候,如果我們要把字串轉換成Object的話:

JSONObject jsonObject = new JSONObject(str);

然後通過正常的轉換,獲取其中的JSONArray或者直接轉成物件:

//將讀出的字串轉換成JSONobject
 JSONObject jsonObject = new JSONObject(str);
 //獲取JSONObject中的陣列資料
 jsonArray = jsonObject.getJSONArray(arrName);

如果我們使用Gson解析的話:

Type listType = new TypeToken<List<SearchCompanyResultBean>>() {
        }.getType();
  //這裡的json是字串型別 = jsonArray.toString();
List<SearchCompanyResultBean> list = new Gson().fromJson(json, listType );

這裡我的實體類是SearchCompanyResultBean。 
通過Gson將json陣列轉換成list集合 
有了資料來源,然後在設定到ui上

相關推薦

android studio存放json檔案獲取assets檔案檔案獲取本地json檔案解析

轉自http://blog.csdn.net/yanxiaosa/article/details/70859927 以前看過這些知識,今天用到的時候,發現自己忘記了,都不知道assets資料夾在哪個目錄下。百度了一下,assets目錄和java目錄是同一個級別的。  我

android studio編輯的文字框EditText以及文字框輸入內容的獲取方法

 首先需要在佈局中加入如下內容,這樣一個文字框就有了 <EditText android:id="@+id/edit_text"//設定唯一的標識,呼叫時可通過id找到它 android:layout_width="match_pare

Android Studio的控制元件初始化疑問:build沒問題但執行模擬器時出現問題。錯誤程式碼:java.lang.RuntimeException: Unable to instant

在使用Android Studio,啟動模擬器時,出現如下錯誤:Logcat中的資訊如下:java.lang.RuntimeException:Unable to instantiate activityComponentInfo{com.example.dcyyw.appl

Android Studio匯入aar依賴時需要修改的檔案

需要在build.gradle檔案中新增如下紅色部分apply plugin: 'com.android.application' android { compileSdkVersion 27 defaultConfig { applicationId

開始AndroidAndroid studio 部分檔案目錄的含義與作用

Android studio 中部分檔案目錄的含義與作用 java MainActivity.java主檢視 res  資原始檔的配置檔案 layout 佈局檔案 AndroidManifest.xm

Android Studio新增整體的activity類檔案重新編譯後提示“程式包R不存在”解決

問題描述: 做新功能模組開發,新增兩個寫好的activity類檔案,資原始檔和jave都整合好了,最後 Rebuild Project的時候編譯的message裡面出現“程式包R不存在”提示 解決辦

Android Studio 的FindBugs插件使用輕松幫你發現Bug (轉)

程序員 roi 捕獲 cas inter 常量 接下來 多線程 ndb 在日常開發過程中難免會因為一時疏忽而留下一些Bug,這些Bug就是埋在程序裏的定時炸彈,如果不能及時鏟除就會導致程序的不穩定,異常或閃退的現象,從而導致用戶的體驗的下降。那麽怎麽才能找出這些埋在程序

Android Studio so、jar檔案的打包及使用

一 載入so檔案 平臺:windows  IDE :Android Studio  下載好ndk:下載地址  https://developer.android.com/ndk/downloads/index.html   第1步:新

AndroidJNI使用詳解(3)---Android StudioSO檔案生成

Android中JNI使用詳解(2)---Android Studio中SO檔案生成 上一篇寫到過在Android Studio中配置NDK環境地址:Android Studio中NDK環境配置 這篇文章講解在Android Studio中

Emulator 28.0.19 釋出Android Studio 的模擬器

   Emulator 28.0.19 在 Canary 和 Dev channel 都可用了,Emulator 是 Android Studio 中的模擬器。 主要更新如下: Fixed an issue in macOS 10.14+ where t

android studiosetContentView時R.layout 找不到已存在的佈局檔案

在res/layout 資料夾內已經寫好了佈局檔案:XXX_layout.xml,但是在activity裡寫setContentView(R.layout.……)的時候,不會提示XXX_layout,而且,自己手動填寫了XXX_layout,還會報錯,找不到該佈局檔案。查詢資料後,順利解決問題,隨手

Android Studio如何獲取sha1證書指紋資料debug.keystore

 無論是百度地圖還是高德地圖,都需要在相關的開放平臺上新增SHA1這一過程,那麼如何在Android studio上找到這個指紋證書呢?  方法如下:   1.在自己c盤目錄下找到debug.keystore檔案:      

Emulator 28.0.20 釋出Android Studio 的模擬器

   Emulator 28.0.20 stable 釋出了,此版本更新如下: Fixed freeze on snapshot load on Windows with certain models of Intel GPUs. Fixed unauthori

android studio編譯單個檔案

網上搜到比較全的是這個:https://blog.csdn.net/u011368551/article/details/51980678 另外關於gradle如何編譯單個檔案,參考 https://blog.csdn.net/xcookies/article/details/79238456,但

android studio修改快捷鍵以及實用的開發快捷鍵方便技巧

直接上圖,看了就明白: 1.開啟設定---->keymap 2.選擇哪個型別的快捷鍵,本人是eclipse過來的,還是沿用eclipse; 3.這裡是搜尋功能的地方,比如我要看程式碼格式化,就在這輸入“reformat code”,就會跳到具體的設定; 4.你只知道

Android studio檢視Device File Explorer使用sqlit3對資料庫進行操作

首先確保手機與電腦進行連線,手機屬於開發者模式。開啟Android studio找到view,點選view找到“Tool Windows ”,將滑鼠指向“Tool Windows”後找到"Device File Explorer".點選後就可以進行檢視。若想對其中的sqlit

Android獲取assets資料夾json資料Gson解析!

Json 資料如下{ "code": 200, "msg": "ok", "news": [ { "title": "空降美國的孩子", "content": "在壓力和青春期的情緒波動

Android Studio呼叫高於minSdkVersion版本API, 無提示 (Lint問題)開啟api版本檢測

一. 坑: 呼叫高於minSdkVersion版本的API時, AS無提示 ! 最近重構專案時用到了HandlerThread類, 程式碼中呼叫了此類的quitSafely()方法, 結果導致了下面的錯誤:   呼叫高版本api導致的crash.png 經過一番折騰,

如何在Android Studio設定*md檔案開啟方式

最近在Android Studio中寫一些Demo的時候,會順便在裡面建立一個.md檔案用來進行Demo筆記的書寫。然而Android Studio不帶有markdown預覽功能,所以我就琢磨如何在Android Studio中點選對應檔案時,自動開啟對應的編輯