我无法在没有php或任何数据库的情况下从sqlite检索android数据库中的数据
我正在做一个项目,需要从sqlite数据库中检索数据,但无法做到这一点。请帮我渡过难关 我的登录码我无法在没有php或任何数据库的情况下从sqlite检索android数据库中的数据,android,database,sqlite,android-sqlite,Android,Database,Sqlite,Android Sqlite,我正在做一个项目,需要从sqlite数据库中检索数据,但无法做到这一点。请帮我渡过难关 我的登录码 package com.example.pallavi.myproject; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bun
package com.example.pallavi.myproject;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.InputType;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
public class Login extends Activity{
Intent i=null;
EditText tv1,tv4;
boolean flag=false;
SQLiteDatabase db=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
tv1 = (EditText) findViewById(R.id.phone2);
tv4 = (EditText) findViewById(R.id.password2);
db = openOrCreateDatabase("mydb", MODE_PRIVATE, null);
}
public void action(View v)
{
String mobile_no=tv1.getText().toString();
String password=tv4.getText().toString();
/* if(mobile_no==null||mobile_no=="")
{
show("Please Enter Correct mobile number.");
}
else if(password==null||password=="")
{
show("Please Enter Correct Password.");
}
else*/
{
show("Query is not executing");
String[] args={"null"};
Cursor c=db.rawQuery("select * from login where mobile_no='"+mobile_no+"'",args);
c.moveToFirst();
show("not going inside");
if(c.getCount()>0)
{
show("Success fully login");
i=new Intent(this,post.class);
db.close();
finish();
}
else
show("Wrong Password or Mobile number.");
}
}
public void acc(View v)
{
if (v.getId()==R.id.button)
{
Intent i=new Intent(Login.this,MainActivity.class);
startActivity(i);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
}
public void show(String str)
{
Toast.makeText(this, str, Toast.LENGTH_LONG).show();
}
}
请核对一下。
我正在尝试从db中检索数据并进行检查,但它没有执行该操作。您可以使用它从Sqlite中检索数据 首先,在需要检索数据的地方使用以下代码:
OurAppsPackages = new ArrayList<String>();
OurAppsPackages = databaseHelper.getOurAllAppsPackage();
OurAppsPackages=newarraylist();
OurAppsPackages=databaseHelper.getOurAllAppsPackage();
在数据库所在的B2MDatabaseHelper类中使用下面的代码
public ArrayList<String> getOurAllAppsPackage() {
SQLiteDatabase db = this.getWritableDatabase();
// Cursor cursor = db.query("day_info", null, " emp_name=?", new String[]{userName}, null, null, null);
Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
cursor.moveToFirst();
ArrayList<String> pkgs= new ArrayList<String>();
if (cursor != null && cursor.getCount() > 0) {
cursor.moveToFirst();
for (int i = 0; i < cursor.getCount(); i++) {
String pkgN = cursor.getString(cursor.getColumnIndex("PackageName"));
pkgs.add(pkgN.toString());
cursor.moveToNext();
}
}
return pkgs;
}
public ArrayList getOurAllAppsPackage(){
SQLiteDatabase db=this.getWritableDatabase();
//Cursor Cursor=db.query(“day_info”,null,“emp_name=?”,新字符串[]{userName},null,null,null);
Cursor Cursor=db.query(表名称,null,null,null,null,null);
cursor.moveToFirst();
ArrayList pkgs=新的ArrayList();
if(cursor!=null&&cursor.getCount()>0){
cursor.moveToFirst();
对于(int i=0;i
如果要从SQLite检索数据以便登录,请使用以下代码:
public void login_user(View view) {
editTextUserName = (EditText) findViewById(R.id.editText2);
editTextID = (EditText) findViewById(R.id.editText);
editTextID.setFocusable(true);
username = editTextUserName.getText().toString();
password = editTextID.getText().toString();
final String idd = password;
final String name = username;
if (password.equals("")) {
editTextID.setError("Enter User Id");
editTextID.requestFocus();
} else if (username.equals("")) {
editTextUserName.setError("Enter User Name");
editTextUserName.requestFocus();
} else {
String storedPassword = databaseHelper.getSinUserlgeEntry(username,password);
// check if the Stored password matches with Password entered by user
if (password.equals(storedPassword)) {
Toast toast = Toast.makeText(this, "Congrats: Login Successful", Toast.LENGTH_LONG);
View vieew = toast.getView();
// vieew.setBackgroundColor(Color.parseColor("#BD8BDC"));
vieew.setBackgroundResource(R.drawable.textinputborder);
toast.setView(vieew);
// TextView text = (TextView) view.findViewById(android.R.id.message);
/*here you can do anything with text*/
toast.show();
Intent intent = new Intent(this, user_home.class);
intent.putExtra("Name", username);
intent.putExtra("ID", password);
startActivity(intent);
} else {
Toast toast = Toast.makeText(this, "User Name or Password does not match", Toast.LENGTH_LONG);
View vieew = toast.getView();
// vieew.setBackgroundColor(Color.parseColor("#BD8BDC"));
vieew.setBackgroundResource(R.drawable.textinputborder);
toast.setView(vieew);
// TextView text = (TextView) view.findViewById(android.R.id.message);
/*here you can do anything with text*/
toast.show();
}
editTextUserName.setText("");
editTextID.setText("");
editTextID.requestFocus();
}
}
最后在SQLite数据库类中使用:
public String getSinUserlgeEntry(String userName, String Id) {
SQLiteDatabase db = this.getWritableDatabase();
// Cursor cursor = db.query("day_info", null, " emp_name=?", new String[]{userName}, null, null, null);
Cursor cursor = db.query(TABLE_name, null, emp_name + " LIKE '%" + userName + "%' AND " + main_IDD + " LIKE '%" + Id + "%'", null, null, null, null);
if (cursor.getCount() < 1) // UserName Not Exist
{
cursor.close();
return "NOT EXIST";
}
cursor.moveToFirst();
String iddd = cursor.getString(cursor.getColumnIndex("mid"));
cursor.close();
return iddd;
}
public String getsinuserlgentry(字符串用户名、字符串Id){
SQLiteDatabase db=this.getWritableDatabase();
//Cursor Cursor=db.query(“day_info”,null,“emp_name=?”,新字符串[]{userName},null,null,null);
Cursor Cursor=db.query(表名称,null,emp名称+“类似“%”+用户名+“%”和“+主Id+”类似“%”+Id+“%”,null,null,null);
if(cursor.getCount()<1)//用户名不存在
{
cursor.close();
返回“不存在”;
}
cursor.moveToFirst();
String iddd=cursor.getString(cursor.getColumnIndex(“mid”);
cursor.close();
返回iddd;
}
您在“不执行操作”下的意思是什么?数据库中没有数据?没有调用某个方法?你得到了一个异常?我也有数据库,甚至还有值,我没有检查值和条件。并且没有引发异常。当你调用openOrCreateDatabase()时,你应该以静态方式调用它:SQLiteDatabase.openOrCreateDatabase()。你的代码甚至编译起来都很奇怪。我看不到你在任何地方调用方法action()。是否在XML中设置onclick侦听器?永远不要这样做。这是禁止的。我怎么不能将Button设置为onclick,如果我不做任何其他操作,它将不起作用。我知道关于DatabaseHelperB2 DatabaseHelper是一个可以创建SQLite数据库的类