Android开发日记(五)
从服务器端传递多个数据
先在服务器端设置cs文件
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace WebJSON.Controllers
{
public class adShowTitleController : Controller
{
DataInfo storedb = new DataInfo();
//
// GET: /JobDetails/ public JArray Index(int adid = int.MaxValue)
{ IEnumerable<ad> ads;
ads = storedb.ad.Where(u => u.adid < adid).OrderByDescending(u => u.adid).Take();
string json = JsonConvert.SerializeObject(ads);
return JArray.Parse(json);
} }
}
传递所有id小于所设置的最大值的json数组对象
然后在java客户端调用service方法取回这些json对象
在调用listItem方法用一个for循环设置所有listItem每层循环后加listItem.add(map);再生成一个新的listItem
listItem定义:ArrayList<HashMap<String, Object>> listItem;
SimpleAdapter listItemAdapter;
listItem = new ArrayList<HashMap<String, Object>>();
for (int i = 0; i < addetailsJsonArray.length(); i++) {
JSONObject lectureJsonObject = addetailsJsonArray.optJSONObject(i);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("lectureid", lectureJsonObject.optInt("adid"));
map.put("lecturetitle",lectureJsonObject.optString("adtitle").trim());
map.put("reporter", lectureJsonObject.optString("adman").trim());
map.put("lecturetime",lectureJsonObject.optString("addate").replace("T"," ").trim());
//.replace("T", " ").substring(0, 19));
//map.put("lecturesite", lectureJsonObject.optString("lecturesite").trim());
//map.put("campus",lectureJsonObject.optString("campus").trim());
//map.put("remark",lectureJsonObject.optString("remark").trim());
//map.put("depart", lectureJsonObject.optString("depart").trim());
//map.put("starttime", lectureJsonObject.optString("starttime").trim());
//lastLectureid=lectureJsonObject.optInt("id");
listItem.add(map);
// TODO Auto-generated method stub
listItemAdapter = new SimpleAdapter(this, listItem,// 数据源
R.layout.leturetitle_listview,// ListItem的XML实现
// 动态数组与ImageItem对应的子项
new String[] { "lectureid", "lecturetitle",
"reporter", "lecturetime"},
// ImageItem的XML文件里面的一个ImageView,两个TextView ID
new int[] { R.id.textView_lectureid,
R.id.textView_lecturetitle, R.id.textView_report,
R.id.textView_lecturetime });
listViewNewsMoreTitles.setAdapter(listItemAdapter);
Android开发日记(五)的更多相关文章
- 【Android开发日记】之入门篇(五)——Android四大组件之Service
这几天忙着驾校考试,连电脑都碰不到了,今天总算告一段落了~~Service作为Android的服务组件,默默地在后台为整个程序服务,辅助应用与系统中的其他组件或系统服务进行沟通.它跟Activity的 ...
- 【Android开发日记】之入门篇(七)——Android数据存储(上)
在讲解Android的数据源组件——ContentProvider之前我觉得很有必要先弄清楚Android的数据结构. 数据和程序是应用构成的两个核心要素,数据存储永远是应用开发中最重要的主题之一,也 ...
- 【Android开发日记】之入门篇(十二)——Android组件间的数据传输
组件我们有了,那么我们缺少一个组件之间传递信息的渠道.利用Intent做载体,这是一个王道的做法.还有呢,可以利用文件系统来做数据共享.也可以使用Application设置全局数据,利用组件来进行控制 ...
- 【Android开发日记】之入门篇(十一)——Android的Intent机制
继续我们的Android之路吧.今天我要介绍的是Android的Intent. 对于基于组件的应用开发而言,不仅需要构造和寻找符合需求的组件,更重要的是要将组件有机的连接起来,互联互通交换信息,才能够 ...
- 【Android开发日记】之入门篇(八)——Android数据存储(下)
废话不多说了,紧接着来讲数据库的操作吧.Come On! 提到数据存储问题,数据库是不得不提的.数据库是用来存储关系型数据的不二利器.Android为开发者提供了强大的数据库支持,可以用来轻松地构造基 ...
- 【Android开发日记】之入门篇(九)——Android四大组件之ContentProvider
数据源组件ContentProvider与其他组件不同,数据源组件并不包括特定的功能逻辑.它只是负责为应用提供数据访问的接口.Android内置的许多数据都是使用ContentProvider形式,供 ...
- 【Android开发日记】之入门篇(六)——Android四大组件之Broadcast Receiver
广播接受者是作为系统的监听者存在着的,它可以监听系统或系统中其他应用发生的事件来做出响应.如设备开机时,应用要检查数据的变化状况,此时就可以通过广播来把消息通知给用户.又如网络状态改变时,电量变化时都 ...
- 【Android开发日记】之入门篇(四)——Android四大组件之Activity
在Android中,无论是开发者还是用户,接触最多的就算是Activity.它是Android中最复杂.最核心的组件.Activity组件是负责与用户进行交互的组件,它的设计理念在很多方面都和Web页 ...
- 【Android开发日记】之入门篇(十四)——Button控件+自定义Button控件
好久不见,又是一个新的学期开始了,为什么我感觉好惆怅啊!这一周也发生了不少事情,节假日放了三天的假(好久没有这么悠闲过了),实习公司那边被组长半强制性的要求去解决一个后台登陆的问题,结果就是把 ...
- 【Android开发日记】之入门篇(十三)——Android的控件解析
Android的控件都派生自android.view.View类,在android.widget包中定义了大量的系统控件供开发者使用,开发者也可以从View类及其子类中,派生出自定义的控件. 一.An ...
随机推荐
- BZOJ 1040 ZJOI 2008 骑士 基环树林+树形DP
题目大意:有一些骑士.他们每个人都有一个权值.可是因为一些问题,每个骑士都特别讨厌还有一个骑士.所以不能把他们安排在一起.求这些骑士所组成的编队的最大权值和是多少. 思路:首先貌似是有向图的样子,可是 ...
- 【Docker】常用命令
1.查看正在运行的容器 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND ...
- KNOCKOUTJS DOCUMENTATION-绑定(BINDINGS)-自定义绑定
除了ko内建的绑定,还可以自定义绑定,灵活地封装复杂的行为使之可重用. 自定义绑定 注册自定义绑定 向 ko.bindingHandles添加一个子属性来注册一个绑定. ko.bindingHandl ...
- ocat 资源路径-时间控件
http://www.htmleaf.com/jQuery/Calendar-Date-Time-picker/201504251737.html
- HDUOJ---汉洛塔IX
汉诺塔IX Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- scanf/sscanf %[]格式控制串的用法(转)
scanf/sscanf %[]格式控制串的用法 scanf中一种很少见但很有用的转换字符:[...]和[ ^...]. #include<stdio.h> int main() { ch ...
- Linux中断 - GIC代码分析
一.前言 GIC(Generic Interrupt Controller)是ARM公司提供的一个通用的中断控制器,其architecture specification目前有四个版本,V1-V4(V ...
- 读书笔记5基于matplotlib画图
一.导入需要的模块 import numpy as np import matplotlib.pyplot as plt import seaborn as sns import scipy.stat ...
- datagrid,treegrid携带参数刷新示例
datagrid携带参数刷新: var queryParams = $("#datagridId").datagrid("options").queryPara ...
- Hadoop本地库介绍及相关问题解决方法汇总
1.hadoop本地库的作用是什么?2.哪两个压缩编码器必须使用hadoop本地库才能运行?3.hadoop的使用方法?4.hadoop本地库与系统版本不一致会引起什么错误?5.$ export HA ...