package com.OneTouch.locationprovider;
import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class Contact extends Activity implements OnClickListener
{
EditText editName,editLat,editLng,editnumber;
Button btnAdd,btnDelete,btnModify,btnView,btnViewAll,btnShowInfo;
SQLiteDatabase db;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contact);
editName=(EditText)findViewById(R.id.editName);
editLat=(EditText)findViewById(R.id.editLat);
editLng=(EditText)findViewById(R.id.editLng);
editnumber=(EditText)findViewById(R.id.editnumber);
btnAdd=(Button)findViewById(R.id.btnAdd);
btnDelete=(Button)findViewById(R.id.btnDelete);
// btnModify=(Button)findViewById(R.id.btnModify);
btnView=(Button)findViewById(R.id.btnView);
btnViewAll=(Button)findViewById(R.id.btnViewAll);
// btnShowInfo=(Button)findViewById(R.id.btnShowInfo);
btnAdd.setOnClickListener(this);
btnDelete.setOnClickListener(this);
// btnModify.setOnClickListener(this);
btnView.setOnClickListener(this);
btnViewAll.setOnClickListener(this);
// btnShowInfo.setOnClickListener(this);
db=openOrCreateDatabase("ContactsDB", Context.MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS contacts(name VARCHAR,lat VARCHAR,lng VARCHAR,eid VARCHAR);");
}
public void onClick(View view)
{
if(view==btnAdd)
{
if(editName.getText().toString().trim().length()==0||
editLat.getText().toString().trim().length()==0||
editLng.getText().toString().trim().length()==0||
editnumber.getText().toString().trim().length()==0)
{
showMessage("Error", "Please enter all values");
return;
}
db.execSQL("INSERT INTO contacts VALUES('"+editName.getText()+"','"+editLat.getText()+"','"+editLng.getText()+
"','"+editnumber.getText()+"');");
showMessage("Success", "Record added");
clearText();
}
if(view==btnDelete)
{
if(editName.getText().toString().trim().length()==0)
{
showMessage("Error", "Please enter Name");
return;
}
Cursor c=db.rawQuery("SELECT * FROM contacts WHERE name='"+editName.getText()+"'", null);
if(c.moveToFirst())
{
db.execSQL("DELETE FROM contacts WHERE name='"+editName.getText()+"'");
showMessage("Success", "Record Deleted");
}
else
{
showMessage("Error", "Invalid Name");
}
clearText();
}
if(view==btnModify)
{
if(editName.getText().toString().trim().length()==0)
{
showMessage("Error", "Please enter Name");
return;
}
Cursor c=db.rawQuery("SELECT * FROM contacts WHERE name='"+editName.getText()+"'", null);
if(c.moveToFirst())
{
db.execSQL("UPDATE contacts SET lat='"+editLat.getText()+"',lng='"+editLng.getText()+"',marks='"+editnumber.getText()+
"' WHERE name='"+editName.getText()+"'");
showMessage("Success", "Record Modified");
}
else
{
showMessage("Error", "Invalid Name");
}
clearText();
}
if(view==btnView)
{
if(editName.getText().toString().trim().length()==0)
{
showMessage("Error", "Please enter Name");
return;
}
Cursor c=db.rawQuery("SELECT * FROM contacts WHERE name='"+editName.getText()+"'", null);
if(c.moveToFirst())
{
editLat.setText(c.getString(1));
editLng.setText(c.getString(2));
editnumber.setText(c.getString(3));
}
else
{
showMessage("Error", "Invalid Name");
clearText();
}
}
if(view==btnViewAll)
{
Cursor c=db.rawQuery("SELECT * FROM contacts", null);
if(c.getCount()==0)
{
showMessage("Error", "No records found");
return;
}
StringBuffer buffer=new StringBuffer();
while(c.moveToNext())
{
buffer.append("Name: "+c.getString(0)+"\n");
buffer.append("Lat: "+c.getString(1)+"\n");
buffer.append("Lng: "+c.getString(2)+"\n");
buffer.append("Number: "+c.getString(3)+"\n\n");
}
showMessage("Contact Details", buffer.toString());
}
if(view==btnShowInfo)
{
showMessage("Contacts DataBase", "Developed for OneTouch");
}
}
public void showMessage(String title,String message)
{
Builder builder=new Builder(this);
builder.setCancelable(true);
builder.setTitle(title);
builder.setMessage(message);
builder.show();
}
public void clearText()
{
editName.setText("");
editLat.setText("");
editLng.setText("");
editnumber.setText("");
editName.requestFocus();
}
这是我的数据库的代码,我必须从中获取存储在数据库中的纬度和经度值,并在我的主要 Activity 中使用它。我无法编写任何方法来实现它。请帮我编写所需方法的编码。我是安卓新手.....
最佳答案
您可以将数据发送到另一个 Activity,例如使用 intent extra: 你可以阅读这篇文章: How to use putExtra() and getExtra() for string data
另一种方法是将数据设置为应用程序类的变量(有很多方法可以做到): 其中之一你可以在这里阅读Using the Android Application class to persist data
关于android - 如何从sqlite android中的两列中获取值并将其用于另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31534666/