2014年7月17日

搶救Sony Ericsson Mt11i

     這隻手機2012年份,但照相功能佳,且和目前的大尺寸手機比起來,放在褲子口袋是剛剛好,不會突出來攜帶方便。據兒子說是在用藍牙傳輸時突然當機,然後就重複開機個沒完沒了。我直覺地想是不是沒電了?Sony的產品應該不會這麼容易壞吧?所以
  1. 先插到電腦usb充電。x
  2. 換充平板的的插頭2A電流。x
  3. 好吧,Google一下。喔,有人說要裝Sony的pcc連線軟體,進行修復即可。好吧,下載、安裝、連線....根本無法連線成功。x
  4. 這時兒子看我搞了半天沒有進展,才跟我說之前也曾發生過此狀況,最後是在按電源關機畫面時,趕緊按飛航模式才解決。喔,看到一線曙光,當然不能放棄!但這Timing實在很難抓,因為一閃而過,兒子沒有馬上說的原因後來才知道,是因為上次他按了非常非常久才成功。咦,說時遲那時快,本人居然沒多久就賽到了:-) 還真的有效耶,總算手機恢復正常開關機。此時沒有想太多,因為已經搞到很晚了,沒有仔細檢查就開開心心睡覺去也。

2014年7月5日

Android: 解壓縮有密碼的zip檔(Zip4J)

Zip4j 
參考此jar,簡單用法如下:
public static void unzip(File zipFile, String dest, String passwd) throws ZipException {
        ZipFile zFile = new ZipFile(zipFile); 
        File destDir = new File(dest);   
        if (destDir.isDirectory() && !destDir.exists()) {   
            destDir.mkdir();   
        }   
        if (zFile.isEncrypted()) {   
            zFile.setPassword(passwd.toCharArray());   
        }   
        zFile.extractAll(dest);     
    }   

2014年7月3日

Android: Nano Sleep

來源CALL GLOP()

private static final long SLEEP_PRECISION=2*1000000 ;
private static final long SPIN_YIELD_PRECISION= 1000;

    public static void sleepNanos (long nanoDuration) throws InterruptedException {
        final long end = System.nanoTime() + nanoDuration;
        long timeLeft = nanoDuration;
        do {
            if (timeLeft > SLEEP_PRECISION)
                Thread.sleep (1);
            else
                if (timeLeft > SPIN_YIELD_PRECISION)
                    Thread.sleep(0);

            timeLeft = end - System.nanoTime();
            if (Thread.interrupted())
                throw new InterruptedException ();
        } while (timeLeft > 0);
    }