dimanche 31 janvier 2016

Android Studio get data from sqlite

I had some problem about get data from sqlite different database.One database that save user's name and phone and they can update as they like. While another is house information but also contain user's name and phone. My problem is i just realize that the phone that had been update in user database is not same with phone that previous store in house database. So i wanna call the user's phone from user database and use for phone call function and message function. But it does not work.And i trying to match the fullname that in user database with house database to call the phone data but still cant.

here is my call and message function

public class HouseDetail extends AppCompatActivity {
EditText etAddress,etDetail,etPhone;
TextView txType,txProperty,txPrice,txState,txTitle,txOther,txSize,txFullname;
ImageButton bPhone,bMessage;
String type,property,price,state,address,title,other,size,detail,fullnames,fullname,phone;
HousesDB db = new HousesDB(this);
Houses houses;
DatabaseOperations Udb = new DatabaseOperations(this);
PersonalData profileInfo;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_house_detail);

    txType = (TextView) findViewById(R.id.txTypes);
    txProperty = (TextView) findViewById(R.id.txProperty);
    txPrice = (TextView) findViewById(R.id.txPrice);
    txState = (TextView) findViewById(R.id.txState);
    etAddress = (EditText) findViewById(R.id.etAddress);
    txTitle = (TextView) findViewById(R.id.txTitle);
    txOther = (TextView) findViewById(R.id.txOther);
    txSize = (TextView) findViewById(R.id.txSize);
    txFullname = (TextView) findViewById(R.id.txFullname);
    etPhone = (EditText) findViewById(R.id.etPhone);
    etDetail = (EditText) findViewById(R.id.etDetail);
    bPhone = (ImageButton) findViewById(R.id.bPhone);
    bMessage = (ImageButton) findViewById(R.id.bMessage);

    fullnames = txFullname.getText().toString();
    type = txType.getText().toString();
    property = txProperty.getText().toString();
    price = txPrice.getText().toString();
    state = txState.getText().toString();
    address = etAddress.getText().toString();
    title = txTitle.getText().toString();
    other = txOther.getText().toString();
    size = txSize.getText().toString();
    detail = etDetail.getText().toString();
    phone = etPhone.getText().toString();


    Intent i = getIntent();
    property = i.getStringExtra("house_property");
    txProperty.setText(property);

    houses = db.getInfo(property);

    txType.setText(houses.getTypes());
    txFullname.setText(houses.getFullname());
    txPrice.setText(houses.getPrice());
    txState.setText(houses.getState());
    etAddress.setText(houses.getAddress());
    txTitle.setText(houses.getTitle());
    txOther.setText(houses.getOther());
    txSize.setText(houses.getSize());
    etDetail.setText(houses.getDetail());


    this.fullnames = fullname;
    profileInfo = Udb.getNumber(fullname);
    etPhone.setText(profileInfo.get_phone());


    bPhone.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent callIntent =new Intent(Intent.ACTION_CALL);
            callIntent.setData(Uri.parse("tel:" + etPhone));
            startActivity(callIntent);

        }
    });

    bMessage.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + etPhone)));
        }
    });
}

Here is my user database that get the phone number

  public PersonalData getNumber(String fullname)
{
    SQLiteDatabase SQ = this.getWritableDatabase();
    String query = "select FullName,Phone from "+ Table_NAME;
    Cursor CR = SQ.rawQuery(query,null);
    String a;
    PersonalData info = new PersonalData();

    if (CR.moveToFirst())
    {
        do {
            a = CR.getString(0);
            if (a.equals(fullname)) {
                info._phone = CR.getString(1);
                break;
            }
        }while (CR.moveToNext());
    }
    return info;
}

Aucun commentaire:

Enregistrer un commentaire