public static void main(final String[] args) { final File fileInputDir = new File("input"); if (!fileInputDir.exists() || !fileInputDir.isDirectory()) { return; } String columnMetadataText; final StringBuilder sb = new StringBuilder(); BufferedReader br; try { br = new BufferedReader(new FileReader(new File("res/column_metadata.txt"))); String line; while ((line = br.readLine()) != null) { sb.append(line).append("\n"); } columnMetadataText = sb.toString(); } catch (FileNotFoundException e) { e.printStackTrace(); return; } catch (IOException e) { e.printStackTrace(); return; } // For each file in the input folder for (File file : fileInputDir.listFiles()) { final String fileName = file.getName(); System.out.println("Generating code for " + fileName); final char[] buffer = new char[2048]; sb.setLength(0); final Reader in; try { in = new InputStreamReader(new FileInputStream(file), "UTF-8"); int read; do { read = in.read(buffer, 0, buffer.length); if (read != -1) { sb.append(buffer, 0, read); } } while (read >= 0); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return; } catch (FileNotFoundException e) { e.printStackTrace(); return; } catch (IOException e) { e.printStackTrace(); return; } final String content = sb.toString(); if (content.length() == 0) { System.out.println("file is empty."); return; } try { final JSONObject root = new JSONObject(content); final JSONObject jsonDatabase = root.getJSONObject("database"); // Classes generation String classPackage, classesPrefix, contentClassesPrefix, dbAuthorityPackage, providerFolder; int dbVersion; boolean hasProviderSubclasses; classPackage = jsonDatabase.getString("package"); classesPrefix = jsonDatabase.getString("classes_prefix"); contentClassesPrefix = jsonDatabase.optString("content_classes_prefix", ""); dbAuthorityPackage = jsonDatabase.optString("authority_package", classPackage); providerFolder = jsonDatabase.optString("provider_folder", PathUtils.PROVIDER_DEFAULT); dbVersion = jsonDatabase.getInt("version"); hasProviderSubclasses = jsonDatabase.optBoolean("has_subclasses"); ArrayList<TableData> classDataList = TableData.getClassesData(root.getJSONArray("tables"), contentClassesPrefix, dbVersion); // Database generation DatabaseGenerator.generate( fileName, classPackage, dbVersion, dbAuthorityPackage, classesPrefix, classDataList, providerFolder, hasProviderSubclasses); FileCache.saveFile( PathUtils.getAndroidFullPath( fileName, classPackage, providerFolder + "." + PathUtils.UTIL) + "ColumnMetadata.java", String.format(columnMetadataText, classPackage, providerFolder + "." + PathUtils.UTIL)); } catch (JSONException e) { e.printStackTrace(); return; } } }
public String getInternet(Context context, String site) { // The data that is retrieved String result = null; FileCache cache = new FileCache(context); File cacheFile = cache.getFile(site); String fileName = cacheFile.getAbsolutePath(); if (this.checkInternetConnection(context)) { if (!cache.verifyCache(fileName)) { try { // This assumes that you have a URL from which the response will come URL url = new URL(site); // Open a connection to the URL and obtain a buffered input stream URLConnection connection = url.openConnection(); InputStream inputStream = connection.getInputStream(); BufferedInputStream bufferedInput = new BufferedInputStream(inputStream, 8); // Read the response into a byte array ByteArrayBuffer byteArray = new ByteArrayBuffer(50); int current = 0; while ((current = bufferedInput.read()) != -1) { byteArray.append((byte) current); } // Construct a String object from the byte array containing the response result = new String(byteArray.toByteArray()); try { if (cache.saveFile(result)) { Log.i("INTERNET", "Cache salvo!"); } else { Log.i("INTERNET", "Erro no salvar o cache!"); } } catch (Exception e) { result = "seminternet"; Log.e("INTERNET", e.toString()); } } catch (Exception e) { result = "seminternet"; Log.e("INTERNET", e.toString()); } } else { try { result = cache.readFile(fileName); } catch (Exception e) { result = "seminternet"; Log.e("INTERNET", e.toString()); } } } else { try { result = cache.readFile(fileName); if (result.length() == 0) { result = "seminternet"; } } catch (Exception e) { result = "seminternet"; Log.e("INTERNET", e.toString()); } } Log.i("INTERNET", result); return (result); }