2013-04-24 149 views
-2

我有一個數據庫包含一個ListView和一張圖片,我想在每個語音數據中包含。我試過了,但我得到了很多錯誤。以下是我的java和xml。插入聲音/音頻

Image

Database.java

package com.example.database; 
    import android.content.ContentValues; 
    import android.content.Context; 
    import android.database.sqlite.SQLiteDatabase; 
    import android.database.sqlite.SQLiteOpenHelper; 
    public class Database extends SQLiteOpenHelper { 
    final static String DB_NAME = "db_tum_obat"; 
public Database(Context context) { 
    super(context, DB_NAME, null, 1); 
    // TODO Auto-generated constructor stub 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    String sql = "CREATE TABLE IF NOT EXISTS tum(_id INTEGER PRIMARY KEY AUTOINCREMENT, nama TEXT, nama_latin TEXT, khasiat TEXT, img BLOB, img2 BLOB)"; 
    db.execSQL(sql); 

    ContentValues values = new ContentValues(); 
    values.put("_id", "1"); 
    values.put("nama", "Jarak Pagar"); 
    values.put("nama_latin", "Jatropha curcas Linn."); 
    values.put("khasiat", 
      "ketombe, lemah saraf, menghitamkan rambut, rambut rontok, rematik"); 
    values.put("img", R.drawable.im31); 
    values.put("img2", R.drawable.home);// im31 nama file gambar dengan 
             // ukuran 80 x 80 pixel yang ada di 
             // folder res/drawable pada project 
    db.insert("tum", "_id", values); 

    values.put("_id", "2"); 
    values.put("nama", "Kumis Kucing"); 
    values.put("nama_latin", "Orthosipon aristatus (B1) Miq."); 
    values.put("khasiat", 
      "ketombe, lemah saraf, menghitamkan rambut, rambut rontok, rematik"); 
    values.put("img", R.drawable.im32); 
    values.put("img2", R.drawable.keluar1);// im32 nama file gambar dengan 
             // ukuran 80 x 80 pixel yang ada di 
             // folder res/drawable pada project 
    db.insert("tum", "_id", values); 

    values.put("_id", "3"); 
    values.put("nama", "Lidah Buaya"); 
    values.put("nama_latin", "Aloe Verra Linn."); 
    values.put("khasiat", 
      "ketombe, lemah saraf, menghitamkan rambut, rambut rontok, rematik"); 
    values.put("img", R.drawable.im33); 
    values.put("img2", R.drawable.home);// im33 nama file gambar dengan 
             // ukuran 80 x 80 pixel yang ada di 
             // folder res/drawable pada project 
    db.insert("tum", "_id", values); 

    values.put("_id", "4"); 
    values.put("nama", "Pandan Wangi"); 
    values.put("nama_latin", "Pandanus amryllifolius Roxb"); 
    values.put("khasiat", 
      "ketombe, lemah saraf, menghitamkan rambut, rambut rontok, rematik"); 
    values.put("img", R.drawable.im34); 
    values.put("img2", R.drawable.keluar1);// im34 nama file gambar dengan 
             // ukuran 80 x 80 pixel yang ada di 
             // folder res/drawable pada project 
    db.insert("tum", "_id", values); 

} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXISTS tum"); 
    onCreate(db); 

} 

} 

MainActivity.java

package com.example.database; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.EditText; 
import android.widget.ListAdapter; 
import android.widget.ListView; 
import android.widget.SimpleCursorAdapter; 
import android.widget.Toast; 
import android.widget.AdapterView.OnItemClickListener; 

public class MainActivity extends Activity { 
protected ListView lv; 
protected ListAdapter adapter; 
SQLiteDatabase db; 
Cursor cursor; 
EditText et_db; 

@SuppressWarnings("deprecation") 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    db = (new Database(this)).getWritableDatabase(); 
    lv = (ListView) findViewById(R.id.lv); 
    et_db = (EditText) findViewById(R.id.et); 

    try { 
     cursor = db.rawQuery("SELECT * FROM tum ORDER BY nama ASC", null); 
     adapter = new SimpleCursorAdapter(this, R.layout.isi_lv, cursor, 
       new String[] { "nama", "nama_latin", "img" }, new int[] { 
         R.id.tv_nama, R.id.tv_penyebab, R.id.imV }); 
     lv.setAdapter(adapter); 
     lv.setTextFilterEnabled(true); 
     lv.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View v, 
        int position, long id) { 
       detail(position); 

      } 
     }); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

} 

