android 和sqlite 问题? 小白不会 大佬们看一看! 5C

om.example.lenovo.ciba E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.lenovo.ciba, PID: 19916
java.lang.IllegalStateException: Could not execute method for android:onClick
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293)
at android.view.View.performClick(View.java:6213)
at android.widget.TextView.performClick(TextView.java:11074)
at android.view.View$PerformClick.run(View.java:23645)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6646)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)
at android.view.View.performClick(View.java:6213) 
at android.widget.TextView.performClick(TextView.java:11074) 
at android.view.View$PerformClick.run(View.java:23645) 
at android.os.Handler.handleCallback(Handler.java:751) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6646) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358) 
Caused by: java.lang.NumberFormatException: For input string: ""
at java.lang.Integer.parseInt(Integer.java:533)
at java.lang.Integer.parseInt(Integer.java:556)
at com.example.lenovo.ciba.BasestaffActivity.addStaff(BasestaffActivity.java:30)
at java.lang.reflect.Method.invoke(Native Method) 
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) 
at android.view.View.performClick(View.java:6213) 
at android.widget.TextView.performClick(TextView.java:11074) 
at android.view.View$PerformClick.run(View.java:23645) 
at android.os.Handler.handleCallback(Handler.java:751) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6646) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358) 

package com.example.lenovo.ciba;

import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class BasestaffActivity extends AppCompatActivity {
private EditText etSname, etAge,etXinzi,etTel,etZhiwei,etBumen;
private TextView tvShow;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_basestaff);
this.etSname = (EditText) findViewById(R.id.edit_staff);
this.etAge = (EditText) findViewById(R.id.edit_age);
this.etXinzi = (EditText) findViewById(R.id.edit_xinzi);
this.etTel = (EditText) findViewById(R.id.edit_Tel);
this.etZhiwei = (EditText) findViewById(R.id.edit_zhiwei);
this.etBumen = (EditText) findViewById(R.id.edit_bumen);
this.tvShow = (TextView) findViewById(R.id.textStaff);}

// 添加员工
public void addStaff(View view){
    // 获取输入的员工数据
    String sname = etSname.getText().toString();
    int age = Integer.parseInt(etAge.getText().toString());
    int xinzi  = Integer.parseInt(etXinzi.getText().toString());
    int tel = Integer.parseInt(etTel.getText().toString());
    String zhiwei = etZhiwei.getText().toString();
    String bumen = etBumen.getText().toString();
    // 向数据库表中添加员工
    // 1. 实例化数据库的操作类
    SQLiteDBHelper sqLiteDBHelper = new SQLiteDBHelper(getApplicationContext());
    // 2. 通过操作类获取数据库实例
    SQLiteDatabase sqLiteDatabase = sqLiteDBHelper.getWritableDatabase();
    // 3. 通过数据库实例执行SQL命令
    try {
        sqLiteDatabase.execSQL("insert into student(sname,age,tel,xinzi,zhiwei,bumen) values(?,?,?,?,?,?)", new Object[]{sname, age,tel,xinzi,zhiwei,bumen});
        Toast.makeText(this, "员工信息添加成功!", Toast.LENGTH_SHORT).show();
        etSname.setText("");
        etAge.setText("");
        etXinzi.setText("");
        etTel.setText("");
        etZhiwei.setText("");
        etTel.setText("");
    }catch (Exception e){
        e.printStackTrace();
        Toast.makeText(this, "员工信息添加失败!", Toast.LENGTH_SHORT).show();
    }
}

}

8个回答

Caused by: java.lang.NumberFormatException: For input string: ""
看下at com.example.lenovo.ciba.BasestaffActivity.addStaff(BasestaffActivity.java:30)
里面有一个integer.parseInt的方法,将字符串转换为数字,但是这个字符串是空的。

Caused by: java.lang.reflect.InvocationTargetException

包冲突、有重复包或者缺少包;
项目jdk和部署jdk版本不一样,导致InvocationTargetException异常信息返回一个空值,没有调用invoc里的重写消息方法;
映射文件发生改变。

检查数据库表名是否正确是否一致
检查导入的jar包版本是否正确
检查是否重复导入包。Android Studio自带了SQlite包,无需重复导入包。
若是函数出错请将代码贴上

