Первый вопрос: я создал базу данных в другом действии под названием DatabaseHelper, так что это еще одно действие. Я искал, но не мог понять, но я считаю, что я не подключен к базе данных. Как я могу подключиться к базе данных из другого занятия?
Второй вопрос: я пытаюсь использовать Edittext для поиска в базе данных и получения нескольких данных (например, имени продукта и номера) в другой текст редактирования. Моя цель - использовать устройство сканера штрих-кода. Это функции чтения, записи и нажатия клавиши ввода. Поэтому, когда устройство сканирует, курсор переходит в другой текст редактирования. Чтобы эффективно использовать функцию, я хочу искать в базе данных, когда нажимаю клавишу ввода. Я сделал это на C #, но не смог сделать это на Android, я новичок в этом. Кто-нибудь может помочь?
Это класс DatabaseHelper
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "Urunler.db";
private static final String TABLE_NAME = "urunler_tablosu";
private static final String COL_2 = "UrunKodu";
private static final String COL_3 = "UrunAdi";
private static final String COL_4 = "Adet";
private static final String COL_5 = "AlisFiyati";
private static final String COL_6 = "SatisFiyati";
private ArrayList<HashMap<String, String>> YourList = new ArrayList<>();
DatabaseHelper(Context context){
super(context,DATABASE_NAME,null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_NAME +" (UrunKodu TEXT,UrunAdi TEXT,Adet REAL,AlisFiyati REAL,SatisFiyati REAL )");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS urunler_tablosu");
onCreate(db);
}
//ÜRÜN KAYIT..
boolean insertData(String ukodu, String uadi, String adet, String afiyati, String sfiyati){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2,ukodu);
contentValues.put(COL_3,uadi);
contentValues.put(COL_4,adet);
contentValues.put(COL_5,afiyati);
contentValues.put(COL_6,sfiyati);
long result = db.insert(TABLE_NAME,null,contentValues);
return result != -1;
}
//Get all item in your database
public ArrayList<HashMap<String, String>> getAllDatabaseData(String UrunKodu) { // we use the id to find it corresponding user details
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery(" SELECT * FROM '" + TABLE_NAME + "' WHERE UrunKodu='" + UrunKodu + "'",null);
res.moveToFirst();
while(!res.isAfterLast()){
HashMap<String, String> array_list = new HashMap<>();
array_list.put("Urunkodu",res.getString(res.getColumnIndex(COL_2)));
array_list.put("UrunAdi",res.getString(res.getColumnIndex(COL_3)));
array_list.put("Adet",res.getString(res.getColumnIndex(COL_4)));
array_list.put("AlisFiyati",res.getString(res.getColumnIndex(COL_5)));
array_list.put("SatisFiyati",res.getString(res.getColumnIndex(COL_6)));
YourList.add(array_list);
res.moveToNext();
}
return YourList;
}
}
Вот мой класс поиска под названием UrunKontrol
public class UrunKontrol extends AppCompatActivity {
private ArrayList<HashMap<String, String >>DataList = new ArrayList<>();
EditText editkontukodu,editkontuadi,editkontadet,editkontafiyati,editkontsfiyati;
Button arabuton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_urun_kontrol);
editkontukodu = (EditText)findViewById(R.id.kontrolbarkodno);
editkontuadi = (EditText)findViewById(R.id.kontrolurunadi);
editkontadet = (EditText)findViewById(R.id.kontrolurunadeti);
editkontafiyati = (EditText)findViewById(R.id.kontrolurunalisfiyati);
editkontsfiyati = (EditText)findViewById(R.id.kontrolurunsatisfiyati);
arabuton = (Button)findViewById(R.id.aramabutonu);
arabuton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DataList = new DatabaseHelper(UrunKontrol.this).getAllDatabaseData(UrunKodu); //I am getting error here on "UrunKodu"
editkontuadi.setText(DataList.get(0).get("UrunAdi"));
editkontadet.setText(DataList.get(0).get("Adet"));
editkontafiyati.setText(DataList.get(0).get("AlisFiyati"));
editkontsfiyati.setText(DataList.get(0).get("SatisFiyati"));
}
});
}
}
Вставка
public class Urunkayit extends AppCompatActivity {
DatabaseHelper myDb;
EditText editkayitbarkodno,editkontrolurunadi,editkontrolurunadeti,editkontrolurunalisfiyati,editkontrolurunsatisfiyati;
Button kaydetbuton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_urunkayit);
myDb = new DatabaseHelper(this);
editkayitbarkodno = (EditText)findViewById(R.id.kayitbarkodno);
editkontrolurunadi = (EditText)findViewById(R.id.kayiturunadi);
editkontrolurunadeti = (EditText)findViewById(R.id.kayiturunadeti);
editkontrolurunalisfiyati = (EditText)findViewById(R.id.kayiturunalisfiyati);
editkontrolurunsatisfiyati = (EditText)findViewById(R.id.kayiturunsatisfiyati);
kaydetbuton = (Button) findViewById(R.id.kayitbutonu);
urunKaydetme();
}
public void urunKaydetme(){
kaydetbuton.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean isInserted = myDb.insertData(editkayitbarkodno.getText().toString(),
editkontrolurunadi.getText().toString(),
editkontrolurunadeti.getText().toString(),
editkontrolurunalisfiyati.getText().toString(),
editkontrolurunsatisfiyati.getText().toString());
if (isInserted = true){
Toast.makeText(Urunkayit.this,"Ürün Kaydedildi",Toast.LENGTH_LONG).show();
editkayitbarkodno.setText("");
editkontrolurunadi.setText("");
editkontrolurunadeti.setText("");
editkontrolurunalisfiyati.setText("");
editkontrolurunsatisfiyati.setText("");
}
else
Toast.makeText(Urunkayit.this,"Ürün Kaydedilemedi",Toast.LENGTH_LONG).show();
}
}
);
}
}