0

我有4节课。1:数据库处理程序

package as.d.d;

import java.util.ArrayList;
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.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHandler extends SQLiteOpenHelper{


    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "contactsManager";
     private static final String TABLE_CONTACTS = "contacts";


     private static final String KEY_ID = "id";
     private static final String KEY_NAME = "name";
     private static final String KEY_PH_NO = "phone_number";



    public DatabaseHandler(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
                + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
                + KEY_PH_NO + " TEXT" + ")";
         db.execSQL(CREATE_CONTACTS_TABLE);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
         onCreate(db);
    }


    void addContact(StudentInfo studentInfo) {
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(KEY_NAME, studentInfo.getName()); // Contact Name
        values.put(KEY_PH_NO, studentInfo.getPhoneNumber()); // Contact Phone

        db.insert(TABLE_CONTACTS, null, values);
        db.close();
    }

    StudentInfo getContact(int id) {
        SQLiteDatabase db = this.getReadableDatabase();

        Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
                KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
                new String[] { String.valueOf(id) }, null, null, null, null);
        if (cursor != null)
            cursor.moveToFirst();

        StudentInfo studentInfo = new StudentInfo(Integer.parseInt(cursor.getString(0)),
                cursor.getString(1), cursor.getString(2));
        // return contact
        return studentInfo;
    }


    public List<StudentInfo> getAllStudentInfo() {
        List<StudentInfo> studentList = new ArrayList<StudentInfo>();
        String selectQuery = "SELECT  * FROM " + TABLE_CONTACTS;
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);

        if (cursor.moveToFirst()) {
            do {
                StudentInfo studentInfo = new StudentInfo();
                studentInfo.setID(Integer.parseInt(cursor.getString(0)));
                studentInfo.setName(cursor.getString(1));
                studentInfo.setPhoneNumber(cursor.getString(2));
                studentList.add(studentInfo);
            } while (cursor.moveToNext());
        }

        return studentList;
    }


    public int updateContact(StudentInfo studentInfo) {
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(KEY_NAME, studentInfo.getName());
        values.put(KEY_PH_NO, studentInfo.getPhoneNumber());


        return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
                new String[] { String.valueOf(studentInfo.getID()) });
    }}

2:学生信息

package as.d.d;

public class StudentInfo {



    int _id;
    String _name;
    String _phone_number;


    public StudentInfo(){

    }
    public StudentInfo(int id, String name, String _phone_number){
        this._id = id;
        this._name = name;
        this._phone_number = _phone_number;

    }

    public StudentInfo(String name, String _phone_number){
        this._name = name;
        this._phone_number = _phone_number;

    }


    public int getID(){
        return this._id;
    }

    public void setID(int id){
        this._id = id;
    }

    public String getName(){
        return this._name;
    }

    public void setName(String name){
        this._name = name;
    }

    public String getPhoneNumber(){
        return this._phone_number;
    }

    public void setPhoneNumber(String phone_number){
        this._phone_number = phone_number;
    }}

3:添加

package as.d.d;

import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class add extends Activity implements OnClickListener{


    Button b1,b2;
    EditText e2,e3;
    TextView t1;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add);

        b1=(Button)findViewById(R.id.button1);
        b2=(Button)findViewById(R.id.button2);
        e2=(EditText)findViewById(R.id.editText2);
        e3=(EditText)findViewById(R.id.editText3);
        t1=(TextView)findViewById(R.id.AtextView1);

        b1.setOnClickListener(this);
        b2.setOnClickListener(this);


        DatabaseHandler db = new DatabaseHandler(this);
        List<StudentInfo> studentInfo = db.getAllStudentInfo();

        for (StudentInfo cn : studentInfo){

            t1.setText("Id:"+(cn.getID()+1));
        }
   }

    @Override
    public void onClick(View v) {


        if(v==b2){
            startActivity(new Intent(add.this, FdActivity.class));
        }
        else if(v==b1){

            String s2=e2.getText().toString();
            String s3=e3.getText().toString();

            if(s2.trim().equals("")||s3.trim().equals("")){

                Toast.makeText(getApplicationContext(), "Please Submit Student Information",Toast.LENGTH_SHORT).show();

                }   

            else{
                DatabaseHandler db = new DatabaseHandler(this);
                Log.d("Insert: ", "Inserting ..");
                db.addContact(new StudentInfo(s2,s3));
                Log.d("Reading: ", "Reading all contacts..");
                List<StudentInfo> studentInfo = db.getAllStudentInfo();
                for (StudentInfo cn : studentInfo){
                    t1.setText("Id:"+(cn.getID()+1));
            }}}}}

4:添加标记

package as.d.d;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.TextView;
import android.widget.Toast;

public class addmark extends Activity{

    AutoCompleteTextView a1;
    TextView t1,t2;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.addmark);

        a1=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
        t1=(TextView)findViewById(R.id.amtextView1);
        t2=(TextView)findViewById(R.id.amtextView2);




        DatabaseHandler db = new DatabaseHandler(this);

        final List<StudentInfo> studentInfo = db.getAllStudentInfo();



        final ArrayList<String> s1 = new ArrayList<String>();
        final ArrayList<String> s3 = new ArrayList<String>();

        for (StudentInfo cn : studentInfo) {
            s1.add(cn.getName());
            s3.add(cn.getPhoneNumber());

        }
        ArrayAdapter<String> adapter =  new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,s1); 

        a1.setThreshold(1); 
        a1.setAdapter(adapter);



        a1.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
}
        });

在第三堂课(添加)中,我使用 Textview 自动生成学生 ID(数字(int)和两个文本字段,通过按下按钮将学生姓名和电话号码提交到数据库中。这里学生 ID、姓名和电话号码已成功提交。在第四节课中,我使用自动完成文本视图来显示我从第三节课提交的姓名。当我选择一个名字假设 Farhan(我已经提交到数据库并且 id 是 4 并且电话号码是 99876 存储在数据库中)然后我想要在两个 textview(TextView t1,t2;) 中查看 id 和电话号码?

4

2 回答 2

0

使用这个查询:

    Cursor cursor = db.query(TABLE_NAME, new String[] { KEY_ID,
            KEY_PH_NO  }, KEY_NAME +"= inserted_value", null,
            null, null);
于 2013-04-05T13:49:26.150 回答
0

你应该实现这样的东西:

    AutoCompleteTextView actv = (AutoCompleteTextView)findViewById(R.id.actv);
    actv.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> adapter, View arg1, int index,
                long arg3) {
            DatabaseHandler dh = new DatabaseHandler();

            TextView tv1 = (TextView )findViewById(R.id.tv1);
            TextView tv2 = (TextView )findViewById(R.id.tv2);

            tv1.SetText(dh.findIdbyName(arg1.getText().ToString());
            tv2.SetText(dh.findPhonebyName(arg1.getText().ToString());
        }
    });

添加数据库助手:

public String findIdbyName(String arg) {
Cursor c = db.rawQuery("SELECT id FROM TABLE_CONTACTS WHERE KEY_NAME ='"+arg+"';", null);
return c.MoveToFirst().getString(1);
}
于 2013-04-05T14:03:22.220 回答