qq_36146165
星星的小孩 回复qq_38034939: 建立数据库表的代码呢
2 年多之前 回复
qq_38034939
qq_38034939 贴出来了
2 年多之前 回复

int age = Integer.parseInt(etAge.getText().toString());
int xinzi = Integer.parseInt(etXinzi.getText().toString());
int tel = Integer.parseInt(etTel.getText().toString());

调试,看看这三行代码的文本是不是空

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复qq_38034939: 检查这些控件的id,有没有找到,是不是搞混淆了。再检查你的数据库字段的类型
2 年多之前 回复
qq_38034939
qq_38034939 回复qq_38034939: 但是不会改!
2 年多之前 回复
qq_38034939
qq_38034939 对对 要是加了 age xinzi tel bumen 就不行 剩下 age id name 就可以
2 年多之前 回复

int age = Integer.parseInt(etAge.getText().toString());
int xinzi = Integer.parseInt(etXinzi.getText().toString());
int tel = Integer.parseInt(etTel.getText().toString());
很明显这一段有问题啦
一般都不是这样写的,都是先获取值,再判断是否为空,再进行类型转换,避免一下类型转换的错误。
例如:String age = etAge.getText().toString().trim();
if(age!=null && !"".equals(age)){
int myAge = Integer.parseInt(age);
}
其他的类似,一个个错误慢慢改,这是最简单的。

Caused by: java.lang.NumberFormatException: For input string: ""
Integer.parserInt(""),传了个空窜报错
一楼正解

还有种可能你数据库一开始建立的时候有没有xinzi tel bumen这几个字段?
数据库版本升级下试试

java.lang.NumberFormatException: For input string: ""
at java.lang.Integer.parseInt(Integer.java:533)
at java.lang.Integer.parseInt(Integer.java:556)

看看533和556行,parseInt 参数为“”,所以异常了。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android小白使用sqlite出现闪退问题

新手,想写一个学生管理系统,用到SQLite,主活动里一段如下 private Mydatabase mydb;  private AutoCompleteTextView mIDView; private EditText mPasswordView;  private View mProgressView;  private View mLoginFormView;  @Override  protected void onCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); mydb=newMydatabase(this,"mydatabase",null,1);  SQLiteDatabasedb=mydb.getWritableDatabase(); 里面Mydatabase是定义好的继承SQliteOpenHelpe的类应该没有问题。安装到手机上打开直接闪退,而把最后这行SQLiteDatabasedb=mydb.getWritableDatabase();这行注释掉就不会闪退,求教错误出外哪啊T T(android studio抽风看不了logcat)

android sqlite搞不太清除

不太清楚sqlite,在网上搜了一下,看别人写的sqlite是用代码写的,创建数据库也是在代码执行的,那么这个程序退出了之后,这个创建的数据库还有吗?。 我想用android做一个简易的图书管理系统,其实就是连接数据库进行一些增删改查,老师要求要用c#和android做,我想用android做,但是电脑上sql server有点问题,听别人说android用sqlite可以做。但是在网上查了一下,不太清楚sqlite到底怎么用?求大神指点下

android有关sqlite数据库创建问题

