انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جستجو برای دیتابیس خارجی

جستجو برای دیتابیس خارجی

#1
سلام 
چطور میشه برای بانک خارجی db. یک search نوشت
در برنامم رکورد اضافه میکنه ولی جستجو  چگونه است
این هم کدها

bankword.java
کد:
import android.support.v7.app.ActionBarActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.View.OnClickListener;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;



public class Bankword extends Activity {
    final String tbankb = "tbank";
    final String tblbankb = "tblbank";
    Databaseb myDbHelperb;
    SQLiteDatabase dbb = this.getWritableDatabase();
   ListAdapter adapterb;
   ArrayList<HashMap<String, String>> datab;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.bankword);
       
       final Button ibbt = (Button) findViewById(R.id.button1);
       final EditText searchbank = (EditText) findViewById(R.id.searchview);
       ListView lstb=(ListView) findViewById(R.id.listViewbank);
       Load_Database();
       dbb = myDbHelperb.getReadableDatabase();
       Cursor    c = dbb.rawQuery("select * from tblbank", null);
           datab = new ArrayList<HashMap<String, String>>();
           for (; c.moveToNext();) {
               HashMap<String, String> mapb = new HashMap<String, String>();
               String stshaer = c.getString(c.getColumnIndex("tbank"));
               mapb.put("tbank", stshaer);
               datab.add(mapb);
           }
           adapterb = new list_viewb(this, datab);
           lstb.setAdapter(adapterb);
           ibbt.setOnClickListener(new OnClickListener() {
                public void onClick(View arg0) {
                    
                    ContentValues values = new ContentValues();
                    values.put(tbankb, "موسی");
                    dbb.insert(tblbankb, null, values);
                   }
               });
           searchbank.addTextChangedListener(new TextWatcher() {
               @Override
               public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
                   
               }
        
               @Override
               public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                       int arg3) {
               }
        
               @Override
               public void afterTextChanged(Editable arg0) {

                   
                    dbb.rawQuery("SELECT * FROM"+ tblbankb +" WHERE"+ tbankb +"like '" +  " LIKE  '"+ searchbank.getText()+"%'", null);
               }
           });
       }
   private SQLiteDatabase getWritableDatabase() {
        // TODO Auto-generated method stub
        return null;
    }
    private void Load_Database() throws Error {
       myDbHelperb = new Databaseb(Bankword.this);
       try {
           myDbHelperb.createDataBase();
       } catch (IOException ioe) {

           throw new Error("Unable to create database");
       }

       try {

           myDbHelperb.openDataBase();
       } catch (SQLException sqle) {
           throw sqle;

       }
   }
}


bankword.xml
کد:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context="ir.ooza.shaer.Bankword" >
   <EditText
       android:id="@+id/searchview"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:drawableRight="@android:drawable/ic_menu_search"
       android:ems="10"
       >

       <requestFocus />
   </EditText>
   <ListView
       android:id="@+id/listViewbank"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_centerHorizontal="true"
       android:layout_centerVertical="true"
       android:layout_marginTop="200dp" >

   </ListView>

   <Button
       android:id="@+id/button1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentBottom="true"
       android:layout_centerHorizontal="true"
       android:layout_marginBottom="20dp"
       android:text="Button" />

</RelativeLayout>

Databaseb.java
کد:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.annotation.SuppressLint;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;


@SuppressLint("SdCardPath")
public class Databaseb extends SQLiteOpenHelper {

    String DB_PATHb = null;
   public static String DB_NAMEb = "wbank";
   private SQLiteDatabase myDataBaseb;
   private final Context myContextb;
   @SuppressLint("SdCardPath")
    public Databaseb(Context context) {
       super(context, DB_NAMEb,null, 2);
      this.myContextb = context;
       DB_PATHb = "/data/data/" + context.getPackageName() + "/" + "databases/";
   }
   public void createDataBase() throws IOException {
       boolean dbExist = checkDataBase();
       if (dbExist) {
       } else {

           this.getReadableDatabase();

           try {

               copyDataBase();

           } catch (IOException e) {

               throw new Error("Error copying database");

           }
       }

   }
   
