Android开发日志 资源文件
本文为princehaku原创 已经参加 “首届 Google 暑期大学生博客分享大赛——2010 Android 篇”
如果您忘了我的地址 请使用google搜索 “Android开发日志”
之前的kvb..
因为有课表的数据..
只是做了小小的测试..
没想到直接把全部的html插入的话..
string会溢出..constant string too long
那就只好用资源文件了!
在android里面的资源文件定义是很方便的
只需要在资源文件夹加入即可
调用的方式如下
InputStream fs =this.getResources().openRawResource(R.raw.kb);
这个是我kvb的详细的例子..读取的kb.html是我的课表html文件..
/** * Copyright (c) 2010 princehaku * All right reserved. * Author princehaku * Site http://haku.hk * Created on : 2010-8-1, 22:31:48 */ package org.me.androidkvb; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import net._3haku.kvb.CourseTable.CourseTable; import net._3haku.kvb.util.Parser; /** * * @author princehaku */ public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); // ToDo add your GUI initialization code here TextView tv = new TextView(this); setContentView(tv); try { tv.setText("please wait"); InputStream fs =this.getResources().openRawResource(R.raw.kb); InputStreamReader read = new InputStreamReader (fs,"gb2312"); BufferedReader in = new BufferedReader(read); String kbhtml="";//FileInputStream fs; tv.setText("step1"); int i=0; while(in.ready()&&i++<1000) { kbhtml +=in.readLine(); } fs.close(); CourseTable Tb=Parser.parseTable(kbhtml); tv.setText("step2"); String res=Tb.getRowNums()+"周\r\n"+Tb.getCoursesNums()+"个课程\r\n"; tv.setText(res); } catch (Exception ex) { tv.setText(ex.getMessage()); } } }
关于i那个地方…
之前没有加..一直不知道是什么原因..
加i是限制读取的长度..
虽然说只读取了1k行..
但是还是不得行…
总共有2800+行…
算了..解析放服务器上去..
就让手机解析XML文件..然后生成日程把!
哇
princehaku
3 8月 10 at 11:04 下午