刚开始做android,碰到了数据库sqlite的问题,把数据库连接和创建表的代码打在一起,就是照着菜鸟教程上的代码打的,也不报错,运行也没问题,但是就是什么都没有,请教一下各位谁能告诉我是怎么回事?![图片说明](https://img-ask.csdn.net/upload/201606/17/1466169168_292632.jpg)![图片说明](https://img-ask.csdn.net/upload/201606/17/1466169191_727154.jpg)

关于android sqlite的问题

android 中sqlite 插入数据的语句要不要写db.close();我后面还要调用查询的语句,在插入完成后要关闭吗? 如果我用到getReadableDatabase();查询,需要调用db.close();吗?我对sqlite不熟,求大神指点!谢谢!

android中sqlite一直报错

在应用中用到sqlite,创建了一些表,代码如下: db.execSQL("CREATE TABLE IF NOT EXISTS " + GAMES_HISTORY_TABLE+ " (" + GAME_KEY + " INTEGER PRIMARY KEY AUTOINCREMENT, " + RIGHT_DRILLS + "INTEGER NOT NULL, " + NUM_OF_DRILLS + "INTEGER NOT NULL, " + GAME_DATE + "DATE);" ); 添加记录的代码: public long addScore(int totalDrills, int numberOfRightDrills) { ContentValues cv = new ContentValues(); cv.put(RIGHT_DRILLS, numberOfRightDrills); cv.put(NUM_OF_DRILLS, totalDrills); Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); cv.put(GAME_DATE, dateFormat.format(date)); return dataBase.insert(GAMES_HISTORY_TABLE, null, cv); } 常变量的声明如下: private static final String GAMES_HISTORY_TABLE = "scoers"; private static final String GAME_KEY = "game_id"; private static final String RIGHT_DRILLS = "number_of_rihgt_drill"; private static final String NUM_OF_DRILLS = "total_drill"; private static final String GAME_DATE = "game_date"; 然后在logcat中获得下面异常: 01-13 20:13:45.485: D/szipinf(658): Initializing inflate state 01-13 20:13:47.375: D/szipinf(658): Initializing inflate state 01-13 20:13:47.485: I/Database(658): sqlite returned: error code = 1, msg = table scoers has no column named game_date 01-13 20:13:47.495: E/Database(658): Error inserting game_date=13-01-2013 20:13:47 total_drill=4 number_of_rihgt_drill=0 01-13 20:13:47.495: E/Database(658): android.database.sqlite.SQLiteException: table scoers has no column named game_date: , while compiling: INSERT INTO scoers(game_date, total_drill, number_of_rihgt_drill) VALUES(?, ?, ?); 01-13 20:13:47.495: E/Database(658): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method) 01-13 20:13:47.495: E/Database(658): at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92) 01-13 20:13:47.495: E/Database(658): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65) 01-13 20:13:47.495: E/Database(658): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83) 01-13 20:13:47.495: E/Database(658): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:41) 01-13 20:13:47.495: E/Database(658): at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1149) 01-13 20:13:47.495: E/Database(658): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1569) 01-13 20:13:47.495: E/Database(658): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1426) 01-13 20:13:47.495: E/Database(658): at com.simplemathgame.GameDB.addScore(GameDB.java:83) 01-13 20:13:47.495: E/Database(658): at com.simplemathgame.Results.onCreate(Results.java:99) 01-13 20:13:47.495: E/Database(658): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 01-13 20:13:47.495: E/Database(658): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 01-13 20:13:47.495: E/Database(658): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 01-13 20:13:47.495: E/Database(658): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 01-13 20:13:47.495: E/Database(658): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 01-13 20:13:47.495: E/Database(658): at android.os.Handler.dispatchMessage(Handler.java:99) 01-13 20:13:47.495: E/Database(658): at android.os.Looper.loop(Looper.java:123) 01-13 20:13:47.495: E/Database(658): at android.app.ActivityThread.main(ActivityThread.java:3683) 01-13 20:13:47.495: E/Database(658): at java.lang.reflect.Method.invokeNative(Native Method) 01-13 20:13:47.495: E/Database(658): at java.lang.reflect.Method.invoke(Method.java:507) 01-13 20:13:47.495: E/Database(658): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 01-13 20:13:47.495: E/Database(658): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 01-13 20:13:47.495: E/Database(658): at dalvik.system.NativeStart.main(Native Method) 01-13 20:13:47.495: I/Database(658): sqlite returned: error code = 1, msg = no such column: sent 01-13 20:13:47.495: W/System.err(658): android.database.sqlite.SQLiteException: no such column: sent: , while compiling: SELECT sent FROM feedback 01-13 20:13:47.495: W/System.err(658): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method) 01-13 20:13:47.506: W/System.err(658): at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92) 01-13 20:13:47.506: W/System.err(658): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65) 01-13 20:13:47.506: W/System.err(658): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83) 01-13 20:13:47.506: W/System.err(658): at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:49) 01-13 20:13:47.506: W/System.err(658): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:42) 01-13 20:13:47.506: W/System.err(658): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1356) 01-13 20:13:47.506: W/System.err(658): at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1235) 01-13 20:13:47.506: W/System.err(658): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1189) 01-13 20:13:47.506: W/System.err(658): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1271) 01-13 20:13:47.506: W/System.err(658): at com.simplemathgame.GameDB.isFeedbackGiven(GameDB.java:117) 01-13 20:13:47.506: W/System.err(658): at com.simplemathgame.Results.onCreate(Results.java:100) 01-13 20:13:47.506: W/System.err(658): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 01-13 20:13:47.506: W/System.err(658): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 01-13 20:13:47.506: W/System.err(658): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 01-13 20:13:47.506: W/System.err(658): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 01-13 20:13:47.515: W/System.err(658): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 01-13 20:13:47.515: W/System.err(658): at android.os.Handler.dispatchMessage(Handler.java:99) 01-13 20:13:47.515: W/System.err(658): at android.os.Looper.loop(Looper.java:123) 01-13 20:13:47.515: W/System.err(658): at android.app.ActivityThread.main(ActivityThread.java:3683) 01-13 20:13:47.515: W/System.err(658): at java.lang.reflect.Method.invokeNative(Native Method) 01-13 20:13:47.515: W/System.err(658): at java.lang.reflect.Method.invoke(Method.java:507) 01-13 20:13:47.515: W/System.err(658): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 01-13 20:13:47.515: W/System.err(658): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 01-13 20:13:47.515: W/System.err(658): at dalvik.system.NativeStart.main(Native Method) 01-13 20:13:47.525: W/db(658): problem

