Hey Folks は、ログイン認証のために 2 つのアカウントをテーブルに手動で挿入し、その後、アカウントの種類に基づいていくつかの作業を行う単純なアプリケーションを作成しています。Sqlite 関数の設定に問題があります。1 つのパッケージ com.example.emp_management があり、その中に MainActivity.java と Database_Wrap.java の 2 つのクラスがあります。Database_Wrap.java のコードを以下に示します。
package com.example.emp_management;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class Database_Wrap //hotornot
{
public static final String Database_name = "Employee_Managament_System";
public Sql_Lite_Work OurHelper;
public final Context OurContext;
public SQLiteDatabase ourDatabase;
public static class Sql_Lite_Work extends SQLiteOpenHelper
{ //dbhelper = sql_lite_work
public Sql_Lite_Work(Context context)
{
super(context,Database_name , null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db)
{
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE" + "Login_Authentication"+ "(" +
"ID" + "INTEGER PRIMARY KEY AUTOINCREMENT, " +
"UserName" + "TEXT NOT NULL," +
"Password" + "TEXT NOT NULL);"
);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS " + "Login_Authentication");
onCreate(db);
}
}
public Database_Wrap(Context c)
{
OurContext = c;
}
public Database_Wrap Open()
{
OurHelper = new Sql_Lite_Work(OurContext);
ourDatabase = OurHelper.getWritableDatabase();
return this;
}
public void close()
{
OurHelper.close();
}
}
次にやりたいことは、次のようなことをしたいメインアクティビティです。
Database_Wrap entry= new Database_Wrap(MainActivity.this);
次に、Database_Wrap に記述された関数にアクセスして、データベースを開き、管理者および他のユーザーのテーブルに値を書き込みます。
entry.Open();
しかし、Eclipseでは、エントリ時にopen関数にアクセスできません。ここで何が悪いのかわかりません。初心者です。何かを忘れているのかもしれません。よろしければご覧くださいよろしくお願いします!