Android中自制通讯录中显示出数据库中的姓名和电话号码进行打电话

来源:互联网 发布:linux登录管理 编辑:程序博客网 时间:2024/04/30 00:25

 

其中建库和增删改查操作请参考前几篇文章的具体介绍:

 

/** *  * @author chrp * *显示出数据库中的用户名和电脑号码 */public class MainActivity_01 extends Activity {// listView控件public ListView listView;// 显示所有的用户信息public List<Person> persons;// 数据库操作的对象public PersonDao personDao;@Overrideprotected 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);// 设置显示的数据 AdpaterlistView.setAdapter(new PersonListAdapter());// listViwe注册事件listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {/** * parent :listView view 每个条目控件 position:条目所在的位置 id:行号 0 */@Overridepublic 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();}});}@Overridepublic 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 {// 告诉你有多少个条目@Overridepublic int getCount() {return persons.size();}//返回这个为控件对应的数据@Overridepublic Object getItem(int position) {return persons.get(position);}//返回条目所在的位置@Overridepublic long getItemId(int position) {return position;}@Overridepublic 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" />

原创粉丝点击