这是DBHandler类。
public class DBHandler extends SQLiteOpenHelper {
//Database Version
private static final int DATABASE_VERSION = 1;
//Database Name
private static final String DATABASE_NAME = "avtoolsInfo";
//Plane info table name
private static final String TABLE_PLANES = "planeInfo";
// planes table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_TYPE = "type";
private static final String KEY_PLANE_CLASS = "plane_class";
private static final String KEY_FUEL_STYLE = "fuel_style";
private static final String KEY_NOTES = "notes";
public DBHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_PLANE_TABLE = "CREATE TABLE " + TABLE_PLANES + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT," + KEY_TYPE + " TEXT," + KEY_PLANE_CLASS + " TEXT," + KEY_FUEL_STYLE + " TEXT," + KEY_NOTES + " TEXT" + ")";
db.execSQL(CREATE_PLANE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
//Drop older table if existed
db.execSQL("DROP TABLE IF EXISTS " + TABLE_PLANES);
//Creating tables again
onCreate(db);
}
// Adding a new plane
public void addPlane(PlaneInfo planeInfo)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_NAME, planeInfo.getName()); //plane name
values.put(KEY_TYPE, planeInfo.getType()); //plane type
values.put(KEY_PLANE_CLASS, planeInfo.getPlaneClass()); //plane class
values.put(KEY_FUEL_STYLE, planeInfo.getFuelStyle());//plane fuel style
values.put(KEY_NOTES, planeInfo.getNotes());//plane notes
// Inserting Row
db.insert(TABLE_PLANES, null, values);
// Closeing Database
db.close();
这是要添加的活动。 [编辑。这是布局文件]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize"
android:orientation="vertical"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="60dp">
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_plane_name"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/input_plane_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/plane_name"
android:maxLines="1" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/input_plane_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/input_layout_plane_name">
<EditText
android:id="@+id/plane_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/plane_type" />
</android.support.design.widget.TextInputLayout>
<TextView
android:id="@+id/plane_class_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/input_plane_type"
android:layout_alignParentLeft="true"
android:text="@string/plane_class_textview"/>
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/plane_class_text"
android:layout_below="@id/input_plane_type"
></Spinner>
<TextView
android:id="@+id/fuel_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/spinner"
android:text="@string/fueling_type_textview"/>
<Spinner
android:id="@+id/spinner2"
android:layout_below="@id/spinner"
android:layout_toRightOf="@id/fuel_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Spinner>
<Button
android:id="@+id/save_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/save_button"
android:onClick="addPlane"/>
<android.support.design.widget.TextInputLayout
android:id="@+id/input_plane_notes"
android:layout_alignParentBottom="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/spinner2"
android:layout_above="@id/save_button">
<EditText
android:id="@+id/plane_notes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/plane_user_notes" />
</android.support.design.widget.TextInputLayout>
</RelativeLayout>
我真的很乐意帮助你。
[编辑这里是添加类]
package com.example.jerem.avtools;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.graphics.drawable.DrawerArrowDrawable;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class AddNewPlane extends AppCompatActivity {
Spinner spinner2;
Spinner spinner;
ArrayAdapter<CharSequence> adapter;
ArrayAdapter<CharSequence> adapter2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_new_plane);
spinner = (Spinner) findViewById(R.id.spinner);
adapter = ArrayAdapter.createFromResource(this,R.array.plane_class_spinner_data,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+" is selected",Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
spinner2 = (Spinner) findViewById(R.id.spinner2);
adapter2 = ArrayAdapter.createFromResource(this,R.array.fueling_styles,android.R.layout.simple_spinner_item);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(adapter2);
}
}
答案 0 :(得分:1)
我觉得该链接显示了如何使用该类......无论如何,这里
public class AddNewPlane extends AppCompatActivity {
Spinner spinner2;
Spinner spinner;
ArrayAdapter<CharSequence> adapter;
ArrayAdapter<CharSequence> adapter2;
DBHandler dbHandler; // add field
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_new_plane);
dbHandler = new DbHandler(this); // initialize
}
public void addPlane(View view) {
PlaneInfo plane = new PlaneInfo();
EditText edtPlaneType = (EditText) findViewById(R.id.plane_type);
plane.setType(edtPlaneType.getText().toString());
// TODO: Set more properties
dbHandler.addPlane(plane);
}
}
关于id
值,您应该return
插入数据库处理程序的结果。这将返回插入记录的行号。然后,您可以在PlaneInfo
对象上设置ID值。
答案 1 :(得分:0)
public void addPlane(View view){
PlaneInfo plane = new PlaneInfo();
EditText editPlaneName = (EditText) findViewById(R.id.input_plane_name);
plane.setType(editPlaneName.getText().toString());
EditText editPlaneType = (EditText) findViewById(R.id.plane_type);
plane.setType(editPlaneType.getText().toString());
Spinner spinnerPlaneClass = (Spinner) findViewById(R.id.spinner);
plane.setType(spinnerPlaneClass.getSelectedItem().toString());
Spinner spinner1PlaneStyle = (Spinner) findViewById(R.id.spinner2);
plane.setType(spinner1PlaneStyle.getSelectedItem().toString());
EditText editPlaneNotes = (EditText) findViewById(R.id.plane_notes);
plane.setType(editPlaneNotes.getText().toString());
dbHandler.addPlane(plane);
}