Events.java
上传用户:xmjingguan
上传日期:2009-07-06
资源大小:2054k
文件大小:2k
源码类别:

android开发

开发平台:

Java

  1. /***
  2.  * Excerpted from "Hello, Android!",
  3.  * published by The Pragmatic Bookshelf.
  4.  * Copyrights apply to this code. It may not be used to create training material, 
  5.  * courses, books, articles, and the like. Contact us if you are in doubt.
  6.  * We make no guarantees that this code is fit for any purpose. 
  7.  * Visit http://www.pragmaticprogrammer.com/titles/eband for more book information.
  8. ***/
  9. package org.example.events;
  10. import static android.provider.BaseColumns._ID;
  11. import static org.example.events.Constants.TABLE_NAME;
  12. import static org.example.events.Constants.TIME;
  13. import static org.example.events.Constants.TITLE;
  14. import android.app.ListActivity;
  15. // ...
  16. import android.content.ContentValues;
  17. import android.database.Cursor;
  18. import android.database.sqlite.SQLiteDatabase;
  19. import android.os.Bundle;
  20. import android.widget.SimpleCursorAdapter;
  21. // ...
  22. public class Events extends ListActivity {
  23.    // ...
  24.    
  25.    private static String[] FROM = { _ID, TIME, TITLE, };
  26.    private static String ORDER_BY = TIME + " DESC";
  27.    
  28.    private static int[] TO = { R.id.rowid, R.id.time, R.id.title, };
  29.    
  30.    private EventsData events;
  31.    @Override
  32.    public void onCreate(Bundle savedInstanceState) {
  33.       super.onCreate(savedInstanceState);
  34.       setContentView(R.layout.main);
  35.       events = new EventsData(this);
  36.       try {
  37.          addEvent("Hello, Android!");
  38.          Cursor cursor = getEvents();
  39.          showEvents(cursor);
  40.       } finally {
  41.          events.close();
  42.       }
  43.    }
  44.    private void addEvent(String string) {
  45.       // Insert a new record into the Events data source.
  46.       // You would do something similar for delete and update.
  47.       SQLiteDatabase db = events.getWritableDatabase();
  48.       ContentValues values = new ContentValues();
  49.       values.put(TIME, System.currentTimeMillis());
  50.       values.put(TITLE, string);
  51.       db.insertOrThrow(TABLE_NAME, null, values);
  52.    }
  53.    private Cursor getEvents() {
  54.       // Perform a managed query. The Activity will handle closing
  55.       // and re-querying the cursor when needed.
  56.       SQLiteDatabase db = events.getReadableDatabase();
  57.       Cursor cursor = db.query(TABLE_NAME, FROM, null, null, null,
  58.             null, ORDER_BY);
  59.       startManagingCursor(cursor);
  60.       return cursor;
  61.    }
  62.    
  63.    private void showEvents(Cursor cursor) {
  64.       // Set up data binding
  65.       SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
  66.             R.layout.item, cursor, FROM, TO);
  67.       setListAdapter(adapter);
  68.    }
  69.    
  70.    
  71. }