我正在使用android学习sqlite数据库。做了一个应用程序Android工作室不会显示任何错误。但是在运行时,它显示当我点击插入按钮时无法设置EGL_SWAP_BEHAVIOR错误。
那么如何解决呢?
MainActivity.java
package com.buckydroid.database;
import android.app.AlertDialog;
import android.database.Cursor;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
public EditText name;
public EditText age;
public EditText gender;
public Button button;
public Button button2;
database db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = new database(this);
name = (EditText)findViewById(R.id.editText);
age = (EditText)findViewById(R.id.editText2);
gender = (EditText)findViewById(R.id.editText3);
button = (Button)findViewById(R.id.button);
button2 = (Button)findViewById(R.id.button2);
insertworks();
Showdata();
}
public void insertworks(){
button.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean result = db.add_data(name.getText().toString(),age.getText().toString(),gender.getText().toString());
if(result){
Toast.makeText(MainActivity.this, "Data Inserted", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(MainActivity.this, "Something went wrong", Toast.LENGTH_SHORT).show();
}
}
}
);
}
public void Showdata(){
button2.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Cursor data = db.all_data();
if(data.getCount()==0){
showMessage("Error","No Data Found");
}
else{
StringBuffer buffer = new StringBuffer();
while (data.moveToNext())
buffer.append("Id = "+data.getString(0)+"\n");
buffer.append("Name = "+data.getString(1)+"\n");
buffer.append("Age = "+data.getString(2)+"\n");
buffer.append("Gender = "+data.getString(3)+"\n"+"\n");
showMessage("Data",buffer.toString());
}
}
}
);
}
public void showMessage(String title,String Message){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(true);
builder.setTitle("title");
builder.setMessage(Message);
builder.show();
}
}
database.java
package com.buckydroid.database;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by BuckyDroidz on 20-08-2016.
*/
public class database extends SQLiteOpenHelper{
public static String DATABASE_NAME = "BuckyDroid";
public static String TABLE_NAME = "Students";
public static String COL1 = "ID";
public static String COL2 = "NAME";
public static String COL3 = "AGE";
public static String COL4 = "GENDER";
public database(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE "+TABLE_NAME+"("+COL1+" INTEGER PRIMARY KEY AUTOINCREMENT, "+COL2+" TEXT, "+COL3+" TEXT, "+COL4+" TEXT "+");");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
onCreate(db);
}
public boolean add_data(String name, String age, String gender) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL2,name);
contentValues.put(COL3,age);
contentValues.put(COL4,gender);
db.insert(TABLE_NAME,null,contentValues);
return false;
}
public Cursor all_data(){
SQLiteDatabase db = this.getWritableDatabase();
Cursor dota = db.rawQuery("Select * from "+TABLE_NAME,null);
return dota;
}
}
错误日志:
08-20 12:24:14.626 6241-6254/com.buckydroid.database I/art: Background partial concurrent mark sweep GC freed 3315(133KB) AllocSpace objects, 0(0B) LOS objects, 39% free, 2011KB/3MB, paused 661us total 178.136ms
08-20 12:24:24.581 6241-6249/com.buckydroid.database W/art: Suspending all threads took: 157.482ms
08-20 12:24:33.105 6241-6527/com.buckydroid.database W/EGL_emulation: eglSurfaceAttrib not implemented
08-20 12:24:33.105 6241-6527/com.buckydroid.database W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xa3928680, error=EGL_SUCCESS