初次开发Android APP遇到的几个问题及其解决

来源:互联网 发布:2016最新幸运28源码 编辑:程序博客网 时间:2024/05/17 07:52

先列出这几点,有时间再详细说明。


(1)MAC 上不能直接使用Android Studio里面的subversion。


Error: You have not agreed to the Xcode license. Please resolve this by running:

  sudo xcodebuild -license


既然这么说了,就:


$ sudo xcodebuild -license
Password:

然后让查看License文本,如下:



通过输入agree同意license文本后,设置AndroidStudio里面的Subversion就没有问题了。

(2)使用HttpURLConnection;而不是Httpclient.

(3)不让直接独占式使用网络,通过下面方式绕开了。为了快速测试,就临时先这样做。

        StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();        StrictMode.setThreadPolicy(policy);



(4)AndroidManifest.xml中要允许使用网络。加入如下句子:

<uses-permission android:name="android.permission.INTERNET" />


(5)Charset问题:

urlencodedParams = URLEncoder.encode(                            params,"UTF-8" //                           java.nio.charset.StandardCharsets.UTF_8.toString() //                           StandardCharsets.UTF_8.toString()//                            StandardCharsets.UTF_8.toString()                    );

(6)DigestUtils.md5Hex方法不存在的问题:


    //            String sign = DigestUtils.md5Hex(urlencodedParams.toLowerCase());                String sign = new String(Hex.encodeHex(DigestUtils.md5(urlencodedParams)));


(7)ObjectOutputStream  改成 DataOutputStream



DataOutputStream out = null;try {    out = new DataOutputStream(httpUrlConnection.getOutputStream());} catch (IOException e) {    e.printStackTrace();}try {    out.writeBytes(json);} catch (IOException e) {    e.printStackTrace();}try {    out.flush();} catch (IOException e) {    e.printStackTrace();}try {    out.close();} catch (IOException e) {    e.printStackTrace();}

(8)在Windows上运行虚拟Android时,提示网络不通。导入真正的手机后,就可以了。在MAC上,虚拟的Android手机就可以正常运行。


(9)在公司的Windows上运行Android Studio时,subversion提交特别慢,等refresh很长时间。在家里的MAC上,Android Studio里面的subversion提交就很正常。





0 0
原创粉丝点击