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 ...
随机推荐
- oracle 批量更新表字段
(一) 将数字替换成汉字 第一步,去重查询 使用distinct关键字先对该字段值进行去重查询,看共有几种情况 --查询指定区间内表停诊字段的值 SELECT DISTINCT T.CLOSE_T ...
- jsp页面获取集合的长度
createTime--2016年10月12日16:20:02Author:Marydonjsp页面获取集合的长度 在jsp页面与js中不能通过${list.size}取列表长度,而是引入jstl ...
- 【BIRT】在页面上展示xxxx年xx月xx日
我们在做报表开发的时候经常会遇到一个问题,就是需要在报表上展示”xxxx年xx月xx日”这种日期,例如:需要在报表展示日期如下图: 我们现在数据库存储的日期是:20171231 那么我们如何转化为 这 ...
- 谷歌浏览器禁止window.close的问题
当一个窗口不是通过window.open或者window.showModalDialog打开的时候,调用JS的window.close() 谷歌浏览器会提示如下警告,并拒绝执行 Scripts may ...
- DB2的认证和授权
DB2 的安全性由两方面组成:认证和授权 1.认证 认证就是系统验证用户身份的过程.说的简单点,就是验证用户名和密码,因为DB2用户同时也是操作系统用户,所以,首先必须得到操作系统的认可.在默认情况下 ...
- 如何显示Firefox插件(Plugins)的完整路径并删除
在Firefox里面,插件firefox只提供禁用选项,无法直接卸载. 要卸载插件,可以按照下面的步骤: 1.在地址栏内,输入 about:config,回车:在过滤器那一栏输入 plugin.exp ...
- HDUOJ--Holding Bin-Laden Captive!
Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...
- Oracle子查询相关内容(包含TOP-N查询和分页查询)
本节介绍Oracle子查询的相关内容: 实例用到的数据为oracle中scott用户下的emp员工表,dept部门表,数据如下: 一.子查询 1.概念:嵌入在一个查询中的另一个查询语句,也就是说一个查 ...
- HIVE HBASE 整合
一直想将hbase 与hive整合在一起,因为公司项目工期一期紧似一期,故一直推后.还不知道推到什么时候呢. 今天尝试编译hive,看着官方文档.感觉非常easy: 1.svn co http://s ...
- (LeetCode)旋转数组
原体描写叙述例如以下: Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3 ...