本系列文章提供简单Android应用开发实例方法,文章步骤如下所示:
1 获取应用所需的数据源
数据源一般来源于互联网、个人搜集或者其他方式
2 应用UI设计
每个应用软件都需要有一个简单的UI设计草图,便于开发者更好的实现编码
3 应用实现
实现完整的Android应用
特此说明:本系列文章的数据源均采用互联网方式获取,仅作为示例演示
应用介绍
提供各个高校历届的分数线录取查询功能,作为高考学子填写志愿的参考应用。最终效果图:
一、信息加载
1 从Assets中获取到学校信息,学校存储格式为:
1#10001#北京大学
1#10002#中国人民大学
1#10003#清华大学
1#10004#北京交通大学
其中1代表省份ID,10001代表学校ID,最后的为学校名称
我们新建FileUtils类,提供获取Assets下文件的方法:
public static List<String> loadFileContentForList(String filePath, Context ctx) throws IOException {
InputStream is = ctx.getAssets().open(filePath);
BufferedReader br = new BufferedReader(new InputStreamReader(is, "gbk"));
ArrayList<String> results = new ArrayList<String>();
String readLine = null;
while((readLine = br.readLine()) != null) {
results.add(readLine);
}
return results;
}
以上方法将文件中的数据按行加载到列表中,由于在保存数据源时保存为ASCII格式,所以此处采用gbk加载。
2 从网络中获取高校查询结果
采用Android自带的HttpClient进行实现,我们首先封装一个简单的HttpUtils处理类,提供httpGet请求方法:
/**
* 获取指定URL请求的结果信息,以字符串方式返回请求内容
* @param url 请求地址
* @param param 请求所需参数
* @return
*/
public static String httpGet(String url, HashMap<String, Object> param) {
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 5000);
HttpConnectionParams.setSoTimeout(httpParams, 5000);
HttpClient mHttpClient = new DefaultHttpClient(httpParams);
String mUrl = url;
if(param != null && param.size() > 0) {
StringBuilder sb = new StringBuilder();
sb.append(url);
sb.append("?");
for(Entry<String, Object> m : param.entrySet()) {
sb.append(m.getKey());
sb.append("=");
sb.append(m.getValue());