您的位置:首页 > 移动开发 > Android开发

Android开发中遇到的坑

2016-03-15 16:43 190 查看

1、权限问题

错误现象:

java.lang.SecurityException: ConnectivityService: Neither user 10075 nor current process has android.permission.ACCESS_NETWORK_STATE.

但是明明在AndroidManifest.xml中有添加

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


解决方法:

将权限添加到标签
application
外层,如下。个人属于菜鸟,大神看不见。。。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
</application>


2、JSON数据解析问题

错误现象:

在执行
JSONArray jsonArray = new JSONArray(jsonData);
抛异常

E = org.json.JSONException: Value {"error_code":0,"result":[{"data1":{"time":"15:50:03","bankConversionPri":"650.7900","fBuyPri":"649.5200","name":"美元","mSellPri":"652.1200","mBuyPri":"644.3100","fSellPri":"652.1200","date":"2016-03-15"},"data19":{"time":"15:50:03","bankConversionPri":"158.5600","fBuyPri":"162.1100","name":"林吉特","mSellPri":"null","mBuyPri":"null","fSellPri":"163.2500","date":"2016-03-15"},"data4":{"time":"15:50:03","bankConversionPri":"5.7170","fBuyPri":"5.7321","name":"日元","mSellPri":"5.7723","mBuyPri":"5.5552","fSellPri":"5.7723","date":"2016-03-15"},"data5":{"time":"15:50:03","bankConversionPri":"928.9000","fBuyPri":"924.2100","name":"英镑","mSellPri":"930.7100","mBuyPri":"895.6900","fSellPri":"930.7100","date":"2016-03-15"},"data17":{"time":"15:50:03","bankConversionPri":"13.9200","fBuyPri":"13.8500","name":"菲律宾比索","mSellPri":"14.3900","mBuyPri":"13.4300","fSellPri":"13.9700","date":"2016-03-15"},"data2":{"time":"15:50:03","bankConversionPri":"721.7200","fBuyPri":"720.3800","name":"欧元","mSellPri":"725.4400","mBuyPri":"698.1500","fSellPri":"725.4400","date":"2016-03-15"},"data18":{"time":"15:50:03","bankConversionPri":"434.1300","fBuyPri":"430.7500","name":"新西兰元","mSellPri":"436.3700","mBuyPri":"417.4600","fSellPri":"433.7700","date":"2016-03-15"},"data3":{"time":"15:50:03","bankConversionPri":"83.8700","fBuyPri":"83.6900","name":"港币","mSellPri":"84.0100","mBuyPri":"83.0200","fSellPri":"84.0100","date":"2016-03-15"},"data8":{"time":"15:50:03","bankConversionPri":"18.5700","fBuyPri":"18.5100","name":"泰国铢","mSellPri":"19.2300","mBuyPri":"17.9300","fSellPri":"18.6500","date":"2016-03-15"},"data9":{"time":"15:50:03","bankConversionPri":"472.3100","fBuyPri":"470.6300","name":"新加坡元","mSellPri":"473.9300","mBuyPri":"456.1000","fSellPri":"473.9300","date":"2016-03-15"},"data6":{"time":"15:50:03","bankConversionPri":"488.4200","fBuyPri":"484.8400","name":"澳大利亚元","mSellPri":"488.2400","mBuyPri":"469.8800","fSellPri":"488.2400","date":"2016-03-15"},"data7":{"time":"15:50:03","bankConversionPri":"490.2000","fBuyPri":"486.2700","name":"加拿大元","mSellPri":"490.1700","mBuyPri":"471.2500","fSellPri":"490.1700","date":"2016-03-15"},"data21":{"time":"15:50:03","bankConversionPri":"19.8400","fBuyPri":"null","name":"新台币","mSellPri":"20.5400","mBuyPri":"19.1600","fSellPri":"null","date":"2016-03-15"},"data12":{"time":"15:50:03","bankConversionPri":"96.8700","fBuyPri":"96.5300","name":"丹麦克��","mSellPri":"97.3100","mBuyPri":"93.5500","fSellPri":"97.3100","date":"2016-03-15"},"data20":{"time":"15:50:03","bankConversionPri":"0.5464","fBuyPri":"0.5448","name":"韩国元","mSellPri":"0.5697","mBuyPri":"0.5251","fSellPri":"0.5492","date":"2016-03-15"},"data11":{"time":"15:50:03","bankConversionPri":"659.0100","fBuyPri":"656.5900","name":"瑞士法郎","mSellPri":"661.2100","mBuyPri":"636.3300","fSellPri":"661.2100","date":"2016-03-15"},"data10":{"time":"15:50:03","bankConversionPri":"77.9600","fBuyPri":"77.6700","name":"瑞典克朗","mSellPri":"78.2900","mBuyPri":"75.2700","fSellPri":"78.2900","date":"2016-03-15"},"data16":{"time":"15:50:03","bankConversionPri":"81.3400","fBuyPri":"81.2700","name":"澳门元","mSellPri":"84.2000","mBuyPri":"78.5400","fSellPri":"81.5800","date":"2016-03-15"},"data15":{"time":"15:50:03","bankConversionPri":"9.2900","fBuyPri":"9.1600","name":"卢布","mSellPri":"9.2400","mBuyPri":"8.6000","fSellPri":"9.2400","date":"2016-03-15"},"data14":{"time":"15:50:03","bankConversionPri":"41.8900","fBuyPri":"41.3500","name":"南非兰特","mSellPri":"44.8200","mBuyPri":"38.1800","fSellPri":"41.6500","date":"2016-03-15"},"data13":{"time":"15:50:03","bankConversionPri":"76.7900","fBuyPri":"76.1600","name":"挪威克朗","mSellPri":"76.7800","mBuyPri":"73.8100","fSellPri":"76.7800","date":"2016-03-15"}}],"reason":"SUCCESSED!","resultcode":"200"} of type org.json.JSONObject cannot be converted to JSONArray


解决方法:



JSONArray jsonArray = new JSONArray(jsonData);


改成

JSONObject jsonObj = new JSONObject(jsonData);


一开始都是JSONObject,里面 result就是JSONArray

String result = jsonObj.getString("result");


然后再执行

JSONArray jsonArray = new JSONArray(result);


就可以了。

原来[{},{}] 这样的才是数组,输入的不是数组数据,所以就报异常了。大神还是看不见。。。

3、数据库中float类型字段存储问题

问题现象

我的数据是:



然后在数据库中创建了float字段,存储后显示如下:



哇,这是什么情况,存进去的明明是保留了四位有效数字的,却显示了很多位,难道是保留有效数字的位数不对,网上各种找保留有效数字的方法,结果徒劳。。。

解决方法

原来这正是因为浮点数特殊的存储方式造成的。网上找到一篇oracle建立float字段的博文,大神对使用float字段很是气愤。。。

http://www.itpub.net/thread-1278788-1-1.html

我还是暂时不用这么高难度的东东了。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: