Java 为实时磁传感器数据创建SQLite数据库

Java 为实时磁传感器数据创建SQLite数据库,java,android,database,sqlite,Java,Android,Database,Sqlite,我是Android平台的新手。我想将实时磁传感器数据直接记录到存储中的sQLite数据库中。我编写代码来获取磁性数据,但无法创建数据库。我在下面粘贴了代码。任何帮助都会很好 先谢谢你 //数据库帮助程序的代码 公共类DBHelper扩展了SQLiteOpenHelper{ 私有静态最终字符串DB_NAME=“Mag_Positioning.DB”; 私有静态最终int DB_版本=1; 私有静态最终字符串COL_ID=“ID”; 专用静态最终字符串COL_XAXIS=“X轴”; 私有静态最终字

我是Android平台的新手。我想将实时磁传感器数据直接记录到存储中的sQLite数据库中。我编写代码来获取磁性数据,但无法创建数据库。我在下面粘贴了代码。任何帮助都会很好

先谢谢你

//数据库帮助程序的代码
公共类DBHelper扩展了SQLiteOpenHelper{
私有静态最终字符串DB_NAME=“Mag_Positioning.DB”;
私有静态最终int DB_版本=1;
私有静态最终字符串COL_ID=“ID”;
专用静态最终字符串COL_XAXIS=“X轴”;
私有静态最终字符串表\u NAME=“MAP\u坐标”;
专用静态最终字符串COL_YAXIS=“Y轴”;
专用静态最终字符串COL_ZAXIS=“Z轴”;
公共DBHelper(上下文){
super(上下文,数据库名称,空,数据库版本);
}
@凌驾
public void onCreate(SQLiteDatabase db){
字符串createTable=“CREATE TABLE”+表名+”(“+COL\u ID+”整型主键自动递增“+COL\u XAXIS+”整型“+COL\u YAXIS+”整型“,+COL\u ZAXIS+”整型“+”);
execSQL(createTable);
}
@凌驾
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){
db.execSQL(“如果存在删除表”+表名称);
onCreate(db);
}
公共void插入(整数xaxis、整数yaxis、整数zaxis){
SQLiteDatabase db=this.getWritableDatabase();
}
}
//获取磁传感器数据的代码
//它只是一段代码
公共类MainActivity扩展AppCompatActivity实现SensorEventListener{
传感器磁强计;
传感器管理器sm;
TextView-magnetismx;
文本视图磁学;
TextView-magnetismz;
DBHelper-DBHelper;
公开募股;
公共浮动b;
公共浮动c;
布尔记录=假;
布尔stoprecord=false;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper=新的dbHelper(this);
//我在这里声明了一些按钮。。。
@凌驾
传感器更改时的公共无效(传感器事件){
传感器=事件传感器;
a=事件值[0];
b=事件值[1];
c=事件值[2];
if(sensor.getType()==sensor.TYPE\u磁场){
magnetismx.setText(Float.toString(event.values[0]);
magnetismy.setText(Float.toString(event.values[1]);
magnetismz.setText(Float.toString(event.values[2]);
如果(!录制){
返回;
}
如果(停止记录){
返回;
}
}
试一试{
writeToCsv(Float.toString(a)、Float.toString(b)、Float.toString(c));
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();

}
我自己解决了这个问题。数据库类中存在一些问题。我已将下面的代码用于数据库帮助器类

ublic类DBHelper扩展了SQLiteOpenHelper{
私有静态最终字符串DB_NAME=“Mag_Positioning.DB”;
私有静态最终int DB_版本=1;
//测量表
私有静态最终字符串ID=“ID”;
私有静态最终字符串映射\u ID=“Mapid”;
私有静态最终字符串COLXAXIS=“X_轴”;
私有静态最终字符串TABLENAME=“Fingerprint”;
私有静态最终字符串COLYAXIS=“Y_轴”;
私有静态最终字符串COLZAXIS=“Z_轴”;
专用静态最终字符串MAPX=“X_CORD”;
专用静态最终字符串MAPY=“Y_CORD”;
私有静态最终字符串DIFF=“DIFF”;
私有静态final字符串final=“final”;
私有静态最终字符串密钥\u FINGERPRINT\u ID=“ID”;
私有静态最终字符串KEY\u MAP\u NAME=“MAP\u NAME”;
私有静态最终字符串键\u POSITION\u X=“POSITION\u X”;
私有静态最终字符串键\u POSITION\u Y=“POSITION\u Y”;
私有静态数据库;
公共DBHelper(上下文){
super(上下文,数据库名称,空,数据库版本);
}
公共静态DBHelper getInstance(){
if(minInstance==null){
已同步(DBHelper.class){
if(minInstance==null){
minInstance=newdbhelper(BaseApp.getApp());
}
}
}
回报率;
}
@凌驾
public void onCreate(SQLiteDatabase db){
String createTable=“创建表”+表名+”(“
+ID+“整数主键,”
+映射_ID+“整数,”+
MAPX+“整数,”+
MAPY+“整数,”+
COLXAXIS+真实+
COLYAXIS+“真的,”+
COLZAXIS+“真的,”+
最终+真实”;
execSQL(createTable);
}
@凌驾
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){
db.execSQL(“如果存在删除表”+表名);
onCreate(db);
}
公共空白插入(整数a、整数b、整数c、浮点x、浮点y、浮点z、浮点d){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues ContentValues=新ContentValues();
contentvalues.put(“Mapid”,a);
contentvalues.put(“X_线”,b);
contentvalues.put(“Y_CORD”,c);
contentvalues.put(“X_轴”,X);
contentvalues.put(“Y_轴”,Y);
contentvalues.put(“Z_轴”,Z);
contentvalues.put(“最终”,d);
db.insert(“指纹”,null,contentvalues);
db.close();
}
public void deleteAllFingerprints(){
SQLiteDatabase db=this.getWritableDatabase();
db.delete(TABLENAME,null,null);//删除所有指纹
db.close();
}
公共游标getAllData(){