@SuppressWarnings("deprecation") 
public void search_db(View v) { 
    String edit_db = et_db.getText().toString(); 
    if (!edit_db.equals("")) { 
     try { 
      cursor = db.rawQuery("SELECT * FROM tum WHERE nama LIKE ?", 
        new String[] { "%" + edit_db + "%" }); 
      adapter = new SimpleCursorAdapter(this, R.layout.isi_lv, 
        cursor, new String[] { "nama", "nama_latin", "img" }, 
        new int[] { R.id.tv_nama, R.id.tv_penyebab, R.id.imV }); 
      if (adapter.getCount() == 0) { 
       Toast.makeText(
         this, 
         "Tidak ditemukan data dengan kata kunci " + edit_db 
           + "", Toast.LENGTH_SHORT).show(); 
      } else { 
       lv.setAdapter(adapter); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } else { 
     try { 
      cursor = db.rawQuery("SELECT * FROM tum ORDER BY nama ASC", 
        null); 
      adapter = new SimpleCursorAdapter(this, R.layout.isi_lv, 
        cursor, new String[] { "nama", "nama_latin", "img" }, 
        new int[] { R.id.tv_nama, R.id.tv_penyebab, R.id.imV }); 
      lv.setAdapter(adapter); 
      lv.setTextFilterEnabled(true); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

public void detail(int position) { 
    int im2 = 0; 
    String _id = ""; 
    String nama = ""; 
    String latin = ""; 
    String khasiat = ""; 
    if (cursor.moveToFirst()) { 
     cursor.moveToPosition(position); 
     im2 = cursor.getInt(cursor.getColumnIndex("img2")); 
     nama = cursor.getString(cursor.getColumnIndex("nama")); 
     latin = cursor.getString(cursor.getColumnIndex("nama_latin")); 
     khasiat = cursor.getString(cursor.getColumnIndex("khasiat")); 
    } 

    Intent iIntent = new Intent(this, DetailTum.class); 
    iIntent.putExtra("dataIM2", im2); 
    iIntent.putExtra("dataNama", nama); 
    iIntent.putExtra("dataLatin", latin); 
    iIntent.putExtra("dataKhasiat", khasiat); 
    setResult(RESULT_OK, iIntent); 
    startActivityForResult(iIntent, 99); 
} 

} 

DetailTum.java

package com.example.database; 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.widget.Gallery; 
import android.widget.ImageSwitcher; 
import android.widget.ImageView; 
import android.widget.TextView; 


public class DetailTum extends Activity { 
ImageView Im2; 
TextView tv_nama, tv_latin, tv_khasiat, id, namaIm; 
Gallery gallery; 
ImageSwitcher imageSwitcher; 
Integer[] imageIDs = new Integer[3]; 
int msg_im2; 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.detail); 

    Intent iIdentifikasi = getIntent(); 
    msg_im2 = iIdentifikasi.getIntExtra("dataIM2", 0); 
    String msg_nama = iIdentifikasi.getStringExtra("dataNama"); 
    String msg_latin = iIdentifikasi.getStringExtra("dataLatin"); 
    String msg_khasiat = iIdentifikasi.getStringExtra("dataKhasiat"); 
    Im2 = (ImageView) findViewById(R.id.iv_detail2); 
    tv_nama = (TextView) findViewById(R.id.tvNama); 
    tv_latin = (TextView) findViewById(R.id.tvLatin); 
    tv_khasiat = (TextView) findViewById(R.id.tvKhasiat); 
    Im2.setImageResource(msg_im2); 
    tv_nama.setText(msg_nama); 
    tv_latin.setText(msg_latin); 
    tv_khasiat.setText(msg_khasiat); 
} 
    } 

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#FFF567" 
android:orientation="vertical" 
tools:context=".MainActivity" > 

<EditText 
    android:id="@+id/et" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_toLeftOf="@+id/btn" > 

    <requestFocus /> 
</EditText> 

<Button 
    android:id="@+id/btn" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:onClick="search_db" 
    android:text="Search" /> 

<ListView 
    android:id="@+id/lv" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/et" > 
</ListView> 

isi_lv.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<ImageView 
    android:id="@+id/imV" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:src="@drawable/ic_launcher" /> 

<TextView 
    android:id="@+id/tv_nama" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/imV" 
    android:text="TextView" 
    android:textSize="10pt" /> 

<TextView 
    android:id="@+id/tv_penyebab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/tv_nama" 
    android:layout_below="@+id/tv_nama" 
    android:text="TextView" /> 

detail.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#FFF567" 
android:orientation="vertical" > 


<ImageView 
    android:id="@+id/iv_detail2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<TableLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Nama" /> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text=":" /> 

     <TextView 
      android:id="@+id/tvNama" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" /> 
    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Nama Latin" /> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text=":" /> 

     <TextView 
      android:id="@+id/tvLatin" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" /> 
    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Khasiat" /> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text=":" /> 

     <TextView 
      android:id="@+id/tvKhasiat" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" /> 
    </TableRow> 
</TableLayout> 

+0

請幫我:( – 2013-04-24 03:24:00

+1

)而不是嘗試將聲音存儲在數據庫中,而是嘗試存儲聲音文件的路徑,然後將聲音文件存儲在可訪問的位置 – Zyerah 2013-04-24 03:24:16

+0

我試過了,沒有成功 – 2013-04-24 03:26:03

回答