나는 꽤 오랫동안 풀어 봤는데 문제가 있습니다. 나는 힘의 종결을 포함하여 많은 문제들을 지나쳤고, 나는 그것을 해결하는데 성공한 신에게 감사한다. 그러나 이제는 logcat에 문제가없는 단계에 도달했지만 원하는 결과에 도달하지 못했습니다. 여기 SQLite 데이터베이스에 값 추가
내 데이터베이스입니다 : package SQL;
import java.util.LinkedList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class Database extends SQLiteOpenHelper{
public static final String id_sub = "id_sub";
public final String table_sub= "subjects";
public static final String table_hw = "homeworks";
public static final String table_marks = "marks";
public static final String table_q = "quizzes";
public static final String id_mark = "id_m";
public static final String id_hw= "id_hw";
public static final String id_q = "id_q";
public static final String SSubject ="subject";
public static final String Mark= "mark";
public static final String Homework = "homework";
public static final String Quiz = "quiz";
public static final String name = "iSchool";
public static final int version = 1;
public Database(Context context) {
super(context, name, null, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE "+ table_sub +" ("+id_sub +" INTEGER PRIMARY KEY
AUTOINCREMENT , "+ SSubject +" TEXT NOT NULL);");
db.execSQL("CREATE TABLE "+ table_marks+" ("+ id_mark +" INTEGER PRIMARY KEY
AUTOINCREMENT , "+ Mark
+" TEXT NOT NULL, "+SSubject+" TEXT NOT NULL);");
db.execSQL("CREATE TABLE "+ table_hw +" ("+ id_hw +" INTEGER PRIMARY KEY
AUTOINCREMENT , "+SSubject
+" TEXT NOT NULL, "+Homework+" TEXT NOT NULL) ;");
db.execSQL("CREATE TABLE "+ table_q +" ("+ id_q +" INTEGER PRIMARY KEY
AUTOINCREMENT, " +SSubject
+" TEXT NOT NULL, "+Quiz+" TEXT NOT NULL) ;");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS "+table_sub);
db.execSQL("DROP TABLE IF EXISTS " +table_hw);
db.execSQL("DROP TABLE IF EXISTS "+ table_q);
db.execSQL("DROP TABLE IF EXISTS "+ table_marks);
onCreate(db);
}
//-------------------------------------------Todo Table
CRUD------------------------------------\\
public Subject getSubject(long subs_id){
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.query(table_sub, new String[]{id_sub,SSubject}," id
=? ",new String[]{String.valueOf(id_sub)},null,null,null,null);
if(c != null){
c.moveToFirst();
}
Subject sub = new Subject();
sub.setId(Integer.parseInt(c.getString(0)));
sub.setSubjectstr(c.getString(1));
return sub;
}
public void addSubject(Subject subject){
SQLiteDatabase db = this.getWritableDatabase();
String sq = "SELECT*FROM "+ table_sub;
Cursor c = db.rawQuery(sq,null);
ContentValues contentValues = new ContentValues();
contentValues.put(SSubject, subject.getSubjectstr());
db.insert(table_sub, null , contentValues);
db.close();
}
public List<Subject> getSubjects(){
SQLiteDatabase db = this.getReadableDatabase();
String sss = "SELECT*FROM "+ table_sub;
Cursor c = db.rawQuery(sss, null);
List<Subject> list = new LinkedList<Subject>();
if(c.moveToFirst()){
do{Subject sub = new Subject();
sub.setId(Integer.parseInt(c.getString(0)));
sub.setSubjectstr(c.getString(1));
list.add(sub);
}while(c.moveToNext());
}
return list;
}
public int updateSub(Subject sub){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("id_sub", sub.getId());
cv.put("SSubject", sub.getSubjectstr());
int i = db.update(table_sub,cv , id_sub+ " =? ",new String[]
{String.valueOf(sub.getId())});
return i;
}
public void deleteSub(Subject sub){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(table_sub, id_sub+ " =? ",new String[]{String.valueOf
(sub.getId())});
db.close();
}
}
그리고 이것은 데이터베이스를
package com.Turki.ischool;
import java.util.ArrayList;
import java.util.List;
import SQL.Database;
import SQL.Subject;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
public class FirstRun extends Activity {
String subido;
Database helper;
Cursor c;
EditText et;
ListView lv;
String subs;
List<Subject> ss;
SQLiteDatabase db;
String[] fromColumns = {helper.SSubject};
int[] toViews = {R.id.subber};
AlertDialog.Builder ad;
AlertDialog alert;
EditText addBar;
public void ADialog(){
LayoutInflater inflater = LayoutInflater.from(this);
View prompt = inflater.inflate(R.layout.dialog,null);
AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setView(prompt);
addBar = (EditText)prompt.findViewById(R.id.addBar);
adb
.setCancelable(true)
.setNeutralButton("Next", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
.setPositiveButton("Add",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
subido = addBar.getText().toString();
adder();
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
})
.setTitle("Add Subject");
alert = adb.create();
alert.show();
}
public void adder() {
//Initialization
helper = new Database(this);
db = helper.getWritableDatabase();
//Adding a Subject
helper.addSubject(new Subject(subido));
db.close();
helper.close();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.first);
//Initialization
helper = new Database(this);
lv = (ListView)findViewById(R.id.listView1);
List<Subject> list = helper.getSubjects();
ArrayList<Subject> list2 = new ArrayList<Subject>();
for(Subject list3 : list){
list2.add(list3);
}
ArrayAdapter<Subject> aa = new ArrayAdapter<Subject>(this,
android.R.layout.simple_list_item_1, list2);
lv.setAdapter(aa);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
getMenuInflater().inflate(R.menu.first_run, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case R.id.actionAdd :
ADialog();
}
return super.onOptionsItemSelected(item);
}
}
knowing that the logcat doesn't display any problem
알림을 사용하여 내 활동 : 문제는 그 목록보기 또는 그 아무것도 표시는 항목을 추가하지 않습니다 제대로 데이터베이스에.
업데이트 : [email protected]