Listview içindekileri database içine atma
05.05.2016 - 06:27
veritabanı.class
package com.verigirisi;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.ArrayAdapter;
/**
* Created by Administrator on 05.05.2016.
*/
public class Veritabani {
private static final String VERITABANI = "veriler";
private static final int SURUM = 1;
private static final String TABLO = "musteriler";
private static final String KEY_ID = "_id";
private static final String KEY_ADSOYAD = "adsoyad";
private static final String KEY_KODLAR = "kodlar";
public final Context contextim;
private VeritabaniHelper veritabanihelper;
private SQLiteDatabase veritabanim;
public Veritabani(Context c) {
this.contextim = c;
}
public Veritabani baglantiyi_ac(){
veritabanihelper = new VeritabaniHelper(contextim);
veritabanim=veritabanihelper.getWritableDatabase();
return this;
}
public void baglantiyi_kapat(){
veritabanihelper.close();
}
public void kisibilgisinikaydet(String adim, String soyadi) {
ContentValues cv = new ContentValues();
cv.put(KEY_ADSOYAD, adim);
cv.put(KEY_KODLAR, soyadi);
veritabanim.insert(TABLO, null, cv);
}
public String tumKayitlar() {
String sutunlar[]=new String[]{KEY_ADSOYAD};
Cursor c=veritabanim.query(TABLO,sutunlar,null,null,null,null,null);
String tumKayitlar="";
int MusteriSiraNo=c.getColumnIndex(KEY_ADSOYAD);
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
tumKayitlar=tumKayitlar+c.getString(MusteriSiraNo)+" \n";
}
return tumKayitlar;
}
private static class VeritabaniHelper extends SQLiteOpenHelper {
public VeritabaniHelper(Context contextim) {
super(contextim, VERITABANI, null, SURUM);
}
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLO + "(" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_ADSOYAD + " TEXT, " + KEY_KODLAR + " TEXT);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXIST " + TABLO + "");
onCreate(db);
}
}
}
yenikayit.class
package com.verigirisi;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import java.util.ArrayList;
/**
* Created by Administrator on 05.05.2016.
*/
public class yenikayit extends AppCompatActivity {
private Button kodutara, kodulisteyeekle, resimekle,mailgonder,kaydet;
private ListView listekodlar, listeresimler;
private ArrayList<String> arraykodlar= new ArrayList<String>();
private ArrayList<Uri> arrayresimler = new ArrayList<Uri>();
private EditText musteriadi, kodlar;
private ArrayAdapter<String> adapterkodlar;
private ArrayAdapter<Uri> adapterresimler;
final int RQS_LOADIMAGE = 0;
final int RQS_SENDEMAIL = 1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yenikayit);
kodutara=(Button)findViewById(R.id.btnKoduOkut);
kodulisteyeekle=(Button)findViewById(R.id.btnKoduListeyeEkle);
resimekle=(Button)findViewById(R.id.btnResimEkle);
mailgonder=(Button)findViewById(R.id.btnGonder);
kaydet=(Button)findViewById(R.id.btnKaydet);
resimekle.setOnClickListener(btnAddFileOnClickListener);
mailgonder.setOnClickListener(btnSendOnClickListener);
kaydet.setOnClickListener(btnKaydetOnClickListener);
/////////////////////////
musteriadi=(EditText)findViewById(R.id.txtMusteri);
kodlar=(EditText)findViewById(R.id.txtKodlar);
//Listeleri tanıttım///
///////////////////////////////////////
adapterkodlar=new ArrayAdapter<String>(this,R.layout.list_item,R.id.txtitem,arraykodlar);
listekodlar=(ListView)findViewById(R.id.lstKod);
listekodlar.setAdapter(adapterkodlar);
adapterresimler=new ArrayAdapter<Uri>(yenikayit.this,android.R.layout.simple_list_item_1,arrayresimler);
listeresimler=(ListView)findViewById(R.id.lstResim);
listeresimler.setAdapter(adapterresimler);
listekodlar.setOnItemClickListener(new AdapterView.OnItemClickListener() {// buradaki kod listede tıklama ile silme işlemi yapıyor.
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
AlertDialog.Builder adb=new AlertDialog.Builder(yenikayit.this);
adb.setTitle("Delete?");
adb.setMessage("Are you sure you want to delete ");
final int positionToRemove = position;
adb.setNegativeButton("Cancel", null);
adb.setPositiveButton("Ok", new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
arraykodlar.remove(positionToRemove);
adapterkodlar.notifyDataSetChanged();
}});
adb.show();
}
});
}
public void KoduEkle(View v)
{
String newItem = kodlar.getText().toString();
arraykodlar.add(newItem);
adapterkodlar.notifyDataSetChanged();
kodlar.setText("");
}
View.OnClickListener btnKaydetOnClickListener= new View.OnClickListener(){
@Override
public void onClick(View v)
{
String adim = musteriadi.getText().toString();
//String kodlarim = kodlar.getText().toString();
String kodlarim = listekodlar.toString();
Veritabani db = new Veritabani(yenikayit.this);
db.baglantiyi_ac();
db.kisibilgisinikaydet(adim, kodlarim);
db.baglantiyi_kapat();
Dialog dialog=new Dialog(yenikayit.this);
dialog.setTitle("EKLEME İŞLEMİ");
TextView tvSonuc=new TextView(yenikayit.this);
tvSonuc.setText("BAŞARILI");
setContentView(tvSonuc);
dialog.show();
}};
View.OnClickListener btnAddFileOnClickListener= new View.OnClickListener(){
@Override
public void onClick(View v)
{
Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, RQS_LOADIMAGE);
}};
View.OnClickListener btnSendOnClickListener= new View.OnClickListener(){
@Override
public void onClick(View v) {
String emailAddress = "ozgur.altinel@neskar.com";
String emailSubject = musteriadi.getText().toString();
String emailText = musteriadi.getText().toString();
String emailAddressList[] = {emailAddress};
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_EMAIL, emailAddressList);
intent.putExtra(Intent.EXTRA_SUBJECT, emailSubject);
intent.putExtra(Intent.EXTRA_TEXT, arraykodlar.toString().replace("[", "").replace(",", "\n").replace("]", ""));
if(arrayresimler.isEmpty()){
//Send email without photo attached
intent.setAction(Intent.ACTION_SEND);
intent.setType("plain/text");
intent.putExtra(Intent.EXTRA_TEXT, arraykodlar.toString().replace("[", "").replace(",", "\n").replace("]", ""));
}else if(arrayresimler.size() == 1){
//Send email with ONE photo attached
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, arrayresimler.get(0));
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_TEXT, arraykodlar.toString().replace("[", "").replace(",", "\n").replace("]", ""));
}else{
//Send email with MULTI photo attached
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, arrayresimler);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_TEXT, arraykodlar.toString().replace("[", "").replace(",", "\n").replace("]", ""));
}
startActivity(Intent.createChooser(intent, "Choice App to send email:"));
}};
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
switch(requestCode){
case RQS_LOADIMAGE:
Uri imageUri = data.getData();
arrayresimler.add(imageUri);
adapterresimler.notifyDataSetChanged();
break;
case RQS_SENDEMAIL:
break;
}
}
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (scanResult!=null )//kodu okutmadan çıkınca programı kapatıyor
{
String barkod;
barkod = scanResult.getContents();
arraykodlar.add(barkod);
adapterkodlar.notifyDataSetChanged();
Button yoklama_buton=(Button)findViewById(R.id.btnKoduOkut);
yoklama_buton.setEnabled(true);
}
//else{
// AlertDialog.Builder diyalogOlusturucu = new AlertDialog.Builder(MainActivity.this);
// diyalogOlusturucu.setMessage("Kodu okutmadınız...");
// diyalogOlusturucu.create().show();
//}
}
public void tara(View v)
{
IntentIntegrator integrator = new IntentIntegrator(this);
integrator.initiateScan();
}
}
Arkadaşlar.
Uygulama Şu şekilde.
Müşteri adı-Siparişler adında iki alanım var.
1 müşteri birden fazla sipariş verdiği için siparişleri ilk ekranda Listview içine atıyorum. İşlem bittikten sonra kaydet butonuna basarak müşteri adını ve siparişleri kaydetmek istiyorum. İnternetteki örneklerin hepsi edittext içindeki veriyi kaydetmek için verilmiş. Listview içindeki birden fazla veriyi nasıl kaydederim. Örnek verebilecek varmı?
157
Görüntülenme
0 Beğeni