其中建库和增删改查操作请参考前几篇文章的具体介绍:
/**
*
* @author chrp
*
*显示出数据库中的用户名和电脑号码
*/
public class MainActivity_01 extends Activity {
// listView控件
public ListView listView;
// 显示所有的用户信息
public List<Person> persons;
// 数据库操作的对象
public PersonDao personDao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 实例化数据库操作对象
personDao = new PersonDaoImpl(MainActivity_01.this);
// 执行查询数据
persons = personDao.findAll();
// 根据id获取控件对象
listView = (ListView) findViewById(R.id.listView);
// 设置显示的数据 Adpater
listView.setAdapter(new PersonListAdapter());
// listViwe注册事件
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
/**
* parent :listView view 每个条目控件 position:条目所在的位置 id:行号 0
*/
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
@SuppressWarnings("unused")
TextView tv = (TextView) view;
// Toast.makeText(getApplicationContext(), tv.getText().toString(),Toast.LENGTH_LONG).show();
/* //获取控件的文本
String text = tv.getText().toString();
//拆分
String arr[] = text.split("-");
//得到电话
String phone = arr[1];
//意图
Intent intent = new Intent();
//设置动作
intent.setAction(Intent.ACTION_CALL);
//设置数据
intent.setData(Uri.parse("tel:"+phone));
//执行意图
startActivity(intent);*/
// 返回值 实际就是getItem返回的值
Person p = (Person) parent.getItemAtPosition(position);
//意图
Intent intent = new Intent();
//设置动作
intent.setAction(Intent.ACTION_CALL);
//设置数据
intent.setData(Uri.parse("tel:"+p.getPhone()));
//执行意图
startActivity(intent);
// Toast.makeText(getApplicationContext(), p.getName(), Toast.LENGTH_LONG).show();
int lid = (int) parent.getItemIdAtPosition(position);
Toast.makeText(getApplicationContext(), lid + "",
Toast.LENGTH_LONG).show();
}
});
}
@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;
}
class PersonListAdapter extends BaseAdapter {
// 告诉你有多少个条目
@Override
public int getCount() {
return persons.size();
}
//返回这个为控件对应的数据
@Override
public Object getItem(int position) {
return persons.get(position);
}
//返回条目所在的位置
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//创建一个显示的控件,每个条目对应的控件
TextView tv = new TextView(MainActivity_01.this);
tv.setText(persons.get(position).getName()+"--"+persons.get(position).getPhone());
return tv;
}
}
}
要记得在 AndroidManifest.xml 添加 打电话的权限:
<uses-permission android:name="android.permission.CALL_PHONE" />