02-18 07:41:43.549: ERROR/AndroidRuntime(513): java.lang.NullPointerException02-18 07:41:43.549: ERROR/AndroidRuntime(513): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at com.nj.dao.UsersSerive.getUsersByLoginI(UsersSerive.java:25)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at com.nj.dao.UsersDaoImpl.getUsersByLoginId(UsersDaoImpl.java:19)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at com.nj.dao.One$1.onClick(One.java:34)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at android.view.View.performClick(View.java:2408)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at android.view.View$PerformClick.run(View.java:8816)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at android.os.Handler.handleCallback(Handler.java:587)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at android.os.Handler.dispatchMessage(Handler.java:92)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at android.os.Looper.loop(Looper.java:123)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at android.app.ActivityThread.main(ActivityThread.java:4627)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at java.lang.reflect.Method.invokeNative(Native Method)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at java.lang.reflect.Method.invoke(Method.java:521)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)02-18 07:41:43.549: ERROR/AndroidRuntime(513): at dalvik.system.NativeStart.main(Native Method)
这个是在运行到SQLiteDatabase sqlite=dbhelper.getWritableDatabase();这一步所出的错 求指导啊
下面的是我DBHelper的代码import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;public class DBHelper extends SQLiteOpenHelper{
private static final String name="mydata";
private static final int version=1; public DBHelper(Context context) {
super(context, name, null, version);
// TODO Auto-generated constructor stub
} @Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table if not exists users(id integer primary key autoincrement,loginId varchar(50),password varchar(50))");
db.execSQL("insert into users(loginId,password) values('123','123')");
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("drop table if exists users");
onCreate(db);
}
}
这个是在运行到SQLiteDatabase sqlite=dbhelper.getWritableDatabase();这一步所出的错 求指导啊
下面的是我DBHelper的代码import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;public class DBHelper extends SQLiteOpenHelper{
private static final String name="mydata";
private static final int version=1; public DBHelper(Context context) {
super(context, name, null, version);
// TODO Auto-generated constructor stub
} @Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table if not exists users(id integer primary key autoincrement,loginId varchar(50),password varchar(50))");
db.execSQL("insert into users(loginId,password) values('123','123')");
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("drop table if exists users");
onCreate(db);
}
}
解决方案 »
- 关于多个ImageView的触摸移动过程,部分ImageView被ImageView遮挡
- 给gps定位activity 添加一个broadcastreciever 短信监听 如何实现??
- [新手求助]请问android开发中怎么在不同的activity中传递String型和Double型数组?
- 修改了drawable里png文件,但是手机运行还是显示旧的图标。
- Webview加载页面后,input输入框等元素点击弹出后再点页面会闪动
- Surface PostBuffer 没看到图像是什么原因?
- 匿名类用起来究竟有些什么优点呢?
- 关于android 出现“Unfortunately,程序名 has stopped” 的问题
- 名称确认---"adb 工具包"
- listview的item怎么固定高度
- getWritableDatabase()出现空指针错误
- 关于android系统GC的问题!
//实例化你的dbhelper类
DBHelper dbhelper=new DBHelper(activity名字.this);
sqlite=dbhelper.getWritableDatabase();
//实例化你的dbhelper类
DBHelper dbhelper=new DBHelper(activity名字.this);
SQLiteDatabase sqlite=dbhelper.getWritableDatabase();
public class UsersSerive {
private DBHelper dbhelper;
public UsersSerive(Context context){
dbhelper=new DBHelper(context);
}
//保存
public void save(Users user){
SQLiteDatabase sqlite=dbhelper.getWritableDatabase();
sqlite.execSQL("insert into users(loginid,password) values(?,?)",new Object[]{user.getLoginId(),user.getPassword()});
}
//根据用户名查找
public Users getUsersByLoginId(String loginId){
Log.e("userserive4", loginId);
SQLiteDatabase sqlite=dbhelper.getWritableDatabase();
Log.e("userserive", loginId);
Cursor cursor=sqlite.rawQuery("select * from users where loginId=?", new String[]{loginId});
Log.e("userserive2", loginId);
if(cursor.moveToNext()){
Users user=new Users();
Log.e("userserive3", loginId);
user.setId(cursor.getInt(0));
user.setLoginId(cursor.getString(1));
user.setPassword(cursor.getString(2));
return user;
}
return null;
}
}
传的就是一个context啊 这里没有activity
最好先初始化一下private DBHelper dbhelper = null;
这是哪句啊?
package com.nj.dao;import android.test.AndroidTestCase;
import android.util.Log;import com.nj.entity.Users;public class UsersDaoImpl extends AndroidTestCase {
public void save(Users user){
UsersSerive userSerive=new UsersSerive(this.getContext());
userSerive.save(user);
}
public Users getUsersByLoginId(String loginId){
Log.e("userDaoImpl", loginId);
UsersSerive userSerive=new UsersSerive(this.getContext());
Users user=new Users();
Log.e("userDaoImpl2", loginId);
user=userSerive.getUsersByLoginId(loginId);
return user;
}
}
UsersDaoImpl.java:19是:user=userSerive.getUsersByLoginId(loginId);
One.java:34是:Users user=userDao.getUsersByLoginId(loginId.getText().toString());归根结底都是dbhelper.getWritableDatabase错了,返回的应该是空的 求指教
[/code]
private DBHelper dbhelper=null;
public UsersSerive(Context context){
dbhelper=new DBHelper(context);
}