ลองหาทาง import call log จากมือถือเก่า ทั้งหมด (ประมาณ 9207 record)
โดยมาในรูปแบบไฟล์ csv
“0899999999” 10 1259558672212 0
“0812345978” 23 1254558611234 1
“0810920827” 107 1250572311517 1
คอลัมแรกคือ เบอร์ คอลัมสอง คือ เวลาที่ใช้โทรเป็นวินาที คอลัมสาม คือ เวลาขณะโทรออก unix time เป็น มิลลิวินาที และคอลัมสุดท้ายคือ ประเภทของ การโทร 0 โทรเข้า 1 โทรออก 2 miss
โดยเขียนโปรแกรมดังแสดง
FileReader fIn;
ContentValues values = new ContentValues();
try {
fIn = new FileReader(“/sdcard/calllog.csv”);
BufferedReader in = new BufferedReader(fIn);
for(j=0;j3){
Integer.valueOf(bb[3]);
values.put(CallLog.Calls.NUMBER, bb[0]);
values.put(CallLog.Calls.DATE, Long.valueOf(bb[2]));
values.put(CallLog.Calls.DURATION, Integer.valueOf(bb[1]));
values.put(CallLog.Calls.TYPE, Integer.valueOf(bb[3]));
values.put(CallLog.Calls.NEW, 1);
values.put(CallLog.Calls.CACHED_NAME, “”);
values.put(CallLog.Calls.CACHED_NUMBER_TYPE, 0);
values.put(CallLog.Calls.CACHED_NUMBER_LABEL, “”);
getContentResolver().insert(CallLog.Calls.CONTENT_URI, values);
j++;
}
}
พบว่า ช้ามาก ๆ ใช้เวลา ชั่วโมงกว่า ๆ import ได้แค่ 4000 กว่า record
และยิ่งช้าลง ช้าลง
เท่าที่ทดสอบ มันช้าที่คำสั่ง
getContentResolver().insert(CallLog.Calls.CONTENT_URI, values);
ซึ่งจะยิ่งช้าขึ้นเรื่อย ๆ ตามจำนวน call log ที่มีมากขึ้น
ถามว่า มีวิธีเพิ่ม call log เข้าไป โดยวิธีอื่นที่เร็วกว่าผ่าน content provider แบบนี้หรือไม่ครับ หรือว่ามีวิธีปรับโค๊ดให้เร็วขึ้นมาก ๆ ได้อีก
พบว่าถ้าเรียง แล้วจะเร็วขึ้นประมาณเท่าตัวเห็นจะได้ ใช้เวลา import ครั้งละ 3 ชั่วโมง
แต่พบว่า โปรแกรม contact บน g1 มันไม่ยอมแสดงผล callog เกิน 4600 กว่า ๆ
แต่โปรแกรม phonalyzr พบว่า import ครบทั้ง 9200 เรคคอร์ดแล้ว
ลองใช้ aContact โดนดีเลย มันทำการลบ calllog โดยไม่บอกล่วงหน้าเหลือ 500 อันใหม่สุดเท่านั้น
ลองใช้ easy calllog มันไม่ได้ดึง calllog จาก contact มาแสดงแต่กลับสร้างฐานข้อมูลของตัวเองเลย ทำให้ import ปรกติไม่ได้
ตอนนี้อยากให้มีโปรแกรมแสดง calllog ที่แสดงได้ทั้งหมดครับ
ไม่จำกัด และนำ calllog จาก contact หลักมาแสดง และต้องเร็วด้วย
มีแนะนำไหมครับ
Hi there, I honestly like reading your posts, thank you!
———————————————————————
We know you want your look to be gorgeous at prom, and our amazing collection of freshwater pearl necklace|pearl necklace|black pearl necklace|pearl rings|pearl bracelet (http://www.topearl.com/freshwater-pearl-necklaces-c-1.html) can help. Whatever your budget, style, we’ve got a huge selection to meet your need.
access ผ่าน sqlite ในไฟล์ contacts.db วิเดียวเสร็จ
แต่ ทันทีที่ โทรออก calllog จะโดนลบเหลือ 500 อันทันที
ไม่ทราบว่าใคร รู้ทางแก้บ้างครับ
ไม่แน่ใจนะครับ แต่ลอง easy dial pro ดู ลงจากใน market ลงแล้วมันจะมี easy calllog pro มาด้วย ค่อนข้างจะละเอียดทีเดียว แต่ไม่แน่ใจว่ามันจะอ่านครบทุกรายการเลยหรือเปล่า
easy dial มันจะแยก database ของ calllog กับ ตัวหลักอะครับ
และพอ มี calllog มากระดับนึงในการ import ครั้งแรก มันจะรวบ เป็นสรุปอันเดียว
คิดว่าคงต้องแก้ provider ของ call log ใหม่ แล้วครับ
private static void removeExpiredEntries(Context context) {
final ContentResolver resolver = context.getContentResolver();
resolver.delete(CONTENT_URI, “_id IN ” +
“(SELECT _id FROM calls ORDER BY ” + DEFAULT_SORT_ORDER
+ ” LIMIT -1 OFFSET 500)”, null);
}
จาก 500 เป็นมากขึ้นกว่านี้
the Authentic Byron Scott Jersey best Wilt Chamberlain Jersey manufacturers and Kurt Rambis Jersey wholesale jewelry Rasheed Wallace Jersey dealers that is in wholesale bengals jerseys jewel Cheap Handbags industry from past 20 New York Knicks Jersey years and has earned a good reputation by providing wholesale bears jerseys the high quality wholesale jewellery at factory rates along with the provision of Cheap Mlb Jerseys best wholesale cowboys jerseys customer NBA Sneakers and technical support do more like wholesale browns jerseys the bag is expensive, Bob Cousy Jerseys it Wholesale Gold Jewelry seems to them wholesale broncos jerseys On the day Wholesale Designer Handbags (http://www.lakersjerseystore.com/los-angeles-lakers-jerseys-byron-scott-jersey-c-5_19.html)