Android获取SQLite里面的本地音乐清单

编写音乐播放器的时候在写获取SQLite里面的本地音乐清单时遇到如下这个异常: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.musicplayer/com.example.musicplayer.activity.Inventory}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.ContentResolver android.content.Context.getContentResolver()' on a null object reference 下面是我的获取SQLite里面的本地音乐清单的代码类 public class Locality extends Activity { public List<Map<String, Object>> getCatalog() { Cursor mAudioCursor = this.getContentResolver().query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, // 查询条件 null, // 条件的对应?的参数 MediaStore.Audio.AudioColumns.TITLE);// 排序方式 List<Map<String, Object>> mListData = new ArrayList<Map<String, Object>>(); for (int i = 0; i < mAudioCursor.getCount(); i++) { mAudioCursor.moveToNext(); // 找到歌曲标题和总时间对应的列索引 int indexTitle = mAudioCursor .getColumnIndex(MediaStore.Audio.AudioColumns.TITLE);// 歌名 int indexARTIST = mAudioCursor .getColumnIndex(MediaStore.Audio.AudioColumns.ARTIST);// 艺术家 /* * int indexALBUM = mAudioCursor * .getColumnIndex(MediaStore.Audio.AudioColumns.ALBUM);//专辑 */ String strTitle = mAudioCursor.getString(indexTitle); String strARTIST = mAudioCursor.getString(indexARTIST); /* String strALBUM = mAudioCursor.getString(indexALBUM); */ HashMap<String, Object> nowMap = new HashMap<String, Object>(); nowMap.put("SongName", strTitle); nowMap.put("SongMessage", strARTIST); mListData.add(nowMap); } return mListData; } } 提示我是这一行出错: Cursor mAudioCursor = this.getContentResolver().query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null,// 字段 没有字段 就是查询所有信息 相当于SQL语句中的 “ // * ” null, // 查询条件 null, // 条件的对应?的参数 MediaStore.Audio.AudioColumns.TITLE);// 排序方式

使用android的SQLite数据库能存储多大数据

看到网上说SQLite数据库的大小是2TB,但是我觉得这个数据库不应该跟手机内存相联系吗? android上的SQLite数据库真的能容纳下2TB的数据吗???

android sqlite的问题

我用的是SqliteOpenHelper,问题就出在我建的两个表,第一个表应该是成功的,因为我用第一个表,建的是用户表,可以插入,并取出对比密码,但是第二个表,我想做个记录表的,同样的建表语句和插入取出操作,程序却崩了,空指针错误,但是sqlite又不能直接查看,我用的是android studio,插件又要收费,我的疑问是不能建两个表吗还是别的什么错误?或者推荐一下android studio上的免费sqlite插件,谢谢

