Мне нужна помощь для вставки данных в sqllite из ArrayList
Мой код:
@Override
public void onResponse(Call<List<Campos>> call, Response<List<Campos>> response) {
if (!response.isSuccessful()){
mJsonTxtView.setText("Codigo: " + response.code());
return;
}
List<Campos> camposList = response.body();
for (Campos campos: camposList){
SQLiteDatabase db = null;
String content = "";
String Proyecto= campos.getsProyecto();
String Nombre = campos.getsNombre();
String Estado = campos.getsEstado();
Integer Activo= campos.getnActivo();
MyHelper helper = new MyHelper(this);
helper.saveCampos(Proyecto, Nombre, Estado, Activo);
}
}
Ошибка в MyHelper helper = new MyHelper (this);
error: incompatible types: <anonymous Callback<List<Campos>>> cannot be converted to Context
MyHelper helper = new MyHelper(this);
My helper create db
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE Proyecto (ProyectoId INTEGER PRIMARY KEY AUTOINCREMENT, ZoneName integer,ProyectoName text, ZoneStateId integer, EstadoName text, Codigo text)");
}
Моя вспомогательная функция вставки
public void saveCampos(String proyecto, String nombre, String estado,Integer activo) {
SQLiteDatabase helper = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(proyecto, proyecto );
values.put(nombre, nombre );
values.put(estado, estado );
values.put(estado, activo );
helper.insert(proyecto,null, values);
helper.close();
}
Не могли бы вы мне помочь, как я могу решить его для вставки.
MyHelper Classs, здесь я оставляю вспомогательный класс sqlite, где, если данные из массива достигают упомянутого класса savecampos:
public class MyHelper extends SQLiteOpenHelper {
private Cursor cursorLogs;
private String query = "";
SQLiteDatabase db;
Context context;
public static final String dbname ="datauser.db";
private static final int version = 1;
public MyHelper(Context context){
super(context, dbname, null, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE Proyecto (ProyectoId INTEGER PRIMARY KEY AUTOINCREMENT, ZoneName integer,ProyectoName text, ZoneStateId integer, EstadoName text, Codigo text)");}
public void saveCampos(String proyecto, String nombre, String estado, Integer activo) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("proyecto", proyecto );
values.put("nombre", nombre );
values.put("estado", estado );
values.put("activo", activo );
db.insert(proyecto,null, values);
db.close();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
Код вызова моего класса для модернизации:
public class SplashActivity extends MainActivity {
Context mContext;
private static Context context;
public void onCreate() {
super.onCreate();
SplashActivity.context = getApplicationContext();
}
public static Context getAppContext() {
return SplashActivity.context;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
init();
setContentView(R.layout.activity_splash);
MyHelper helper = new MyHelper(this);
SQLiteDatabase database = helper.getReadableDatabase();
retrofit retrofit = new retrofit();
retrofit.getCampos();
// 5 seconds pause on splash page
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
if(isLoggedIn()){
//Redirect to home page
intent = new Intent(context,HomeActivity.class);
startActivity(intent);
finish();
}else{
//Redirect to Login Page
intent = new Intent(context,LoginActivity.class);
startActivity(intent);
finish();
}
}
},5000);
}
public void init() {
context = this;
sharedPreferences = context.getSharedPreferences(SHARED_PREF_NAME,MODE_PRIVATE);
}
вы можете мне помочь