У меня получается не так. В базе сохраняется результат в следующем виде:
значения записываются вот так: android.widget.ArrayAdapter@411fbff8
android.widget.ArrayAdapter@411fd1a0
А нужно, что бы сохраняло значения из массива
Код DBAdapter
Код: Выделить всё
package com.dbadapter;
import android.content.ContentValues;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBAdapter {
int id=0;
public static final String COLUMN_ID = "_id";
public static final String COLUMN_GENDER = "GENDER";
public static final String COLUMN_OLD = "OLD";
public static final String TAG = "DBAdapter";
private static final String DATABASE_NAME = "Computer_Info";
private static final String USERS_TABLE = "DetailsCustomer";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_CREATE = "create table DetailsCustomer (_id integer primary key autoincrement, "
+ "GENDER text not null, OLD text not null);";
private final Context context;
private DatabaseHelper DBHelper;
private static SQLiteDatabase db;
public DBAdapter (Context ctx)
{ this.context=ctx;
DBHelper = new DatabaseHelper(context);
}
public static class DatabaseHelper extends SQLiteOpenHelper
{ DatabaseHelper(Context context) {
super (context,DATABASE_NAME,null,DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.i(TAG, "Creating DataBase: " + DATABASE_CREATE);
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
+ newVersion);
db.execSQL("DROP TABLE IF EXISTS DetailsCustomer");
onCreate(db);
}
}
public DBAdapter open() throws SQLException {
db = DBHelper.getWritableDatabase();
return this;}
// end open()
// ---closes the database---
public void close() {
DBHelper.close(); }
// end close()
// ---insert a contact into the database---
public long insertContact(String GENDER, String OLD) {
ContentValues values = new ContentValues();
values.put(COLUMN_GENDER, GENDER.toString());
values.put(COLUMN_OLD, OLD.toString());
return db.insert(USERS_TABLE, null, values);
}// end insertContact()
}
Код: Выделить всё
package com.dbadapter;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.os.Bundle;
import android.widget.Button;
import android.widget.Spinner;
public class MainActivity extends Activity {
DBAdapter db = new DBAdapter(this);
Spinner GSpinner;
Spinner OSpinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button SaveButton = (Button) findViewById(R.id.buttonRegister);
SaveButton.setOnClickListener(mAddListener);
}
private OnClickListener mAddListener = new OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.buttonRegister:
db.open();
Spinner GSpinner = (Spinner) findViewById(R.id.genderSpinner);
Spinner OSpinner = (Spinner) findViewById(R.id.oldSpinner);
db.insertContact(GSpinner.getAdapter().toString(), OSpinner.getAdapter().toString());
db.close();
break;
}
} };
}
Код: Выделить всё
<resources>
<string name="app_name">SSB</string>
<string name="activity_main">Settings</string>
<string name="title_activity_main">Main</string>
<string name="Save">Save</string>
<string-array name="gender">
<item>Male</item>
<item>Female</item>
</string-array>
<string-array name="old">
<item>Molodoy</item>
<item>Yuniy</item>
<item>Starshiy</item>
<item>Vozraste</item>
<item>Stariy</item>
</string-array>
</resources>