android sqlite效率问题

我本地用到的sqlite数据库中有大概10W条数据左右,会经常需要根据不同的条件来查询 由于查询比较频繁,用到了greenDao这个框架,查询确实很快,但是一排序就很慢了 我又将数据生成一个视图来再查询,但是sqlite每次查询都需要去创建视图(不知道怎么表达,大概就是这个意思);这样一来又很慢了 大家有没有什么比较好的办法?

android 中 sqlite 一般用来干什么?

做过几个APP,但是很少用到sqlite ,所以想请教各位大神,我们一般在什么时候会用到 sqlite呢,用来保存些什么信息,。。

android 真机sqlite3调试问题

手机华为g621-tl00,系统EMUI3.0,Android版本4.4.4,没有自带sqlite3,按照网上的步骤下载4.4.2模拟器sqlite3到手机/system/xbin目录中,sqlite3版本3.7.11,可以运行,但是还是有问题。用root用户使用sqlite3命令,后面没有命令显示,但可以执行,而非root用户使用sqlite3命令有命令显示,请问这是什么原因。![图片说明](https://img-ask.csdn.net/upload/201509/14/1442229888_155203.jpg)这是root用户sqlite3命令结果;![图片说明](https://img-ask.csdn.net/upload/201509/14/1442230045_207247.jpg)这是非root用户sqlite3命令结果。

Android SQLite sql语句问题

view_contacts JOIN (SELECT contact_id AS snippet_contact_id, ifnull((SELECT MIN(data1) FROM data JOIN raw_contacts ON (data.raw_contact_id = raw_contacts._id) JOIN phone_lookup ON data._id=phone_lookup.data_id WHERE search_index.contact_id=contact_id AND normalized_number LIKE 'XXX%'),content) AS snippet FROM search_index WHERE search_index MATCH 'content:*XXX* OR name:16* OR tokens:XXX*' AND snippet_contact_id IN default_directory) ON (_id=snippet_contact_id) LEFT OUTER JOIN agg_presence ON (_id = agg_presence.presence_contact_id) LEFT OUTER JOIN status_updates contacts_status_updates ON (status_update_id=contacts_status_updates.status_update_data_id) 以上是一个查询联系人的语句,XXX是输入的手机号码,只能匹配以XXX为开头的语句,现要修改为仅包含就可以匹配。 我把 LIKE XXX前面+了%号 , MATCH XXX前加了*号,不知道为什么还是没用。

在android使用sqlite时 遇到问题

如果 onCreate 中的db.execSQL 建立的语句写成db.execSQL("create table [color=darkred]user[/color](id int,name varchar(20))");就没有问题。当时如果改变user为其他就会报错 认真检查过insert方法是对poolo表写入。但是进行查询和修改时会报错。 public void onCreate(SQLiteDatabase db) { db.execSQL("create table poolo(id int,name varchar(20))"); System.out.println("MySQLiteOpenHelper======>onCreate"); } ================================================= package cfuture.poolo; import java.util.Random; import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class SQLiteActivity extends Activity { private Button createSQLite=null; private Button updateSQLite=null; private Button insert=null; private Button update=null; private Button select=null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); createSQLite=findView(R.id.creatButton); updateSQLite=findView(R.id.updateSQLite); insert=findView(R.id.insert); update=findView(R.id.update); select=findView(R.id.select); createSQLite.setOnClickListener(new createSQLiteListener()); updateSQLite.setOnClickListener(new updateSQLiteListener()); insert.setOnClickListener(new insert()); update.setOnClickListener(new update()); select.setOnClickListener(new select()); } public Button findView(int Rtemp) { Button temp=null; temp=(Button)this.findViewById(Rtemp); return temp; } class createSQLiteListener implements OnClickListener { @Override public void onClick(View v) { MySqliteOpenHelper my=new MySqliteOpenHelper(SQLiteActivity.this,"test",null,1); SQLiteDatabase db=my.getReadableDatabase(); } } class updateSQLiteListener implements OnClickListener { @Override public void onClick(View v) { MySqliteOpenHelper my=new MySqliteOpenHelper(SQLiteActivity.this,"test",2); SQLiteDatabase db=my.getReadableDatabase(); } } class insert implements OnClickListener { int i=1; @Override public void onClick(View v) { MySqliteOpenHelper my=new MySqliteOpenHelper(SQLiteActivity.this,"test"); SQLiteDatabase db=my.getWritableDatabase(); ContentValues c= new ContentValues(); c.put("id", i); i++; c.put("name", "poolo"); Random r= new Random(); c.put("age", r.nextInt(20)); db.insert("poolo", null, c); System.out.println("SQLiteActivity======>insert success"); } } class update implements OnClickListener { @Override public void onClick(View v) { MySqliteOpenHelper my=new MySqliteOpenHelper(SQLiteActivity.this,"test"); SQLiteDatabase db=my.getWritableDatabase(); ContentValues c= new ContentValues(); c.put("name", "awen"); db.update("poolo", c, "id=?", new String[]{"1"}); System.out.println("SQLiteActivity======>update success"); } } class select implements OnClickListener { @Override public void onClick(View v) { MySqliteOpenHelper my=new MySqliteOpenHelper(SQLiteActivity.this,"test"); SQLiteDatabase db=my.getReadableDatabase(); Cursor c=db.query("poolo", new String[]{"id","name","age"}, "id=?",new String[]{"1"}, null, null, null); System.out.println("SQLiteActivity======>update success"); while(c.moveToNext()){ String name =c.getString(c.getColumnIndex("name")); System.out.println("sqlquery=="+name ); System.out.println("name id=="+c.getColumnIndex("name")); } } } }

