zoukankan      html  css  js  c++  java
  • Android docs4.3API

    查找在线课程,加速进入Android docs API,最主要的原因是网上加载js文件速度慢,另一种是装google字体缓慢!


    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileFilter;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Map;
    import java.util.UUID;
     
    public class AndroidDoc {
     
        private static final String ANDROID_SDK_HOME = "ANDROID_SDK_HOME";
         
        private static final String TAG = "<script src="http://www.google.com/jsapi" type="text/javascript"></script>";
         
        //private static final String TAG = "<link rel="stylesheet"";
         
        //private static final String TAG = "href="http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic,bold" title="roboto">";
        private static String androidSDKHome;
     
        public static void main(String[] args) {
            Map<String, String> map = System.getenv();
            androidSDKHome = map.get(ANDROID_SDK_HOME);
            if (androidSDKHome != null) {
                System.out.println("Detected the Android SDK Installation path:"
                        + androidSDKHome);
                File docs = new File(androidSDKHome + "\docs");
                System.out.println("It will take several minutes, please wait...");
                traverse(docs);
                System.out
                        .println("Operation Down!!! Now you can visit Android Doc without waiting...");
            } else {
                System.out
                        .println("Please configure the Android SDK Environment variable (ANDROID_SDK_HOME)!");
            }
        }
     
        /**
         * 遍历Android SDK安装文件夹下的docs文件夹
         *
         * @param dir
         */
        private static void traverse(File dir) {
            if (dir.isDirectory()) {
                File[] files = dir.listFiles(new FileFilter() {
     
                    @Override
                    public boolean accept(File file) {
                        if (file.isFile() && file.getName().endsWith(".html")) {
                            BufferedReader reader = null;
                            try {
                                reader = new BufferedReader(new FileReader(file));
                                String buffer;
                                while ((buffer = reader.readLine()) != null) {
                                    if (buffer.trim().equalsIgnoreCase(TAG)) {
                                        return true;
                                    }
                                }
                            } catch (Exception e) {
                                e.printStackTrace();
                            } finally {
                                try {
                                    reader.close();
                                } catch (IOException e) {
                                    e.printStackTrace();
                                }
                            }
                        } else if (file.isDirectory()) {
                            return true;
                        }
                        return false;
                    }
                });
                for (File file : files) {
                    if (file.isDirectory()) {
                        System.out.println("Scanning Folder:"
                                + file.getAbsolutePath());
                        traverse(file);
                    } else {
                        doChange(file);
                    }
                }
            }
        }
     
        /**
         * 凝视html中的某行Javascript代码
         *
         * @param file
         * @return
         */
        private static boolean doChange(File file) {
            System.out.println("Extracting File:" + file.getAbsolutePath() + "...");
            String desPath = file.getParent() + "\" + UUID.randomUUID().toString() + ".html";
            File des = new File(desPath);
            BufferedReader reader = null;
            BufferedWriter writer = null;
            try {
                des.createNewFile();
                reader = new BufferedReader(new FileReader(file));
                writer = new BufferedWriter(new FileWriter(des));
                String buffer;
                while ((buffer = reader.readLine()) != null) {
                    if (buffer.trim().equalsIgnoreCase(TAG)) {
                        buffer = "<!--" + TAG + "-->";
                    }
                    writer.write(buffer + "
    ");
                    writer.flush();
                }
                return true;
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    reader.close();
                    writer.close();
                    file.delete();
                    des.renameTo(file);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return false;
        }
     
    }

    直接编译执行。凝视的三行。三行代表替换三次

    载入慢原因有两个一个是载入Google的字体,二个是载入Google的JS文件.

    假设感觉麻烦直接去的我网盘下载,地址:http://pan.baidu.com/s/1eQd4gEm


    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    Design Patterns(十):Decorator PatternVB代码
    Design Patterns(九):Composite PatternVB代码
    理解AJAX
    【Excel】取括号之间的数值
    Design Patterns(八):Bridge PatternVB代码
    【SQLSERVER】导入导出Access
    理解SOA
    Design Patterns(六):Prototype PatternVB代码
    Design Patterns(十二):Flyweight PatternVB代码
    Design Patterns(十一):Facade PatternVB代码
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4906704.html
Copyright © 2011-2022 走看看