Android为TV端助力 比较完善json请求格式
public static String getHttpText(String url) {
		if (MyApplication.FOR_DEBUG) {
			Log.i(TAG, "[getHttpText1]" + url);
		}
		Log.i(TAG, "[getHttpText2]" + url);
		if (url == null || url.equals(""))
			return null;
StringBuilder builder = new StringBuilder(); 
		InputStreamReader isReader = null;
		HttpURLConnection conn = null;
		try {
			URL u = new URL(url);
			conn = (HttpURLConnection) u.openConnection();
			conn.setConnectTimeout(TIMEOUT);
			if (conn == null || conn.getResponseCode() != HttpURLConnection.HTTP_OK)
				return null;
			conn.connect();
			isReader = new InputStreamReader(conn.getInputStream());
			BufferedReader reader = new BufferedReader(isReader);
			String buffer;
			while ((buffer = reader.readLine()) != null) {
				builder.append(buffer);
			}
			reader.close();
			return builder.toString();
		} catch (Exception e) {
			Log.e(TAG, "getHttpText error: " + e.getMessage());
		} finally {
			if (isReader != null) {
				try {
					isReader.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if (conn != null) {
				conn.disconnect();
			}
		}
		return null;
	}
上面是json的请求方式,参数只需要传一个对应的服务器地址就行,下面是解析格式
String json = HttpUtils.getHttpText(
						Configs.getServerAddress(context)
						+ "/api.php/Message/getMessage"
						+ Configs.getRoomInfo(context));
				if (json == null || json.equals(""))
					continue;
try {
					JSONObject root = new JSONObject(json);
					if (root.getInt("status") != 0)
						return;
boolean gotMessage = false;
					JSONArray ja = root.getJSONArray("messageList");
					int len = ja.length();
					long now = System.currentTimeMillis();
					for (int i = 0; i < len; i++) {
						JSONObject jo = ja.getJSONObject(i);
						long deadline = jo.getLong("finish_time") * 1000;
						if (deadline <= now) continue;
						MarqueeContent content = new MarqueeContent();
						content.id = mMarqueeId++;
						content.deadline = deadline;
						content.text = jo.getString("content");
						mMarqueeList.add(content);
						gotMessage = true;
					}
					if (gotMessage) {
						context.sendBroadcast(new Intent(MarqueeView.GOT_MARQUEE_ACTION));
					}
					return;
				} catch (JSONException e) {
					e.printStackTrace();
				}
Android为TV端助力 比较完善json请求格式的更多相关文章
- Android为TV端助力 post带数据请求方式,传递的数据格式包括json和map
		
如下: public static String httpPost(String url, String json) { try { URL u = new URL(url); HttpURLConn ...
 - Android为TV端助力之解析序列话的JSON
		
解析json时报错default constructor not found. class............. 比如 public class MediaRepBean implements P ...
 - Android为TV端助力 转载:RecyclerView分页加载
		
package com.android.ryane.pulltoloaddata_recyclerview; import android.os.Handler;import android.os.L ...
 - Android为TV端助力(转载)
		
作者地址http://www.jianshu.com/u/63915ef020e2 针对Android Tv的自定义RecyclerView 作者 wenju_song 关注 2016.12.09 1 ...
 - Android为TV端助力 不需要Socket的跨进程推送消息AIDL!
		
上篇介绍了跨进程实时通讯http://www.cnblogs.com/xiaoxiaing/p/5818161.html 但是他有个缺点就是服务端无法推送消息给客户端,今天这篇文章主要说的就是服务器推 ...
 - Android为TV端助力之Webview与JS双向交互
		
package com.hhzt.iptv.adservice; import android.app.Activity;import android.graphics.Bitmap;import a ...
 - Android为TV端助力之WebView开发踩坑一
		
在Android清单配置文件里面 自定义application时,在4.4系统上面不能加上一个属性,见下图 否则界面将不会显示任何数据,在更高或者更低的系统上面没有测试!
 - Android为TV端助力:(转载)修改TextView字体样式
		
一.开篇 因为 Android 字体相关的内容还比较多的.有时候其实我们只需要调整一下属性就可以满足设计师的需求,或者是一个退后的方案(毕竟有发版的时间卡住了),有一些效果可以大概满足需求. 那么本文 ...
 - Android为TV端助力:UDP协议(接收组播和单播)
		
private static String MulticastHost="224.9.9.98";private static int POST=19999;private sta ...
 
随机推荐
- 解决使用display:inline-block时元素间隔问题
			
在写个人博客页时出现了一个百思不得其解的问题,不知道为什么出现以下情况: 可以看到,下面的a标签中出现了一个间隔,怎么都去不掉,查阅资料后发现,问题原因如下: 1.第一种解决办法,去掉HTML元素中的 ...
 - 1.numpy的用法
			
numpy创建ndarray对象的三种方法 1.1.list转化 In [8]: import numpy as np In [9]: a = [1,2,3,4] In [10]: x1 = np.a ...
 - sql server 高可用故障转移(5)
			
测试故障转移群集报告 在SQL-CL01(hsr 50)进行故障转移群集的创建,如图下图所示,在SQL-CL01和SQL-CL02的“服务器管理”中右键点击“功能”,选择“添加功能 勾选故障转移群集 ...
 - sql server 性能调优之 资源等待 LCk
			
一. 概述 这次介绍实例级别资源等待LCK类型锁的等待时间,关于LCK锁的介绍可参考 “sql server 锁与事务拨云见日”.下面还是使用sys.dm_os_wait_stats 来查看,并找出 ...
 - mysql 开发基础系列22 SQL Model
			
一.概述 与其它数据库不同,mysql 可以运行不同的sql model 下, sql model 定义了mysql应用支持的sql语法,数据校验等,这样更容易在不同的环境中使用mysql. sql ...
 - 如何一步步在生产环境上部署django和vue
			
本文由云+社区发表 本文主要讲述了如何一步步在生产环境上部署django和vue,操作系统默认为centos 说明:后文中出现的以下字符串均表示具体的路径或者名称,含义如下: DJANGO_DIR-- ...
 - spring-boot-2.0.3之quartz集成,最佳实践
			
前言 开心一刻 快过年了,大街上,爷爷在给孙子示范摔炮怎么放,嘴里还不停念叨:要像这样,用劲甩才能响.示范了一个,两个,三个... 孙子终于忍不住了,抱着爷爷的腿哭起来:爷呀,你给我剩个吧! 新的一年 ...
 - pxe+kickstart自动化批量安装系统详解-技术流ken
			
前言 pxe+kickstart是一款可以实现自动化批量安装系统的服务,比较经典,下面将详细介绍此服务的安装和使用. 系统环境准备 系统版本:CentOS release 6.7 (Final) 内网 ...
 - zepto的ready方法
			
zepto中的ready函数是作为$.fn的一个方法,即作为一个zepto对象的方法 readyRE = /complete|loaded|interactive/; ready: function( ...
 - Java编程思想——异常
			
1.异常对象的方法printStackTrace 作用是打印Throwable和Throwable的调用栈轨迹. 2.finally 不管抛没抛出异常,都会执行finally中的代码.前提是出异常的代 ...