Android SQLite获取数据库写入对象出错

![图片说明](https://img-ask.csdn.net/upload/201706/08/1496909254_123024.png) java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:304) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) at java.util.concurrent.FutureTask.setException(FutureTask.java:222) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818) Caused by: android.database.sqlite.SQLiteException: Failed to change locale for db '/data/data/com.howso.cqt/databases/cqt.db' to 'en_US'. at android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:393) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:218) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193) at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:806) at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694) at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1163) at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:278) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) at com.howso.cqt.db.cqt.CQTManager.writeDB(CQTManager.java:108) at com.howso.cqt.db.cqt.CQTManager.addSignalEvents(CQTManager.java:491) at com.howso.cqt.activity.indoortest.oldIndoorDicActivity$SaveAsync.doInBackground(oldIndoorDicActivity.java:3560) at com.howso.cqt.activity.indoortest.oldIndoorDicActivity$SaveAsync.doInBackground(oldIndoorDicActivity.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:292) at java.util.concurrent.FutureTask.run(FutureTask.java:237) ... 4 more Caused by: android.database.sqlite.SQLiteDiskIOException: disk I/O error (code 3850) at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method) at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555) at android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:371) ... 22 more android.database.sqlite.SQLiteException: Failed to change locale for db '/data/data/com.howso.cqt/databases/cqt.db' to 'en_US'. at android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:393) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:218) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193) at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:806) at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694) at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1163) at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:278) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) at com.howso.cqt.db.cqt.CQTManager.writeDB(CQTManager.java:108) at com.howso.cqt.db.cqt.CQTManager.addSignalEvents(CQTManager.java:491) at com.howso.cqt.activity.indoortest.oldIndoorDicActivity$SaveAsync.doInBackground(oldIndoorDicActivity.java:3560) at com.howso.cqt.activity.indoortest.oldIndoorDicActivity$SaveAsync.doInBackground(oldIndoorDicActivity.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:292) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818) Caused by: android.database.sqlite.SQLiteDiskIOException: disk I/O error (code 3850) at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method) at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555) at android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:371) ... 22 more android.database.sqlite.SQLiteDiskIOException: disk I/O error (code 3850) at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method) at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555) at android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:371) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:218) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193) at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:806) at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694) at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1163) at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:278) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) at com.howso.cqt.db.cqt.CQTManager.writeDB(CQTManager.java:108) at com.howso.cqt.db.cqt.CQTManager.addSignalEvents(CQTManager.java:491) at com.howso.cqt.activity.indoortest.oldIndoorDicActivity$SaveAsync.doInBackground(oldIndoorDicActivity.java:3560) at com.howso.cqt.activity.indoortest.oldIndoorDicActivity$SaveAsync.doInBackground(oldIndoorDicActivity.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:292) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)

Android Sqlite建表语句出错

//数据库建表 public static final String CREATE_USER_TABLE = "create table IF NOT EXISTS" + USER_TABLE + "(" + _ID + " integer primary key autoincrement, " + USER_ID + " text, " + USER_NAME + " text, " + TOKEN + " text, " + TOKEN_SECRET + " text, " + DESCRIPTION + " text, " + USER_HEAD + " BLOB)"; 出现错误了 android.database.sqlite.SQLiteException: near "EXISTSuserinfo": syntax error (code 1): , while compiling: create table IF NOT EXISTSuserinfo(_id integer primary key autoincrement, user_id text, user_name text, token text, token_secret text, description text, user_head BLOB)

android使用SQLite储存较大文件(图片、音频)的问题

在android开发中我想把一张图片或者一首歌存储在SQLite数据库中,但是考虑到SQLite数据库很小,装不了太多图片或者音频,我就想到了把图片或者音频转换成byte【】形式再进行存储,我想知道这种做法到底靠不靠谱,如果不靠谱请大神们给个思路指点一下,谢谢大家!!!

关于Android sqlite 解锁的问题

下面是错误截图![图片说明](https://img-ask.csdn.net/upload/201710/31/1509409773_726879.jpg)网上找了很多方法感觉都不详细,希望大神能详细点解说,在此先谢谢了

android使用sqlite遇到一个问题

![图片说明](https://img-ask.csdn.net/upload/201704/17/1492412994_714767.jpg) 如上图所示,我创建了一个数据库,在软件刚安装时是可以创建和写入的,但是退出软件后,第二次使用,就不能够使用这个数据库了,写入不了数据。怎么解决。

Android Stdio SQLite多条件查找,明明有此列,还是提示no such column

``` Cursor cursor4 = db.rawQuery("select course from courses where acceptanceDate="+Acceptancedate+" and professional="+Professional+" and classs="+Classs+"",null); ``` 提示错误 :E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.upload, PID: 13290 android.database.sqlite.SQLiteException: no such column: 软件工程 (code 1 SQLITE_ERROR): , while compiling: select course from courses where acceptanceDate=2015 and professional=软件工程 and classs=一班 这几个列都是有的 ,但是查找的时候还是提示找不到 ...有没有大神知道咋回事啊

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

将一个接口响应时间从2s优化到 200ms以内的一个案例

一、背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧… 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。 二、步骤 2.1 定位 定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。 2.1.1 工具监控 就工具而言,推荐使用 arthas ,用到的是 trace 命令 具体安装步骤很简单,大家自行研究。 我的使用步骤是...

学历低,无法胜任工作,大佬告诉你应该怎么做

微信上收到一位读者小涛的留言,大致的意思是自己只有高中学历,经过培训后找到了一份工作,但很难胜任,考虑要不要辞职找一份他能力可以胜任的实习工作。下面是他留言的一部分内容: 二哥,我是 2016 年高中毕业的,考上了大学但没去成,主要是因为当时家里经济条件不太允许。 打工了三年后想学一门技术,就去培训了。培训的学校比较垃圾,现在非常后悔没去正规一点的机构培训。 去年 11 月份来北京找到了一份工...

JVM内存结构和Java内存模型别再傻傻分不清了

JVM内存结构和Java内存模型都是面试的热点问题,名字看感觉都差不多,网上有些博客也都把这两个概念混着用,实际上他们之间差别还是挺大的。 通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相关,本文针对这两个总是被混用的概念展开讲解。 JVM内存结构 JVM构成 说到JVM内存结构,就不会只是说内存结构的5个分区,而是会延展到整个JVM相关的问题,所以先了解下

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Google 与微软的浏览器之争

浏览器再现“神仙打架”。整理 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)从 IE 到 Chrome,再从 Chrome 到 Edge,微软与...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

立即提问
相关内容推荐