欢欢的成长历程:安卓篇2(DefaultHttpClient)

来源:互联网 发布:分家奇门排盘软件 编辑:程序博客网 时间:2024/04/29 00:47

登陆框顺利的写完了,在模拟器上测试也没问题。

第三天该进行实机测试了!

奇怪,为什么实机测试每次走到:

HttpClient httpClient = new DefaultHttpClient();HttpPost httpPost = new HttpPost(url);   HttpResponse httpResponse = httpClient.execute(httpPost);
这里就会抛出异常呢?

原来之前这个项目是基于android2.3.3写的。然而在android4.0中HTTP传输要写在子线程中才行,既然知道了问题那么对代码稍加修改。

 new Thread(new Runnable(){<span style="white-space:pre"></span>public void run(){<span style="white-space:pre"></span>try {<span style="white-space:pre"></span>HttpClient httpClient = new DefaultHttpClient();<span style="white-space:pre"></span>HttpPost httpPost = new HttpPost(<span style="font-family: Arial, Helvetica, sans-serif;">url</span><span style="font-family: Arial, Helvetica, sans-serif;">);   </span>HttpResponse httpResponse = httpClient.execute(httpPost);if (httpResponse.getStatusLine().getStatusCode() == 200){ <span style="white-space:pre"></span>...
<span style="white-space:pre"></span><pre name="code" class="java"><span style="white-space:pre"></span>}} catch (Exception e) { e.printStackTrace();<span style="white-space:pre"></span> } }}).start();

重新实机测试,问题完美解决。

那么接下来就该打包项目了,很简单吗,只要生成个秘钥再打包就可以了。

那么具体该怎么做呢?

要先配置环境变量

右键计算机-->属性-->高级系统设置-->高级-->环境变量  然后如图设置


keytool.exe和jarsigner.exe 都要配置(注意改路径,不是每个人的路径都一样)

然后运行 cmd

先 CD C:\Program Files\Java\jdk1.8.0_31\bin 然后  keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore

然后输入密码,注意此处就算输入了也不会显示* 哦


居然拒绝访问!这是怎么回事!?

经过度娘才知道原来是C盘权限的原因,既然知道了那么改一下输出路径不经好了吗?

把 keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore 

改成 keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore D:\key\android.keystore


完美解决了!

既然有了秘钥,那么接下来。

右键点击项目–->Export -->Android-–>Export Signed Application  然后一路Next 



最后Finish,打包完成,明天就是周末了,终于可以好好休息下了。

未完待续...


0 0