Hi I have a list of files. I want to show file length of each file. I create own method for getting file length and right unit(base value).
Source
public String getFileLength(long lengthBytes){
Log.i("", 1 + " -- FILE INFO -- " + lengthBytes);
String lengthString;
if(lengthBytes<1024){
Log.i("", 21 + " -- FILE INFO B -- " + lengthBytes);
lengthString = lengthBytes + " B";
Log.i("", 22 + " -- FILE INFO B -- " + lengthString);
} else if (lengthBytes<(1024^2)){
Log.i("", 31 + " -- FILE INFO KB -- " + lengthBytes);
//length = String.valueOf(Math.round(i/1024)) + " KB";
lengthString = lengthBytes/1024 + " KB";
Log.i("", 32 + " -- FILE INFO KB -- " + lengthString);
} else if (lengthBytes<(1024^3)){
Log.i("", 41 + " -- FILE INFO MB -- " + lengthBytes);
lengthString = lengthBytes/(1024^2) + " MB";
Log.i("", 42 + " -- FILE INFO MB -- " + lengthBytes);
} else if (lengthBytes<(1024^4)){
Log.i("", 51 + " -- FILE INFO GB -- " + lengthBytes);
lengthString = lengthBytes / (1024 ^ 3) + " GB";
Log.i("", 52 + " -- FILE INFO GB -- " + lengthBytes);
} else lengthString = "ERR";
return lengthString;
}
It shows me in application ERR. I want to debug it so I added a lot of Log.i. What logcat shows me you can see under this sentence.
Logcat shows me this:
06-30 11:50:23.523 1590-1590/info.myapplication15.app I/﹕ 1 -- FILE INFO -- 292303
06-30 11:50:24.253 1590-1590/info.myapplication15.app D/dalvikvm﹕ GC_FOR_ALLOC freed 99K, 5% free 3268K/3436K, paused 58ms, total 65ms
06-30 11:50:24.263 1590-1590/info.myapplication15.app I/dalvikvm-heap﹕ Grow heap (frag case) to 4.330MB for 1127536-byte allocation
06-30 11:50:24.443 1590-1599/info.myapplication15.app D/dalvikvm﹕ GC_FOR_ALLOC freed 6K, 4% free 4362K/4540K, paused 95ms, total 95ms
06-30 11:50:25.503 1590-1590/info.myapplication15.app W/Resources﹕ Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f070040}
06-30 11:50:25.563 1590-1590/info.myapplication15.app W/Resources﹕ Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f070041}
06-30 11:50:25.683 1590-1590/info.myapplication15.app W/Resources﹕ Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f070042}
06-30 11:50:26.103 1590-1590/info.myapplication15.app W/Resources﹕ Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f070040}
06-30 11:50:26.143 1590-1590/info.myapplication15.app W/Resources﹕ Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f070041}
06-30 11:50:26.223 1590-1590/info.myapplication15.app W/Resources﹕ Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f070042}
06-30 11:50:26.753 1590-1590/info.myapplication15.app I/Choreographer﹕ Skipped 180 frames! The application may be doing too much work on its main thread.
And I want to show string with round number and unit.
I read that I should use Math.round(i/1024)
I want (File length is 292303) to show: 285.45 KB