   private boolean checkDataBase() {

       SQLiteDatabase checkDBb = null;

       try {
           String myPathb = DB_PATHb + DB_NAMEb;
           checkDBb = SQLiteDatabase.openDatabase(myPathb, null,
                   SQLiteDatabase.OPEN_READONLY);

       } catch (SQLiteException e) {

           // database does\'t exist yet.

       }

       if (checkDBb != null) {

           checkDBb.close();

       }

       return checkDBb != null ? true : false;
   }

   private void copyDataBase() throws IOException {

       InputStream myInputb = myContextb.getAssets().open(DB_NAMEb);
       String outFileNameb = DB_PATHb + DB_NAMEb;
       OutputStream myOutputb = new FileOutputStream(outFileNameb);
       byte[] buffer = new byte[1024];
       int lengthb;
       while ((lengthb = myInputb.read(buffer)) > 0) {
           myOutputb.write(buffer, 0, lengthb);
       }

       myOutputb.flush();
       myOutputb.close();
       myInputb.close();
   }

   public void openDataBase() throws SQLException {

       String myPathb = DB_PATHb + DB_NAMEb;
       // SQLiteDatabase.NO_LOCALIZED_COLLATORS
       myDataBaseb = SQLiteDatabase.openDatabase(myPathb, null,
               SQLiteDatabase.OPEN_READONLY
                       | SQLiteDatabase.NO_LOCALIZED_COLLATORS
                       | SQLiteDatabase.CREATE_IF_NECESSARY);

   }

   @Override
   public synchronized void close() {

       if (myDataBaseb != null)
           myDataBaseb.close();
       super.close();
   }

   public Cursor query(String table, String[] columns, String selection,
           String[] selectionArgs, String groupBy, String having,
           String orderBy) {
       return myDataBaseb.query("pwp_singers", null, null, null, null, null,
               null);

   }

   @Override
   public void onCreate(SQLiteDatabase arg0) {
       // TODO Auto-generated method stub
       
   }

   @Override
   public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
       // TODO Auto-generated method stub
       
   }

}

list_viewb.java
کد:
import java.util.ArrayList;
import java.util.HashMap;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

public class list_viewb extends BaseAdapter {
  private Activity activity;
  private ArrayList<HashMap<String, String>> datab;
  private LayoutInflater inflate;
  ViewHolder holderb;
  public list_viewb(Activity a, ArrayList<HashMap<String, String>> d) {
      activity = a;
      datab = d;
      inflate = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  }
  @Override
  public int getCount() {
      // TODO Auto-generated method stub
      return datab.size();
  }
  @Override
  public Object getItem(int position) {
      // TODO Auto-generated method stub
      return position;
  }

  @Override
  public long getItemId(int position) {
      // TODO Auto-generated method stub
      return position;
  }

  @SuppressLint("InflateParams")
 @Override
 public View getView(int arg0, View view, ViewGroup arg2) {

        View v1b = view;
      if (v1b == null) {

          v1b = inflate.inflate(R.layout.list_viewb, null);
          holderb = new ViewHolder();
          holderb.txt_bank = (TextView) v1b.findViewById(R.id.txt_bank);
          //  holder.txt_id.setVisibility(View.GONE);
          v1b.setTag(holderb);

      } else {

          holderb = (ViewHolder) v1b.getTag();
      }
      HashMap<String, String> song = new HashMap<String, String>();
      song = datab.get(arg0);
      holderb.txt_bank.setText(song.get("tbank"));
      return v1b;
  }

  static class ViewHolder {
      TextView txt_bank;
   
  }
}
پاسخ


پیام‌های این موضوع
جستجو برای دیتابیس خارجی - توسط tejint - ۱۳۹۵/۰۳/۱۲, ۰۲:۲۶ ق.ظ
RE: جستجو برای دیتابیس خارجی - توسط mahdi10539 - ۱۳۹۵/۰۳/۱۲, ۰۹:۳۵ ق.ظ
RE: جستجو برای دیتابیس خارجی - توسط tejint - ۱۳۹۵/۰۳/۱۲, ۰۲:۰۲ ب.ظ
RE: جستجو برای دیتابیس خارجی - توسط mahdi10539 - ۱۳۹۵/۰۳/۱۳, ۰۷:۳۱ ق.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان