編輯:關於Android編程
package com.lapel.activity.html; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import android.content.Context; /** * * 從assets目錄解壓zip到本地 * */ public class UnzipFromAssets { /** * 解壓assets的zip壓縮文件到指定目錄 * @param context上下文對象 * @param assetName壓縮文件名 * @param outputDirectory輸出目錄 * @param isReWrite是否覆蓋 * @throws IOException */ public static void unZip(Context context, String assetName, String outputDirectory, boolean isReWrite) throws IOException { // 創建解壓目標目錄 File file = new File(outputDirectory); // 如果目標目錄不存在,則創建 if (!file.exists()) { file.mkdirs(); } // 打開壓縮文件 InputStream inputStream = context.getAssets().open(assetName); ZipInputStream zipInputStream = new ZipInputStream(inputStream); // 讀取一個進入點 ZipEntry zipEntry = zipInputStream.getNextEntry(); // 使用1Mbuffer byte[] buffer = new byte[1024 * 1024]; // 解壓時字節計數 int count = 0; // 如果進入點為空說明已經遍歷完所有壓縮包中文件和目錄 while (zipEntry != null) { // 如果是一個目錄 if (zipEntry.isDirectory()) { file = new File(outputDirectory + File.separator + zipEntry.getName()); // 文件需要覆蓋或者是文件不存在 if (isReWrite || !file.exists()) { file.mkdir(); } } else { // 如果是文件 file = new File(outputDirectory + File.separator + zipEntry.getName()); // 文件需要覆蓋或者文件不存在,則解壓文件 if (isReWrite || !file.exists()) { file.createNewFile(); FileOutputStream fileOutputStream = new FileOutputStream(file); while ((count = zipInputStream.read(buffer)) > 0) { fileOutputStream.write(buffer, 0, count); } fileOutputStream.close(); } } // 定位到下一個文件入口 zipEntry = zipInputStream.getNextEntry(); } zipInputStream.close(); } }
一:新建HelloEditText工程創建設置如下:Project name:HelloEditText Build Target :android 2.2 Applic
在開發中UI布局是我們都會遇到的問題,隨著UI越來越多,布局的重復性、復雜度也會隨之增長。Android官方給了幾個優化的方法,但是網絡上的資料基本上都是對官方資料的翻譯
引言:這部分會分三個模塊來講,先講View對Touch的處理,再講ViewGroup的事件分發,最後講如何解決滑動沖突。我習慣通過在源碼中添加注釋來理解源碼,以下是我提取
Android 新浪微博分享及授權 在開發中遇到了各種坑....所以分享一下 希望能給大家貢獻點經驗 本文使用的開發的環境是 eclipse 本文敘述的新浪微博