不用 Data Binding 可以嗎?
Data Binding 可以讓你/妳用比較少的程式碼來達到目地
不想要學怎麼用它也沒關係
MyDatabase.java
package edu.android.mydatabase;
import android.app.ListActivity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
public class MyDatabase extends ListActivity implements TableInfo{
private static String[] FROM = { ID, Country, Name, };
private static String ORDER_BY = ID + " ASC";
private static int[] TO = { R.id.rid, R.id.country, R.id.name, };
private MySQLite mysqlite;
private Button submitBtn;
private Spinner countrySpn,nameSpn;
private String countrys[]={"火之國","水之國","雷之國","風之國","土之國"};
private String names[]={"漩渦鳴人","宇智波佐豬","大蛇丸","旗木卡卡西","自來也","春野櫻 ","我愛羅","地達羅","照美冥"
,"黑土","艾","殺人蜂","紅蓮","手鞠","宇智波鼬","干柿鬼鮫","勘九郎","猿飛佐助"};
ArrayAdapter<String> adapter0,adapter1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initInput();
}
private void initInput(){
mysqlite = new MySQLite(this);
countrySpn=(Spinner)findViewById(R.id.countrySpn);
adapter0 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, countrys);
countrySpn.setAdapter(adapter0);
nameSpn=(Spinner)findViewById(R.id.nameSpn);
adapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, names);
nameSpn.setAdapter(adapter1);
submitBtn=(Button)findViewById(R.id.submitBtn);
submitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
insertDB(countrySpn.getSelectedItem().toString(),nameSpn.getSelectedItem().toString());
Cursor cursor = SelectDB();
showDB(cursor);
} finally {
mysqlite.close();
}
}
});
}
private void insertDB(String str0, String str1) {
SQLiteDatabase db = mysqlite.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(Country, str0);
values.put(Name, str1);
db.insertOrThrow(TABLE_NAME, null, values);
}
private Cursor SelectDB() {
SQLiteDatabase db = mysqlite.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, FROM, null, null, null,
null, ORDER_BY);
startManagingCursor(cursor);
return cursor;
}
private void showDB(Cursor cursor) {
// data binding
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.item, cursor, FROM, TO);
setListAdapter(adapter);
}
}
Output / Screenshot
加入 Toast 和 ListView
加入dialog
沒有留言:
張貼留言