package com.example.ex_example_00;

import java.util.ArrayList;

import android.os.Bundle;

import android.preference.PreferenceManager.OnActivityResultListener;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.app.Dialog;

import android.content.DialogInterface;

import android.content.Intent;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.util.Log;

import android.view.ContextMenu;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.ContextMenu.ContextMenuInfo;

import android.view.View.OnClickListener;

import android.view.View.OnCreateContextMenuListener;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.AdapterView.OnItemLongClickListener;

import android.widget.BaseAdapter;

import android.widget.EditText;

import android.widget.ListView;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

EditText et1;

EditText et2;

ListView listview;

SQLiteDatabase mdb;

ArrayList<Student> stulist = new ArrayList<Student>();

int pos;

private MyAdaper myAdaper;

private Builder builder;

private AlertDialog dialog;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

findViewById(R.id.button1).setOnClickListener(this);

et1 = (EditText) findViewById(R.id.editText1);

et2 = (EditText) findViewById(R.id.editText2);

listview = (ListView) findViewById(R.id.listView1);

MySQLite mySQLite = new MySQLite(this);

mdb = mySQLite.getReadableDatabase();

ChaXhao();

listview.setOnItemLongClickListener(new OnItemLongClickListener() {


@Override

public boolean onItemLongClick(AdapterView<?> parent, View view,

int position, long id) {

pos = position;

listview.showContextMenu();

return true;

}

});

listview.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {


@Override

public void onCreateContextMenu(ContextMenu menu, View v,

ContextMenuInfo menuInfo) {

menu.setHeaderTitle("选项");

menu.add(0, 1, 0, "修改");

menu.add(0, 2, 0, "删除");

menu.add(0, 3, 0, "取消");

}

});

}


@Override

public boolean onContextItemSelected(MenuItem item) {

switch (item.getItemId()) {

case 1:

Intent intent = new Intent(this, SencondActivity.class);

intent.putExtra("name", stulist.get(pos).name);

intent.putExtra("phone", stulist.get(pos).phone);

intent.putExtra("id", stulist.get(pos).id);

startActivityForResult(intent, 0);

break;

case 2:

showDialog(1);

break;

case 3:


break;


default:

break;

}

return super.onContextItemSelected(item);

}


@Override

@Deprecated

protected Dialog onCreateDialog(int id) {

        switch (id) {

case 1:

            builder = new AlertDialog.Builder(this);

             builder.setTitle("对话框");

builder.setMessage("是否删除");

builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

String str = "DELETE FROM student WHERE id = ?";

mdb.execSQL(str, new String[] { stulist.get(pos).id });

ChaXhao();

}

}

);


builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {


Toast.makeText(MainActivity.this, "已经取消", Toast.LENGTH_LONG).show();

}

});

dialog = builder.create();

break;


default:

break;

}

return  dialog;

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

switch (resultCode) {

case 1:

String name = data.getStringExtra("isname");

String phone = data.getStringExtra("isphone");

String id = data.getStringExtra("isid");

String sql = "UPDATE student SET name = ?,phone = ? WHERE id = ? ";

mdb.execSQL(sql, new String[] { name, phone, id });

ChaXhao();

break;

case 2:

break;


default:

break;

}

super.onActivityResult(requestCode, resultCode, data);

}


class MyAdaper extends BaseAdapter {


@Override

public int getCount() {

// TODO Auto-generated method stub

return stulist.size();

}


@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return null;

}


@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return 0;

}


@Override

public View getView(int position, View convertView, ViewGroup parent) {

Log.e("=================================", "" + position);

Student student = stulist.get(position);

LayoutInflater layoutInflater = getLayoutInflater();

View inflate = layoutInflater.inflate(R.layout.itemp, null);

TextView textview = (TextView) inflate.findViewById(R.id.textView1);

textview.setText(student.name + "," + student.phone);

return inflate;

}


}


@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}


@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.button1:

btn_01();

break;

default:

break;

}

}


void ChaXhao() {

stulist.clear();

String str = "SELECT * FROM student";

Cursor cursor = mdb.rawQuery(str, null);

boolean toFirst = cursor.moveToFirst();

while (toFirst) {

int name_index = cursor.getColumnIndex("name");

int phone_index = cursor.getColumnIndex("phone");

int id_index = cursor.getColumnIndex("id");

String name = cursor.getString(name_index);

String phone = cursor.getString(phone_index);

String id = cursor.getString(id_index);

stulist.add(new Student(name, phone, id));

toFirst = cursor.moveToNext();

}

myAdaper = new MyAdaper();

listview.setAdapter(myAdaper);

}


private void btn_01() {

String str = "insert into student(name,phone)values(?,?);";

String name = et1.getText().toString();

String phone = et2.getText().toString();

mdb.execSQL(str, new String[] { name, phone });

// stulist.add(new Student(name, phone));

// myAdaper.notifyDataSetChanged();

ChaXhao();

}


class Student {

String name;

String phone;

String id;


// public Student(String name, String phone) {

// super();

// this.name = name;

// this.phone = phone;

// }


public Student(String name, String phone, String id) {

this.name = name;

this.phone = phone;

this.id = id;

}


@Override

public String toString() {

return "Student [name=" + name + ", phone=" + phone + "]";

}


}

}

SQlite Android 数据库应用程序系统_package

SQlite Android 数据库应用程序系统_Android_02

SQlite Android 数据库应用程序系统_import_03

SQlite Android 数据库应用程序系统_package_04