首页 > 编程技术 > android

安卓中Picasso加载中文网址失败的解决方法

发布时间:2016-10-2 16:23

中文网址对于许多的地方是不兼容的但只要转换在uft8好像又可以解决了,下面来看一篇安卓中Picasso加载中文网址失败的解决方法,具体如下

写这篇博客之前,也是先感叹一下我水平的一般和思考问题方式的欠缺,这个博客的起因,是项目中遇到的一个问题,服务器返回给我一个带有中文的图片地址,一开始并没感觉到什么不对,因为我的手机可以去加载这样的图片,但是测评中心同事(以下简称T女士&她&T)将一个加载不出来图片的手机扔给我,我看了以下我的手机,很正常,所以我下意识的说,你这手机有问题吧,实际上,很多时候我们都会产生这样的想法,界内称之为”甩锅”。

我抱着T的手机有问题的心态,过了几天,但是BUG还是挂在debug平台上,我又不得不去查看原因(最起码找到原因,然后接着甩锅最好),我确实找到了原因,那就是服务器返回的网址,带有中文,可能部分手机无法去自动转码,所以,就加载不出来。接着,找到了原因,我又想把锅甩给客户,”让客户不要输入中文路径!”,现在想想,确实过分了。

以上是对我自己的批评,也是告诫一下同事们、同学们,遇到问题,可能你真的感觉这不是你的问题,你解决不了,但是其实,你不知道的领域内,解决这个问题的方法很多。

好了,废话说完了,接下来说这篇博客的重点:对中文字符串进行URL转码:

比如这个网址:/00-120片丽相如/150130145416383首图-150×125.jpg,在某些手机上是加载不出来的(原因不详),经过研究,转换为如下形式则可以加载出来:

/00-120%E7%89%87%E4%B8%BD%E7%9B%B8%E5%A6%82/150130145416383%E9%A6%96%E5%9B%BE-150×125.jpg

方法如下:

 代码如下 复制代码

public  static String utf8Togb2312(String str){
    String data="";
    try {
        for(int i=0;i<str.length();i++){
            char c=str.charAt(i);
            if(c+"".getBytes().length>1&&c!=':'&&c!='/'){
                data = data+java.net.URLEncoder.encode(c+"","utf-8");
            }else {
                data=data+c;
            }
        }
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }finally{
        System.out.println(data);
    }
    return  data;
}

下面这段代码的意义是:只对中文进行转码

 代码如下 复制代码

if(c+"".getBytes().length>1&&c!=':'&&c!='/'){
    data = data+java.net.URLEncoder.encode(c+"","utf-8");
}else {
    data=data+c;
}

WebView做一些打包网页app时会经常碰到一些问题,如小编碰到WebView加载有声音的网页时,退出时关闭声音,那么要如何来处理呢。

很简单的一句代码,但是不常用WebView的话,可能会忘记。在此标记一下,防止忘记,也给不知道的朋友提供帮助

webView.destroy();

在你需要销毁WebView的时候调用它。

当ListView里面有WebView,怎么办?

我有一个方法如下:

定义一个静态的List,泛型为WebView;

public static List<WebView>webs=new ArrayList<>();

在ListView的getView方法内,这样做:

webs.add(webview);

在你需要销毁WebView的地方,这样做:

for(int i=0;i< webs.size();i++){
webs.get(i).destroy();
}

分答app是一款可以让用户躺着都能赚钱的实用工具,与值乎不一样,这款软件使用付费问答的方式来获得报酬的,只要你的答案被采纳就会获得相应的报酬,下面我们来看看介绍。

分答是什么?分答付费规则是什么

分答付费规则是什么

分答的游戏规则:用户在分答上介绍自己擅长的领域,设置付费问答的价格,1元到500元之间,其他用户感兴趣就可以付费向其提问,回答必须是语音,时间限制在60秒内。而如果有人对这个问题的答案感兴趣,可以付费1元选择“偷听”,提问者与回答者都可以得到0.5元

分答偷听要多少钱

