निम्नलिखित कोड डेटाबेस पर ध्वनि फ़ाइलों को संग्रहीत करने उत्पाद लाइन दृष्टिकोण हो सकता है के लिए मुख्य कारण की कोशिश ... यह मेरे लिए संग्रहीत .....
@Override
public void onClick(View arg0) {
SQLiteDatabase myDb;
String MySQL;
byte[] byteImage1 = null;
byte[] byteImage2 = null;
MySQL="create table emp1(_id INTEGER primary key autoincrement, sample TEXT not null, picture BLOB);";
myDb = openOrCreateDatabase("Blob List", Context.MODE_PRIVATE, null);
myDb.execSQL(MySQL);
String s=myDb.getPath();
textView.append("\r\n" + s+"\r\n");
myDb.execSQL("delete from emp1");
ContentValues newValues = new ContentValues();
newValues.put("sample", "HI Hello");
try
{
FileInputStream instream = new FileInputStream("/sdcard/AudioRecorder/AudioRecorder.wav");
BufferedInputStream bif = new BufferedInputStream(instream);
byteImage1 = new byte[bif.available()];
bif.read(byteImage1);
textView.append("\r\n" + byteImage1.length+"\r\n");
newValues.put("picture", byteImage1);
long ret = myDb.insert("emp1", null, newValues);
if(ret<0) textView.append("\r\n!!! Error add blob filed!!!\r\n");
} catch (IOException e)
{
textView.append("\r\n!!! Error: " + e+"!!!\r\n");
}
Cursor cur = myDb.query("emp1",null, null, null, null, null, null);
cur.moveToFirst();
while (cur.isAfterLast() == false)
{
textView.append("\r\n" + cur.getString(1)+"\r\n");
cur.moveToNext();
}
///////Read data from blob field////////////////////
cur.moveToFirst();
byteImage2=cur.getBlob(cur.getColumnIndex("picture"));
bmImage.setImageBitmap(BitmapFactory.decodeByteArray(byteImage2, 0, byteImage2.length));
textView.append("\r\n" + byteImage2.length+"\r\n");
cur.close();
myDb.close();
}
});
स्रोत
2012-08-24 09:38:17
हाय रिकार्डो, आपके उत्तर के लिए धन्यवाद। अगर मैं अपनी फाइलों को संपत्ति फ़ोल्डर में संग्रहीत करता हूं तो मेरा आवेदन आकार बढ़ता है, क्या यह व्यवहार्य समाधान है। कृपया इस पर टिप्पणी करें। या कम खपत प्रारूप में ऑडियो फ़ाइल को स्टोर करने का कोई तरीका है ?? –
यदि आप अपनी फाइलों को अपने डीबी में स्टोर करते हैं तो आपका ऐप आकार भी बढ़ेगा, मैं नहीं देखता कि आप आकार को बढ़ाए बिना और बाइट्स को कैसे शामिल कर सकते हैं ... आप उन्हें ज़िप करने का प्रयास कर सकते हैं लेकिन आपको ज्यादा लाभ नहीं मिलेगा चूंकि संगीत फ़ाइलों को पहले ही अत्यधिक संपीड़ित किया गया है ... –
@ विनायक-बेविनकाट्टी, यदि आप एपीके आकार के बारे में चिंता कर रहे हैं, तो हो सकता है कि आप पहली बार चलने पर सर्वर से उन फ़ाइलों को डाउनलोड कर सकें। – Rajeev