編輯:關於Android編程
核心代碼如下:
MainActivity.java
[java]
package com.example.lession05_dbs;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.example.lession05_dbs.dao.PersonDao;
import com.example.lession05_dbs.dao.PersonDaoImpl;
import com.example.lession05_dbs.domain.Person;
public class MainActivity 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.this);
//執行查詢數據
persons = personDao.findAll();
//根據id獲取控件對象
listView = (ListView) findViewById(R.id.lv_persons);
//設置顯示的數據 Adpater
listView.setAdapter(new PersonListAdapter());
//listView注冊事件
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
/**
* parent :listView
* view 每個條目控件
* position:條目所在的位置
* id:行號 0
*/
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
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);*/
//parent listView
Person p = (Person) parent.getItemAtPosition(position); //返回值 實際就是getItem返回的值
/* //意圖
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() {
// TODO Auto-generated method stub
return persons.size();
}
//返回這個為控件對應的數據
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return persons.get(position);
}
//返回條目所在的位置
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//創建一個顯示的控件 每個條目對應的控件
TextView tv = new TextView(MainActivity.this);
tv.setText(persons.get(position).getName()+"-"+persons.get(position).getPhone());
return tv;
}
}
}
package com.example.lession05_dbs;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.example.lession05_dbs.dao.PersonDao;
import com.example.lession05_dbs.dao.PersonDaoImpl;
import com.example.lession05_dbs.domain.Person;
public class MainActivity 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.this);
//執行查詢數據
persons = personDao.findAll();
//根據id獲取控件對象
listView = (ListView) findViewById(R.id.lv_persons);
//設置顯示的數據 Adpater
listView.setAdapter(new PersonListAdapter());
//listView注冊事件
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
/**
* parent :listView
* view 每個條目控件
* position:條目所在的位置
* id:行號 0
*/
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
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);*/
//parent listView
Person p = (Person) parent.getItemAtPosition(position); //返回值 實際就是getItem返回的值
/* //意圖
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() {
// TODO Auto-generated method stub
return persons.size();
}
//返回這個為控件對應的數據
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return persons.get(position);
}
//返回條目所在的位置
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//創建一個顯示的控件 每個條目對應的控件
TextView tv = new TextView(MainActivity.this);
tv.setText(persons.get(position).getName()+"-"+persons.get(position).getPhone());
return tv;
}
}
}
注意在清單文件中添加 撥號權限:
<uses-permission android:name="android.permission.CALL_PHONE"/>
其他實體類,接口 和實現類,參見上篇博文
Android通訊錄管理(獲取聯系人、通話記錄、短信消息)(二) 前言:上一篇博客介紹的是獲取聯系人的實現,本篇博客將介紹通話記錄的實現。 同樣的,你可以到這
ADB和MTP是Android基於USB實現的兩個重要功能,極大地方便了用戶在PC與Android設備之間的互操作,比如傳輸文件、安裝應用、開發調試應用。 本文講述如
Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發,從語言上來看,And
以前編程的時候,遇到倒計時的功能時,經常自己去寫,但其實Android已經幫封裝好了一個倒計時類CountDownTimer,其實是將後台線程的創建和Handler隊列封