折腾了一天终于把安卓开发环境弄好了,从开始想使用 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了。

  1. 需要一个主要的文本显示区,用来可以切换的显示文章,注释,译文等。
  2. 需要几个按钮,可以切换文本显示区显示的内容。
  3. 需要一个目录,用来选择书籍的章节。

内容

内容方面主要的就是把爬虫获取的文章通过某种方式处理,格式化,可以让我们可以方便的显示在文本区。
对于爬虫的详细内容可以看小说网站爬虫,这篇文章中的标题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;
    }

以上就是处理的方式,对内容处理完成后,把它们按照约定设置在文本显示区就完成了。

成品

丑是丑了点,主要想做的功能算是完成了。

目录

cat
cat

原文

cat

注释

cat

译文

cat

解析

cat