2015高职院校移动互联网应用软件开发赛准备小结

1.系统设计(略)

2.程序排错(略)

3.功能编码(可以整理)

Ui布局 (简单的 拖动布局)

网络通信(JSON)

正常流程:根据接口去http请求,得到JSON,发送Handler, 接收数据反映到界面。

通用的post请求

/**
	 * 通用的post请求
	 *
	 * @param url
	 *            接口地址
	 * @param params
	 *            传参数和值的map集合
	 * @return json 字符串
	 */
	public static String generalPost(String url, Map<String, String> params) {
		HttpPost request = new HttpPost(url);
		// 创建HTTP POST请求
		try {
			JSONObject jsonRequest = new JSONObject();
			if (params != null) {
				for (String key : params.keySet()) {
					jsonRequest.put(key, params.get(key));
				}
			}
			// map-->json-->stringentity
			StringEntity se = new StringEntity(jsonRequest.toString());
			request.setEntity(se);
			HttpResponse httpResponse = new DefaultHttpClient()
					.execute(request);
			String retSrc = EntityUtils.toString(httpResponse.getEntity());
			return retSrc;
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (ParseException e) {
			e.printStackTrace();
		} catch (JSONException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return "";
	}
/**
	 * 通用JSON解析
	 *
	 * @param jsonString   JSON数据
	 *
	 * @param keyString  返回key
	 *
	 * @return
	 */
	public String backJson(String jsonString, String keyString) {
		String val = null;
		try {
			JSONObject jsonResponse = new JSONObject(jsonString);
			val = jsonResponse.getString(keyString);
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return val;
	}

内容推送(Notification)

/**
	 * 在状态栏显示通知
	 *
	 * 加权限 <uses-permission android:name="android.permission.VIBRATE" />
	 *
	 */
	private void showNotification() {
		// 创建一个NotificationManager的引用
		NotificationManager notificationManager = (NotificationManager) this
				.getSystemService(android.content.Context.NOTIFICATION_SERVICE);

		// 定义Notification的各种属性
		Notification notification = new Notification(R.drawable.ic_launcher,
				"测试系统", System.currentTimeMillis());
		// FLAG_AUTO_CANCEL 该通知能被状态栏的清除按钮给清除掉
		// FLAG_NO_CLEAR 该通知不能被状态栏的清除按钮给清除掉
		// FLAG_ONGOING_EVENT 通知放置在正在运行
		// FLAG_INSISTENT 是否一直进行,比如音乐一直播放,知道用户响应
		notification.flags |= Notification.FLAG_ONGOING_EVENT; // 将此通知放到通知栏的"Ongoing"即"正在运行"组中
		notification.flags |= Notification.FLAG_NO_CLEAR; // 表明在点击了通知栏中的"清除通知"后,此通知不清除,经常与FLAG_ONGOING_EVENT一起使用
		notification.flags |= Notification.FLAG_SHOW_LIGHTS;
		// DEFAULT_ALL 使用所有默认值,比如声音,震动,闪屏等等
		// DEFAULT_LIGHTS 使用默认闪光提示
		// DEFAULT_SOUNDS 使用默认提示声音
		// DEFAULT_VIBRATE 使用默认手机震动,需加上<uses-permission
		notification.defaults = Notification.DEFAULT_LIGHTS;
		// 叠加效果常量
		// notification.defaults=Notification.DEFAULT_LIGHTS|Notification.DEFAULT_SOUND;
		notification.ledARGB = Color.BLUE;
		notification.ledOnMS = 5000; // 闪光时间,毫秒

		// 设置通知的事件消息
		CharSequence contentTitle = "测试系统标题"; // 通知栏标题
		CharSequence contentText = "测试系统内容"; // 通知栏内容
		Intent notificationIntent = new Intent(MainActivity.this,
				MainActivity.class); // 点击该通知后要跳转的Activity
		PendingIntent contentItent = PendingIntent.getActivity(this, 0,
				notificationIntent, 0);
		notification.setLatestEventInfo(this, contentTitle, contentText,
				contentItent);

		// 把Notification传递给NotificationManager
		notificationManager.notify(0, notification);
	}

	// 删除通知
	private void clearNotification() {
		// 启动后删除之前我们定义的通知
		NotificationManager notificationManager = (NotificationManager) this
				.getSystemService(NOTIFICATION_SERVICE);
		notificationManager.cancel(0);

	}

数据图表展现(折线图)

android画图 常用的是第三方常用的开源类库,例子:点击打开链接, 非常简单好用。但是估计比赛时,不一定会给开源jar包,所以得自己画图,比较复杂 例子:点击打
           开链接

本地数据库(Sqlite)

//打开或创建test.db数据库
			SQLiteDatabase db = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);
			db.execSQL("DROP TABLE IF EXISTS person");
			//创建person表
			db.execSQL("CREATE TABLE person (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age SMALLINT)");
			//实体类
			Person person = new Person();
			person.name = "john";
			person.age = 30;
			//插入数据
			db.execSQL("INSERT INTO person VALUES (NULL, ?, ?)", new Object[]{person.name, person.age});
			//添加、更新和删除
//			db.executeSQL(String sql);
//			db.executeSQL(String sql, Object[] bindArgs);//sql语句,然后第二个参数是实际的参数集
			//查询数据
			Cursor c = db.rawQuery("SELECT * FROM person WHERE age >= ?", new String[]{"33"});
			while (c.moveToNext()) {
				int _id = c.getInt(c.getColumnIndex("_id"));
				String name = c.getString(c.getColumnIndex("name"));
				int age = c.getInt(c.getColumnIndex("age"));
				Log.i("db", "_id=>" + _id + ", name=>" + name + ", age=>" + age);
			}
			c.close();

			//关闭当前数据库
			db.close();
时间: 2024-10-26 13:42:24

2015高职院校移动互联网应用软件开发赛准备小结的相关文章

2015年高职院校单独招生改革名单

据江苏对口高考网报道:为贯彻落实国务院<关于深化考试招生制度改革的实施意见>,加快推进高职院校分类考试,深化高职院校单独招生(以下简称“高职单招”)改革,促进我省高等职业教育考试招生制度的逐步建立和完善,提升高职院校生源质量和办学水平,根据教育部有关文件精神,结合我省实际,2015年我省进一步扩大高职院校单独招生改革试点院校范围,共有37所高职院校参加改革试点.      1.已参加2015年普通高考报名,且符合相关院校高职单招报名条件的高级中等教育学校毕业生均可报考,考生的学业水平必修科目测

使用.NET进行高效率互联网敏捷开发的思考和探索【一、概述】

不知从什么时候开始,创业变得很廉价,谈什么都是互联网,动辄融资千万.这阵风好像也刮向了程序员中,有那么一大批开发者,数据结构不好好学习.数据库原理不扎实掌握,在github上发布几个项目,用nodejs创建一些服务,再用H5写出APP,就自以为迈入了高级程序员的队伍,能够运筹帷幄互联网项目,难道学习新技术.新理念就是快速成长吗,显然不完全是,在这浮躁的氛围中,各种粗制滥造的互联网网站.APP接踵而至,很多看似漂亮的APP,连简单的http接口安全都没有措施应对,很多美丽的响应式网站,目录结构随意

2015年10个最佳Web开发JavaScript库

2015年10个最佳Web开发JavaScript库 现在的互联网可谓是无所不有,有大量的JavaScript项目开发工具充斥于网络中.我们可以参考网上的指导来获取构建代码项目的各种必要信息.如果你是搞Web开发的,那么大多更喜欢支持前端开发的JavaScript.此脚本语言使用相对比较容易,并能为网站和Web应用创造了有趣的用户界面.下面是10个最佳的可用于Web项目开发的JavaScript库. 1. IO.js: IO.js是一个以Chrome V8  runtime为引擎的JavaScr

高职院校软件技术专业程序设计课程体系探索(一)

邹韬奋先生在<职业教育研究>中说,"总言之,职业教育乃准备能操一技之长,从事有益于社会之生产事业,籍以求适当之生活,乃教育中之一方面".我同意这种观点.所以我觉得高职院校软件技术专业的培养目标应当是"培养具有扎实程序设计.实现.调试能力,掌握一项软件开发技能,有一定实践经验与理论基础的具备较高综合素质的软件开发与运维人才".其中的核心是"程序设计.实现.调试能力".所以问题的核心是如何培养这项能力. 在我学习程序设计,还有观察周边小伙

江苏37所高职院校试点单招

江苏对口高考网据,江苏省教育考试院消息,2015年江苏省进一步扩大高职院校单独招生改革试点院校范围,今年新增苏州卫生职业技术学院.苏州经贸职业技术学院和金肯职业技术学院.至此,江苏共有37所高职院校参加改革试点. 已参加2015年普通高考报名,且符合相关院校高职单招报名条件的高级中等教育学校毕业生均可报考,考生的学业水平必修科目测试成绩须达到4C1合格(报考艺术类专业的考生,七门学业水平测试必修科目等级中D级不得超过三门,技术科目不合格视为D级);未参加普通高考报名或学业水平必修科目测试不符合报

互联网前端开发技术栈

互联网前端开发技术栈 前言 互联网建立60多年了,网站开发技术日新月异,但web前端始终离不开浏览器,最终还是HTML+JavaScript+CSS这3个核心,围绕这3个核心而开发出来大量技术框架/解决方案. 我从2000年初开始做网站开发,使用的技术不断迭代,一些消失了,更多的出现了. 最近写过  .NET技术大系概览 (迄今为止最全的.NET技术栈) ,相信很多网友感叹掌握的.NET技术远没有这个技术栈里面所描述的多. 问题 大家是否想过: Web前端开发究竟包含哪些技术呢? 我所掌握的技术

转:互联网产品开发流程

互联网产品开发流程 对于稍微大一点的互联网产品都要有精心部署和安排才行,否则项目进行的将会一塌糊涂.先说一说都有哪些岗位和开发所用的软件:PD(产品策划):word,visio,AxurePM(产品经理):EasyMindID(交互设计师):Axure, PhotoshopVD(视觉设计师):Phtotoshop, IllustratorWD(前端开发工程师):Photoshop, DreamweaverDEV(后端开发工程师):Dreamweaver, MyEclipse 再 说说MRD(Ma

看大师讲解移动互联网前端开发流程

你做过移动互联网开发吗?在移动互联网超级火爆的今天,你是否也想分的一杯羹呢,来这里看大师给你讲解如何完成一款app,本文的主旨在于讲解在app的制作流程. 今天完成了完全属于自己的一款安卓应用,整个流程都是我一个人跑下来的,感觉小有成就,名字叫"长见识了",是一款趣味答题类的游戏,题目各种火爆各种经典,下载地址,看似一个简单的答题小游戏却是五脏俱全,从开发流程上都进行了严格的规范,大家有空可以下载玩玩~ 该项目虽然比较简单,但是从项目需求分析到最后的开发测试上架流程都是完备了的. 一,

干货系列1:Java互联网网站开发工程师 的技术提高与晋升路线(技术专精)

前几天写了自己对于Java软件开发工程师职业发展规划方面的一些感悟,陆续收到一些反馈,希望我能再就Java工程师不同的开发(职责)方向谈谈职业发展问题.(上一篇:Java软件开发工程师的自我修养与晋升(B/S结构)下面就具体谈谈Java程序员的另一个职责方向:Java互联网开发工程师 Java互联网开发工程师的主要岗位职责是: 负责网站平台的系统设计.数据库设计.代码开发,以及技术攻关的工作. 职业发展道路基本有3条: 第一条路线(技术专精): 初级Java开发---中级--高级---项目主管-