折腾了一天终于把安卓开发环境弄好了,从开始想使用 VS20199 + C#/C++开发,弄了一上午,还是出现了莫名其妙的问题,再加上这个环境下开发的人又很少,也不知道如何解决,最终还是放弃了。后面采用 Android Studio 后就很顺利的,随便找个流程,照着操作一般就没什么问题,后面打开项目后可能会出现一个有关网络的问题。
具体是Unknown host 'd29vzk4ow07wi7.cloudfront.net'. You may need to adjust the proxy settings in Gradle.
把 build.gradle 中的两个 jcenter() 用 maven{ url "http://maven.aliyun.com/nexus/content/groups/public/"} 代替,然后等待下载安装完成就好了。
开这个项目,目前是想做一个古文阅读的app,等我把安卓开发的基础知识过一遍就来更新。
更新
虽然安卓的基础知识还没怎么弄明白,还是靠这自己的底子,硬着头皮给写出来了。对我来说,最难的部分应该就是对Android项目结构还不熟,所以对项目的实现方式就会变的很粗暴。。。
界面
这个项目里主要的需要实现的东西不多。基本上最重要的就是UI了。
- 需要一个主要的文本显示区,用来可以切换的显示文章,注释,译文等。
- 需要几个按钮,可以切换文本显示区显示的内容。
- 需要一个目录,用来选择书籍的章节。
内容
内容方面主要的就是把爬虫获取的文章通过某种方式处理,格式化,可以让我们可以方便的显示在文本区。
对于爬虫的详细内容可以看小说网站爬虫,这篇文章中的标题2
。
private String[][] ReadBook() {
String[][] book=new String[81][4];
StringBuilder termsString = new StringBuilder();
BufferedReader reader;
int ch_num=-1;
int temp=0;
try {
reader = new BufferedReader(
new InputStreamReader(getAssets().open("daodejing.txt"),"UTF-8"));
String str;
while ((str = reader.readLine()) != null) {
str=str.replaceAll(" ","");
if(str.length()>0)
{
if(str.equals("【原文】"))
{
ch_num++;
temp =0;
book[ch_num][temp]="第"+String.valueOf(ch_num+1)+"章"+'\n';
}
else if(str.equals("【注释】"))
{
temp=1;
}
else if(str.equals("【译文】"))
{
temp=2;
}
else if(str.equals("【解析】"))
{
temp=3;
}
else if(str.equals("【导读】"))
{
temp=2;
}
if(book[ch_num][temp]==null)
book[ch_num][temp]=str+'\n';
else
book[ch_num][temp]+=str+'\n';
}
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
return book;
}
以上就是处理的方式,对内容处理完成后,把它们按照约定设置在文本显示区就完成了。
成品
丑是丑了点,主要想做的功能算是完成了。
目录