一般是需要用户花1元钱来选择偷听的,也就是说别人的问答你只需要花1元钱就可以偷听,点击播放了。比如图上王思聪的问答有1913人偷听,也就是说由1913人付费了一元,提问题的和被提问的用户也就获得了这1913元,王思聪单这个问题就截图上来说可以获得956.5元,而且还有更多人在偷听,也就是稳收利润。
腾讯企鹅汇图app安卓版是一款腾讯结合地图进行汇图赚钱的手机软件,企鹅汇图app为你带来了丰富的赚钱任务,那么企鹅汇图怎么玩呢,是不是真的可以赚钱呢?

企鹅汇图是真的吗?企鹅汇图赚钱靠谱吗?

企鹅汇图是什么软件?

企鹅汇图是一款采集类赚钱软件,产品以“汇聚你我,大有可图”为理念,用户通过完成领取的任务,上传后将会获得相应的报酬。企鹅汇图本次首发道路汇图模块,未来还会有更多模块加入,敬请期待。

企鹅汇图怎么玩?

企鹅汇图道路汇图模块主要是利用手机拍照记录道路信息。道路汇图的拍照功能采用程序定时自动拍照,用户开始执行任务后,中途自动拍摄,直至任务结束。

企鹅汇图怎么玩?企鹅汇图APP使用教程

企鹅汇图安全接入微信支付,用户提现后可在微信-我的钱包中收到奖励。

企鹅汇图应用界面简洁,操作简单方便,日常闲暇时、自驾旅途中,随手拍,顺手赚!

企鹅汇图是真的吗?

企鹅汇图是一款采集类赚钱软件,产品以“汇聚你我,大有可图”为理念,用户通过完成领取的任务,上传后将会获得相应的报酬。

企鹅汇图赚钱靠谱吗?

企鹅汇图道路汇图模块主要是利用手机拍照记录道路信息。道路汇图的拍照功能采用程序定时自动拍照,用户开始执行任务后,中途自动拍摄,直至任务结束。

企鹅汇图是真的吗?企鹅汇图赚钱靠谱吗?

企鹅汇图安全接入微信支付,用户提现后可在微信-我的钱包中收到奖励。

企鹅汇图是真的吗?企鹅汇图赚钱靠谱吗?

企鹅汇图是真的吗?企鹅汇图赚钱靠谱吗?

企鹅汇图应用界面简洁,操作简单方便,日常闲暇时、自驾旅途中,随手拍,顺手赚!

选择哪种方式进行赚钱?

在“企鹅汇图”软件有几个赚钱的途径,其中首先可以使用的是“道路汇图”模块,后续会继续开发其他模块。使用相应的模块,根据软件提示进行对应操作,进行任务。任务审核 通过,即可得到相应报酬。

企鹅汇图为什么没有苹果版?

企鹅汇图近期上线,目前仅支持安卓4.0以上系统,暂不支持iOS系统。苹果用户请耐心等待,如果苹果商城上线后,小编会第一时间通知大家的。

为什么要使用企鹅汇图软件?

使用“企鹅汇图”软件,在日常生活中(逛街、开车等情况下),只需打开软件随手拍照或记录信息,信息通过审核之后,就能赚到人民币。

企鹅汇图怎么注册账号?

当你成功下载安装企鹅汇图APP后,打开该软件,系统会自动提示你微信登录,所以企鹅汇图账号无需注册。
首次登录需用微信账号登录,登录后,需绑定手机号。
注:绑定手机号用途为发放费用及发送短信、颁发专属任务使用。

企鹅汇图怎么注册账号?企鹅汇图账号注册流程

企鹅汇图软件收费吗?

“企鹅汇图”软件本身完全免费。
在进入软件之后,根据软件提示进行手机验证。在验证完成之后,进入软件。
“企鹅汇图”软件使用过程中需要进行联网,其中产生的流量费用由对应运营商收取,具体标准请咨询当地运营商。
“企鹅汇图”软件使用过程中,需要对手机进GPS定位、拍照的操作。该数据为软件必须数据,且只会用作任务用途,不会用作他途。
标签:[!--infotagslink--]

您可能感兴趣的文章: