0

URI Builder クラスを使用して、この URL http://image.tmdb.org/t/p/w185//qjn3fzCAHGfl0CzeUlFbjrsmu4c.jpgを構築してい ます。

これが私のコードです:

       `final String TMDB_results = "results";
        final String TMDB_title = "original_title";
        final String TMDB_poster = "backdrop_path";

        JSONObject moviesJson = new JSONObject(moviesJsonStr);
        JSONArray resultArray = moviesJson.getJSONArray(TMDB_results);

        String[] resultnameStrs = new String[resultArray.length()];
        String[] resultposterStrs = new String[resultArray.length()];
        for (int i = 0; i < resultArray.length(); i++) {

            String moviename;
            String movieposter;

            // Get the JSON object in which movie title is there
            JSONObject movietitle = resultArray.getJSONObject(i);
            moviename = movietitle.get(TMDB_title).toString();
            movieposter = movietitle.get(TMDB_poster).toString();

            //Poster URL Builder
            Uri posterbuiltUri = Uri.parse("http://image.tmdb.org/t/p/w185/").buildUpon()
                    .appendPath(movieposter).build();
            String PosterUrl = posterbuiltUri.toString();

            resultposterStrs[i] = PosterUrl;
            resultnameStrs[i] = moviename;
        }

しかし、構築中の URL は http://image.tmdb.org/t/p/w185/%2Fqjn3fzCAHGfl0CzeUlFbjrsmu4c.jpgです。

これは、データを取得する JSON 文字列の一部です。

{"page":1,"results":[{"adult":false,"backdrop_path":"/kvXLZqY0Ngl1XSw7EaMQO0C1CCj.jpg","genre_ids":[28,12,878],"id":102899,"original_language":"en","original_title":"Ant-Man","overview":"Armed with the astonishing ability to shrink in scale but increase in strength, con-man Scott Lang must embrace his inner-hero and help his mentor, Dr. Hank Pym, protect the secret behind his spectacular Ant-Man suit from a new generation of towering threats. Against seemingly insurmountable obstacles, Pym and Lang must plan and pull off a heist that will save the world.","release_date":"2015-07-17","poster_path":"/D6e8RJf2qUstnfkTslTXNTUAlT.jpg","popularity":54.222073,"title":"Ant-Man","video":false,"vote_average":6.9,"vote_count":1859},.......

「/」は「%2F」にエンコードされていると思います。それを止める方法はありますか?

これを再評価する助けをいただければ幸いです。

4

2 に答える 2

1

appendPath/画像パスから文字をエンコードしています-%2Fエンコードされた(別名URLセーフ)代替として表示される可能性があります。ここで最も手っ取り早いのは、最初のスラッシュをすばやく削除することです (これにより、ベース URL と画像 URL パスからの二重スラッシュも防止されます)。

Uri posterbuiltUri = Uri.parse("http://image.tmdb.org/t/p/w185/").buildUpon() .appendPath(movieposter.replace("/","").build();

于 2015-12-08T22:31:24.027 に答える
0

そこに余分な「/」があります。代わりにこれをエンコードします。

http://image.tmdb.org/t/p/w185/qjn3fzCAHGfl0CzeUlFbjrsmu4c.jpg

于 2015-12-08T22:29:24.590 に答える