Android新浪星座運勢プログラム開発

2722 ワード

时には退屈で新浪网に行って新浪星座の运势を见て、自分もAndroidクライアントを书くつもりです.まず簡単に、その日の星座運だけを表示するつもりです.あとは先週、月、年などを加えることができます.開発されたスタイルは大体このようなもので、前半の左右に2つのbuttonが星座を切り替えることができ、もちろんタッチパネルで左右にスライドすることもできます.2つのbuttonの間には、星座の名前、星座が置かれている日付範囲、運勢が有効な時間、健康指数、商談指数、幸運の色、速配星座など、星座の情報が表示されます.次のセクションでは、星座の運勢の詳細な説明を示します.前の自分で作った効果図:
このアプリケーションは簡単で、主に星座の運勢のurlに基づいてホームページの内容を取得し、返されたソースコードを分析し、必要な文字列を切り取ります.アプリケーションに表示されるすべての文字は、新浪の運勢から来ています.次に、テキストを取得する主なコードを示します.

try {
			HttpClient hc = new DefaultHttpClient();
			HttpGet hg = new HttpGet(url);
			HttpResponse hr = hc.execute(hg);
			if (hr.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
				String strResult = EntityUtils.toString(hr.getEntity());
				String str1="  :";
				String str2="";
				for (int i = 0; i < strResult.length(); i++) {
					if (strResult.charAt(i) == '<' && strResult.substring(i, i + 6).equals("<span>")) {		
						str1 = str1 + strResult.substring(i + 6, i + 9) + "
:" + strResult.substring(i + 13, getEnd(strResult, i+13)); } if (strResult.charAt(i) == ' ' && strResult.substring(i, i + 4).equals(" ")) { str1 = str1 + "
:" + strResult.substring(i+5, getEnd(strResult, i+6)); } if(strResult.charAt(i)==' ' && strResult.substring(i, i + 4).equals(" ")) { str1 = str1 + "
:" + strResult.substring(i+12, getEnd(strResult, i+12)); } if(strResult.charAt(i)==' ' && strResult.substring(i, i + 4).equals(" ")) { str1 = str1 + "
:" + strResult.substring(i+12, getEnd(strResult, i+12)); } if(strResult.charAt(i)==' ' && strResult.substring(i, i + 4).equals(" ")) { str1 = str1 + "
:" + strResult.substring(i+12, getEnd(strResult, i+12)); } if(strResult.charAt(i)==' ' && strResult.substring(i, i + 4).equals(" ")) { str1 = str1 + "
:" + strResult.substring(i+12, getEnd(strResult, i+12)); } if(strResult.charAt(i)=='l' && strResult.substring(i, i + 8).equals("lotconts")) { int end = i+10; while (strResult.charAt(end) != '<') { end++; } str2 = str2 + strResult.substring(i+10, end); break; } } viewLuck.setText(str1); viewContent.setText(str2); } } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }