Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我无法在没有php或任何数据库的情况下从sqlite检索android数据库中的数据_Android_Database_Sqlite_Android Sqlite - Fatal编程技术网

我无法在没有php或任何数据库的情况下从sqlite检索android数据库中的数据

我无法在没有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

我正在做一个项目,需要从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.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数据库的类