package com.haii.android;import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;public class SQLiteTestActivity extends Activity {
OnClickListener listener_add=null;
OnClickListener listener_update=null;
OnClickListener listener_delete=null;
OnClickListener listener_clear=null;
Button button_add;
Button button_update;
Button button_delete;
Button button_clear;
DBConnection helper;
public int id_this;
public interface UserSchema{
String TABLE_NAME="Users";
String ID="_id";
String USER_NAME="user_name";
String ADDRESS="address";
String TELEPHONE="telephone";
String MAIL_ADDRESS="mail_address";
}
/** Called when the activity is first created. */
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// getIntent().setData(Uri.parse("content://com.haii.provider.testprovider"));
// final Uri uri_test=getIntent().getData();
setContentView(R.layout.main);
final EditText mEditText01=(EditText)findViewById(R.id.editText1);
final EditText mEditText02=(EditText)findViewById(R.id.editText2);
final EditText mEditText03=(EditText)findViewById(R.id.editText3);
final EditText mEditText04=(EditText)findViewById(R.id.editText4);
helper=new DBConnection(this);
final SQLiteDatabase db=helper.getWritableDatabase();
final String[] FROM={
UserSchema.ID,
UserSchema.USER_NAME,
UserSchema.TELEPHONE,
UserSchema.ADDRESS,
UserSchema.MAIL_ADDRESS
};
Cursor c=db.query(UserSchema.TABLE_NAME, new String[]{UserSchema.USER_NAME}, null,null,null,null,null);
// Cursor c=managedQuery(uri_test,new String[]{UserSchema.USER_NAME},null,null,null);
c.moveToFirst();
CharSequence[] list=new CharSequence[c.getCount()];
for(int i=0;i<list.length;i++){
list[i]=c.getString(0);
c.moveToNext();
}
c.close();
Spinner spinner=(Spinner)findViewById(R.id.spinner1);
spinner.setAdapter(new ArrayAdapter<CharSequence>(this,android.R.layout.simple_spinner_item,list));
spinner.setOnItemSelectedListener(new OnItemSelectedListener(){ @Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
String user_name=((Spinner)parent).getSelectedItem().toString();
//Cursor c=managedQuery(uri_test,FROM,"user_name='"+user_name+"'",null,null);
Cursor c=db.query("Users", FROM, "user_name='"+user_name+"'", null,null,null,null);
c.moveToFirst();
id_this=Integer.parseInt(c.getString(0));
String user_name_this=c.getString(1);
String telephone_this=c.getString(2);
String address_this=c.getString(3);
String mail_address_this=c.getString(4);
c.close();
mEditText01.setText(user_name_this);
mEditText01.setText(telephone_this);
mEditText03.setText(address_this);
mEditText04.setText(mail_address_this);
// TODO Auto-generated method stub
} @Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
listener_add=new OnClickListener(){ @Override
public void onClick(View v) {
ContentValues values=new ContentValues();
values.put(UserSchema.USER_NAME, mEditText01.getText().toString());
values.put(UserSchema.TELEPHONE, mEditText02.getText().toString());
values.put(UserSchema.ADDRESS, mEditText03.getText().toString());
values.put(UserSchema.MAIL_ADDRESS, mEditText04.getText().toString());// TODO Auto-generated method stub
SQLiteDatabase db=helper.getWritableDatabase();
db.insert(UserSchema.TABLE_NAME, null, values);
db.close();
//getContentResolver().insert(uri_test, values);
onCreate(savedInstanceState);
}
};
listener_update=new OnClickListener(){ @Override
public void onClick(View v) {
ContentValues values=new ContentValues();
values.put(UserSchema.USER_NAME, mEditText01.getText().toString());
values.put(UserSchema.TELEPHONE, mEditText02.getText().toString());
values.put(UserSchema.ADDRESS, mEditText03.getText().toString());
values.put(UserSchema.MAIL_ADDRESS, mEditText04.getText().toString());
String where=UserSchema.ID+" = "+id_this;// TODO Auto-generated method stub
SQLiteDatabase db=helper.getWritableDatabase();
db.update(UserSchema.TABLE_NAME, values, where, null);
db.close();//getContentResolver().update(uri_test, values, where, null);
onCreate(savedInstanceState);// TODO Auto-generated method stub
}
};
listener_delete=new OnClickListener(){ @Override
public void onClick(View v) {
String where=UserSchema.ID+" = "+id_this;
SQLiteDatabase db=helper.getWritableDatabase();
db.delete(UserSchema.TABLE_NAME, where, null);
db.close();
///getContentResolver().delete(uri_test, where,null);// TODO Auto-generated method stub
onCreate(savedInstanceState);
}
};
listener_clear=new OnClickListener(){ @Override
public void onClick(View v) {
mEditText01.setText("");
mEditText02.setText("");
mEditText03.setText("");
mEditText04.setText("");
// TODO Auto-generated method stub
}
};
button_add=(Button)findViewById(R.id.button1);
button_add.setOnClickListener(listener_add);
button_update=(Button)findViewById(R.id.button2);
button_update.setOnClickListener(listener_update);
button_delete=(Button)findViewById(R.id.button3);
button_delete.setOnClickListener(listener_delete);
button_clear=(Button)findViewById(R.id.button4);
button_clear.setOnClickListener(listener_clear);
}
public static class DBConnection extends SQLiteOpenHelper {
private static final String DATABASE_NAME="PhoneBookDB";
private static final int DATABASE_VERSION=1;
public DBConnection(Context ctx) {
super(ctx,DATABASE_NAME,null,DATABASE_VERSION);
// TODO Auto-generated constructor stub
} @Override
public void onCreate(SQLiteDatabase db) {
String sql="CREATE TABLE "+UserSchema.TABLE_NAME+ " ("+UserSchema.ID+" INTEGER primary key autoincrement, "+UserSchema.TABLE_NAME+" text not null, "
+UserSchema.TELEPHONE+" text not null, "
+UserSchema.ADDRESS+" text not null, "
+UserSchema.MAIL_ADDRESS+" text not null "+");";
db.execSQL(sql);// TODO Auto-generated method stub } @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub } }}
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;public class SQLiteTestActivity extends Activity {
OnClickListener listener_add=null;
OnClickListener listener_update=null;
OnClickListener listener_delete=null;
OnClickListener listener_clear=null;
Button button_add;
Button button_update;
Button button_delete;
Button button_clear;
DBConnection helper;
public int id_this;
public interface UserSchema{
String TABLE_NAME="Users";
String ID="_id";
String USER_NAME="user_name";
String ADDRESS="address";
String TELEPHONE="telephone";
String MAIL_ADDRESS="mail_address";
}
/** Called when the activity is first created. */
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// getIntent().setData(Uri.parse("content://com.haii.provider.testprovider"));
// final Uri uri_test=getIntent().getData();
setContentView(R.layout.main);
final EditText mEditText01=(EditText)findViewById(R.id.editText1);
final EditText mEditText02=(EditText)findViewById(R.id.editText2);
final EditText mEditText03=(EditText)findViewById(R.id.editText3);
final EditText mEditText04=(EditText)findViewById(R.id.editText4);
helper=new DBConnection(this);
final SQLiteDatabase db=helper.getWritableDatabase();
final String[] FROM={
UserSchema.ID,
UserSchema.USER_NAME,
UserSchema.TELEPHONE,
UserSchema.ADDRESS,
UserSchema.MAIL_ADDRESS
};
Cursor c=db.query(UserSchema.TABLE_NAME, new String[]{UserSchema.USER_NAME}, null,null,null,null,null);
// Cursor c=managedQuery(uri_test,new String[]{UserSchema.USER_NAME},null,null,null);
c.moveToFirst();
CharSequence[] list=new CharSequence[c.getCount()];
for(int i=0;i<list.length;i++){
list[i]=c.getString(0);
c.moveToNext();
}
c.close();
Spinner spinner=(Spinner)findViewById(R.id.spinner1);
spinner.setAdapter(new ArrayAdapter<CharSequence>(this,android.R.layout.simple_spinner_item,list));
spinner.setOnItemSelectedListener(new OnItemSelectedListener(){ @Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
String user_name=((Spinner)parent).getSelectedItem().toString();
//Cursor c=managedQuery(uri_test,FROM,"user_name='"+user_name+"'",null,null);
Cursor c=db.query("Users", FROM, "user_name='"+user_name+"'", null,null,null,null);
c.moveToFirst();
id_this=Integer.parseInt(c.getString(0));
String user_name_this=c.getString(1);
String telephone_this=c.getString(2);
String address_this=c.getString(3);
String mail_address_this=c.getString(4);
c.close();
mEditText01.setText(user_name_this);
mEditText01.setText(telephone_this);
mEditText03.setText(address_this);
mEditText04.setText(mail_address_this);
// TODO Auto-generated method stub
} @Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
listener_add=new OnClickListener(){ @Override
public void onClick(View v) {
ContentValues values=new ContentValues();
values.put(UserSchema.USER_NAME, mEditText01.getText().toString());
values.put(UserSchema.TELEPHONE, mEditText02.getText().toString());
values.put(UserSchema.ADDRESS, mEditText03.getText().toString());
values.put(UserSchema.MAIL_ADDRESS, mEditText04.getText().toString());// TODO Auto-generated method stub
SQLiteDatabase db=helper.getWritableDatabase();
db.insert(UserSchema.TABLE_NAME, null, values);
db.close();
//getContentResolver().insert(uri_test, values);
onCreate(savedInstanceState);
}
};
listener_update=new OnClickListener(){ @Override
public void onClick(View v) {
ContentValues values=new ContentValues();
values.put(UserSchema.USER_NAME, mEditText01.getText().toString());
values.put(UserSchema.TELEPHONE, mEditText02.getText().toString());
values.put(UserSchema.ADDRESS, mEditText03.getText().toString());
values.put(UserSchema.MAIL_ADDRESS, mEditText04.getText().toString());
String where=UserSchema.ID+" = "+id_this;// TODO Auto-generated method stub
SQLiteDatabase db=helper.getWritableDatabase();
db.update(UserSchema.TABLE_NAME, values, where, null);
db.close();//getContentResolver().update(uri_test, values, where, null);
onCreate(savedInstanceState);// TODO Auto-generated method stub
}
};
listener_delete=new OnClickListener(){ @Override
public void onClick(View v) {
String where=UserSchema.ID+" = "+id_this;
SQLiteDatabase db=helper.getWritableDatabase();
db.delete(UserSchema.TABLE_NAME, where, null);
db.close();
///getContentResolver().delete(uri_test, where,null);// TODO Auto-generated method stub
onCreate(savedInstanceState);
}
};
listener_clear=new OnClickListener(){ @Override
public void onClick(View v) {
mEditText01.setText("");
mEditText02.setText("");
mEditText03.setText("");
mEditText04.setText("");
// TODO Auto-generated method stub
}
};
button_add=(Button)findViewById(R.id.button1);
button_add.setOnClickListener(listener_add);
button_update=(Button)findViewById(R.id.button2);
button_update.setOnClickListener(listener_update);
button_delete=(Button)findViewById(R.id.button3);
button_delete.setOnClickListener(listener_delete);
button_clear=(Button)findViewById(R.id.button4);
button_clear.setOnClickListener(listener_clear);
}
public static class DBConnection extends SQLiteOpenHelper {
private static final String DATABASE_NAME="PhoneBookDB";
private static final int DATABASE_VERSION=1;
public DBConnection(Context ctx) {
super(ctx,DATABASE_NAME,null,DATABASE_VERSION);
// TODO Auto-generated constructor stub
} @Override
public void onCreate(SQLiteDatabase db) {
String sql="CREATE TABLE "+UserSchema.TABLE_NAME+ " ("+UserSchema.ID+" INTEGER primary key autoincrement, "+UserSchema.TABLE_NAME+" text not null, "
+UserSchema.TELEPHONE+" text not null, "
+UserSchema.ADDRESS+" text not null, "
+UserSchema.MAIL_ADDRESS+" text not null "+");";
db.execSQL(sql);// TODO Auto-generated method stub } @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub } }}
解决方案 »
- 手机连接wifi,怎么获取这个该wifi局域网中所有的IP
- android短信的联系人按钮如何实现?求大神指点?
- NDK下调用JAVA层的类,老是报signal 11 (SIGSEGV),code 1 (SEGV_MAPERR), fault addr fffffff4
- anroid怎么30秒连接一个服务器
- android得到系统时间怎么判断是白天还是晚上。
- ndk 开发环境怎么搭建
- 大牛,聊天界面默认第一行和第二行消息怎么设置啊
- axure画原型图的问题
- 安卓开发如何储存输入的数据并用listview输出显示出来
- 求助:"Fragment"程序包不存在
- 启动模拟器时报错:Could not open
- Android 应用程序中的多个界面是怎样实现的?
参考:package com.jftt.smart.db;
import com.jftt.smart.data.Const;import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;/**
* class name:SQLiteOpenHelper<BR>
* class description:<BR>
* PS: <BR>
*
* @version 1.00 2011/09/21
* @author CODYY)peijiangping
*/
public class DB extends SQLiteOpenHelper {
private final static String DATEBASE_NAME = "smart scence.db";
private final static int DATABASE_VERSION = 1; private final static String TABLE_ROUTINE = "routine";
private final static String TABLE_DETAIL = "routine_detail"; private final static String TABLE_SCENCE = "scene"; public DB(Context context) {
super(context, DATEBASE_NAME, null, DATABASE_VERSION);
} @Override
public void onCreate(SQLiteDatabase db) { // 情景模式表
String sql = "CREATE TABLE "
+ TABLE_SCENCE
+ "(_id INTEGER DEFAULT '1' NOT NULL PRIMARY KEY AUTOINCREMENT,"
+ "icon INTEGER,"
+ "name TEXT,"
+ "run NUMERIC,"
// + "ringtones INTEGER NOT NULL ,"
+ "r_ring NONE,"
// + "volume INTEGER NOT NULL CONSTRAINT fk_volume_id REFERENCES volume(_id) ON DELETE CASCADE,"
+ "v_ring INTEGER," + "v_media INTEGER," + "v_clock INTEGER,"
+ "v_inform INTEGER,"
+ "shake NUMERIC,"
+ "wallpaper NONE," + "topics NONE," + "backlight INTEGER,"
+ "backlightTime INTEGER," + "bluetooth NUMERIC,"
+ "re TEXT)";
db.execSQL(sql);
// 作息模式表
sql = "CREATE TABLE " + TABLE_ROUTINE
+ "(_id INTEGER DEFAULT '1' NOT NULL PRIMARY KEY AUTOINCREMENT,"
+ "name TEXT NOT NULL," + "run NUMERIC NOT NULL,"+ "tempset NUMERIC,"
+ "re TEXT)";
db.execSQL(sql); // 作息明细表
sql = "CREATE TABLE "
+ TABLE_DETAIL
+ "(_id INTEGER DEFAULT '1' NOT NULL PRIMARY KEY AUTOINCREMENT,"
+ "rest_id INTEGER,"
+ "ss_id INTEGER,"
+ "packagename TEXT,"
+ "labelname TEXT,"
+ "wifi NUMERIC,"
+ "flightmode NUMERIC,"
+ "week TEXT,"
+ "starttime NUMERIC,"
+ "endtime NUMERIC,"
+ "re TEXT)";
db.execSQL(sql);
// 标准
sql = "insert into scene(name,run,r_ring,v_ring,v_media,v_clock,v_inform,shake,backlight,backlightTime,bluetooth,re) values(?,?,?,?,?,?,?,?,?,?,?,?)";
db.execSQL(sql, new Object[] { Const.MODE_GENERAL, 1, "Riffing.mp3",
5, 10, 5, 5,0,128,60,0,"General Mode"});
// 震动
sql = "insert into scene(name,run,r_ring,v_ring,v_media,v_clock,v_inform,shake,backlight,backlightTime,bluetooth,re) values(?,?,?,?,?,?,?,?,?,?,?,?)";
db.execSQL(sql, new Object[] { Const.MODE_VIBRATE, 0, "Riffing.mp3",
0, 0, 0, 0,1,128,60,0,"Vibrate Mode"});
// 静音
sql = "insert into scene(name,run,r_ring,v_ring,v_media,v_clock,v_inform,shake,backlight,backlightTime,bluetooth,re) values(?,?,?,?,?,?,?,?,?,?,?,?)";
db.execSQL(sql, new Object[] {Const.MODE_SILENT, 0, "Riffing.mp3",
0, 0, 0, 0,0,128,60,0,"Silent"});
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "DROP TABLE IF EXISTS " + TABLE_ROUTINE;
db.execSQL(sql);
sql = "DROP TABLE IF EXISTS " + TABLE_DETAIL;
db.execSQL(sql);
// sql = "DROP TABLE IF EXISTS " + TABLE_RING;
// db.execSQL(sql);
//
// sql = "DROP TABLE IF EXISTS " + TABLE_VOLUMe;
// db.execSQL(sql);
sql = "DROP TABLE IF EXISTS " + TABLE_SCENCE;
db.execSQL(sql);
onCreate(db);
}
//
// /**
// * DB操作[增、删、改]
// * @param sql
// * @param args
// */
public void execSQL(String sql, Object[] args){
SQLiteDatabase db = this.getReadableDatabase();
db.execSQL(sql,args);
}
/**
* DB查询
* @param sql
* @param args
* @return
*/
public Cursor query(String sql, String[] args){
SQLiteDatabase db = this.getReadableDatabase();
return db.rawQuery(sql, args);
}
/*
* create table foo ( id INTEGER NOT NULL PRIMARY KEY );
*
* CREATE TABLE bar ( id INTEGER NOT NULL PRIMARY KEY, foo_id INTEGER NOT
* NULL CONSTRAINT fk_foo_id REFERENCES foo(id) ON DELETE CASCADE ); CREATE
* TRIGGER fki_bar_foo_id BEFORE INSERT ON bar FOR EACH ROW BEGIN SELECT
* RAISE(ROLLBACK, 'insert on table "bar" violates foreign key constraint
* "fk_foo_id"') WHERE (SELECT id FROM foo WHERE id = NEW.foo_id) IS NULL;
* END; CREATE TRIGGER fkd_bar_foo_id BEFORE DELETE ON foo FOR EACH ROW
* BEGIN SELECT RAISE(ROLLBACK, 'delete on table "foo" violates foreign key
* constraint "fk_foo_id"') WHERE (SELECT foo_id FROM bar WHERE foo_id =
* OLD.id) IS NOT NULL; END;
*/
}
如果你用的是eclipse。。 在 选项 window -showview-other-android-logcat。。红色的log是错误的。 把他贴出来看看
11-10 03:44:05.983: ERROR/Database(494): android.database.sqlite.SQLiteException: table Users has no column named user_name: , while compiling: INSERT INTO Users(mail_address, address, telephone, user_name) VALUES(?, ?, ?, ?);
11-10 03:44:05.983: ERROR/Database(494): at android.database.sqlite.SQLiteProgram.native_compile(Native Method)
11-10 03:44:05.983: ERROR/Database(494): at android.database.sqlite.SQLiteProgram.compile(SQLiteProgram.java:110)
11-10 03:44:05.983: ERROR/Database(494): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
11-10 03:44:05.983: ERROR/Database(494): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:41)
11-10 03:44:05.983: ERROR/Database(494): at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:925)
11-10 03:44:05.983: ERROR/Database(494): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1300)
11-10 03:44:05.983: ERROR/Database(494): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1173)
11-10 03:44:05.983: ERROR/Database(494): at com.haii.SQLtest2Activity$2.onClick(SQLtest2Activity.java:113)
11-10 03:44:05.983: ERROR/Database(494): at android.view.View.performClick(View.java:2344)
11-10 03:44:05.983: ERROR/Database(494): at android.view.View.onTouchEvent(View.java:4133)
11-10 03:44:05.983: ERROR/Database(494): at android.widget.TextView.onTouchEvent(TextView.java:6510)
11-10 03:44:05.983: ERROR/Database(494): at android.view.View.dispatchTouchEvent(View.java:3672)
11-10 03:44:05.983: ERROR/Database(494): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
11-10 03:44:05.983: ERROR/Database(494): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
11-10 03:44:05.983: ERROR/Database(494): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
11-10 03:44:05.983: ERROR/Database(494): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
11-10 03:44:05.983: ERROR/Database(494): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
11-10 03:44:05.983: ERROR/Database(494): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1712)
11-10 03:44:05.983: ERROR/Database(494): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1202)
11-10 03:44:05.983: ERROR/Database(494): at android.app.Activity.dispatchTouchEvent(Activity.java:1987)
11-10 03:44:05.983: ERROR/Database(494): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1696)
11-10 03:44:05.983: ERROR/Database(494): at android.view.ViewRoot.handleMessage(ViewRoot.java:1658)
11-10 03:44:05.983: ERROR/Database(494): at android.os.Handler.dispatchMessage(Handler.java:99)
11-10 03:44:05.983: ERROR/Database(494): at android.os.Looper.loop(Looper.java:123)
11-10 03:44:05.983: ERROR/Database(494): at android.app.ActivityThread.main(ActivityThread.java:4203)
11-10 03:44:05.983: ERROR/Database(494): at java.lang.reflect.Method.invokeNative(Native Method)
11-10 03:44:05.983: ERROR/Database(494): at java.lang.reflect.Method.invoke(Method.java:521)
11-10 03:44:05.983: ERROR/Database(494): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
11-10 03:44:05.983: ERROR/Database(494): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
11-10 03:44:05.983: ERROR/Database(494): at dalvik.system.NativeStart.main(Native Method)
这是你说的log吧,不过看不懂
11-10 03:48:31.864: ERROR/dalvikvm(529): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
是不是在androidmanifest.xml里面要设置许可啊?
检查下建表语句,Users是否有user_name这样一列。