Android 小常识大全

关键字Android [JSON解析,]

代码都是测试过了的,小改一下就可以直接用

一:Json解析

//注意json格式
String str1="{"testKey":[{\"A\":123},{\"A\":1234},{\"A\":12345}]}";

JSONObject _J;
try {
_J = new JSONObject(str1);
JSONArray ja = _J.getJSONArray("testKey");
int num = ja.length();
for(int i=0;i<num;i++){
String a = ja.getJSONObject(i).getString("A");
System.out.println("A is:::"+a);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
结果

System.out A is:::123
System.out A is:::1234
System.out A is:::1235

对于JSON格式可能是这样的:注意格式!

String str2="[{\"A\":123},{\"A\":1234},{\"A\":12345}]";
解析方式为:

try {
  JSONArray ja = new JSONArray(str2);
  System.out.println("数组长度:"+ja.length());
    for(int i=0;i<ja.length();i++){
       JSONObject jo = (JSONObject)ja.opt(i); 
       double db = jo.getDouble("A");
       System.out.println("得到数据::"+db);
     }
} catch (JSONException e) {
// TODO Auto-generated catch block
  e.printStackTrace();
}

二:Android数组使用

声明=>初始化(必须知道数组长度来分配空间)

随便选个double测试类型

double lats[]=null;//声明

1) lats = new double[3];

2) lats = new double[]{1.1, 2.2, 3.3};//这样就打了个擦边球,在数据到来最后一刻初始化,数据无限添加,有点无限数组味道,和3异曲同工

new double[]{};//等于new double[0];//分配一个长度为0的空间

int m = data.length;//得到数据长度

3) lats = new double[m];

除了上面三种初始化方法,要想真正实现无限增长的数组,需使用List或是vector(关于这两个区别相信一堆人在讨论,随便找个链接)

现在就简单介绍一下List使用

List<Double> dd = new ArrayList<Double>();
        dd.add(12.31);
        dd.add(12.32);
        dd.add(12.33);

        dd.add(12.34);
        System.out.println("1 Length is::"+dd.size());//3


这样就不用有长度限制了,不用再厌烦outOfBounds了

更多操作说明

遍历 for(Iterator<A>    it    =    list.iterator();    it.hasNext();    )    {   // 并发 删除一个无素注意it.remove不能用list.remove(出错)/ 锁定,性能稍差
遍历 for(int    i=0;    i<list.size();    i++)    {   //内部不锁定,    效率高, 多线程时要考虑并发操作的问题

dd.clear() //清除所有数据

dd.isEmpty();//是不是无数据,为空的

dd.get(0);//得到第一个数据 //举一反三

dd.remove(1);//删除第2个元素,0为第一//删除后,后续索引跟进!取值get(1)时就是删除前的下一个元素!不这样,露个空子,还不出错啊,很合理

dd.lastIndexOf(12.34);//找12.34的这值,如有1个或多个,取最大索引!一定要注意数据类型,若写成"12.34"是字符串,将返回-1表示未找到!

dd.size();//这个dd总共有多少个数据呢

dd.toArray();//将list转成array,如果你更擅长操作数组的话

先就介绍这几个,更多的还没测试用到~多查查

三:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值