SQLite
MainActivity:
public class MainActivity extends Activity implements View.OnClickListener{
private Button mButton;
private Button mButtonInsert;
private SQLiteDatabase database;
private Button mButtonDelete;
private Button mButtonUpdata;
private Button mButtonSelect;
private EditText mEdittextName;
private EditText mEdittextPassword;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton= (Button) findViewById(R.id.button);
mButtonInsert= (Button) findViewById(R.id.button_insert);
mButtonDelete= (Button) findViewById(R.id.button_delete);
mButtonUpdata= (Button) findViewById(R.id.button_updata);
mButtonSelect= (Button) findViewById(R.id.button_select);
mEdittextName= (EditText) findViewById(R.id.edittext_name);
mEdittextPassword= (EditText) findViewById(R.id.edittext_password);
mButton.setOnClickListener(this);
mButtonInsert.setOnClickListener(this);
mButtonDelete.setOnClickListener(this);
mButtonUpdata.setOnClickListener(this);
mButtonSelect.setOnClickListener(this);
MySQLiteOpenHelper helper=new MySQLiteOpenHelper(getApplicationContext(),"MyDataBase");
database=helper.getWritableDatabase();
}
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.button:
createDatabase();
break;
case R.id.button_insert:
insertData();
break;
case R.id.button_delete:
deleteData();
break;
case R.id.button_updata:
updataData();
break;
case R.id.button_select:
selectData();
break;
default:
break;
}
}
public void createDatabase(){
Toast.makeText(MainActivity.this,"創建數據庫",Toast.LENGTH_LONG).show();
}
public void insertData(){
ContentValues values=new ContentValues();
values.put("nane",mEdittextName.getText().toString());
values.put("password",mEdittextPassword.getText().toString());
database.insert("user",null,values);
}
public void deleteData(){
database.delete("user","nane=?",new String[]{"zhangsan"});
}
public void updataData(){
ContentValues values1=new ContentValues();
values1.put("password","abc");
database.update("user",values1,"nane=?",new String[]{"zhangsan"});
}
public void selectData(){
Cursor cursor=database.rawQuery("select * from user",null);
// Cursor cursor=database.query("user",null,null,null,null,null,"id desc","2");//查詢方式二
cursor.moveToFirst();
while(!cursor.isAfterLast()){
String name=cursor.getString(cursor.getColumnIndex("nane"));
String password=cursor.getString(cursor.getColumnIndex("password"));
Log.d("cursor","用戶名: "+name+" 密碼: "+password);
cursor.moveToNext();
}
}
MySQLiteOpenHelper:
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
public MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
public MySQLiteOpenHelper(Context context, String name){
this(context, name,null,1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("create table if not exists user(id integer primary key " +
"autoincrement,nane varchar(20),password varchar(20))");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
創建數據庫,插入數據:
修改數據:
刪除數據:
查詢數據:
查詢方式二:(id 降序,兩列)
Cursor cursor=database.query("user",null,null,null,null,null,"id desc","1,2");1爲偏移量,2爲查詢的行數爲2行
讀取手機聯繫人
public class MainActivity extends Activity {
private Button mButton;
public ContentResolver mResolver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton= (Button) findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mResolver=getContentResolver();
Uri uri= ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
Cursor cursor=mResolver.query(uri,new String[]{ContactsContract
.CommonDataKinds.Phone.NUMBER,ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME},null,null,null);
cursor.moveToFirst();
while(!cursor.isAfterLast()){
String[] names=cursor.getColumnNames();
StringBuffer buffer=new StringBuffer();
for(String name:names){
String value=cursor.getString(cursor.getColumnIndex(name));
buffer.append("字段名:"+name+" 字段值:"+value);
}
Log.d("聯繫人",""+buffer);
cursor.moveToNext();
}
}
});
}
}
權限設置:
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
廣播、鬧鐘
標準廣播(MyReceiver需要註冊:兩種方法)
MyReceiver:
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"接收到了廣播",Toast.LENGTH_SHORT).show();
}
}
MainActivity:
public class MainActivity extends Activity implements View.OnClickListener{
private Button mButtonSend;
private MyReceiver mReceiver;
private Button mButtonAlarm;
private Button mButtonCancel;
private AlarmManager mAlarmManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAlarmManager= (AlarmManager) getSystemService(ALARM_SERVICE);
mButtonSend= (Button) findViewById(R.id.button_send);
mButtonAlarm= (Button) findViewById(R.id.button_alarm);
mButtonCancel= (Button) findViewById(R.id.button_cancel);
mButtonSend.setOnClickListener(this);
mButtonAlarm.setOnClickListener(this);
mButtonCancel.setOnClickListener(this);
//動態註冊
mReceiver=new MyReceiver();
IntentFilter filter=new IntentFilter();
filter.addAction("android.intent.action.MyReceiver");
registerReceiver(mReceiver,filter);
}
@Override
protected void onDestroy() {
super.onDestroy();
//取消註冊
unregisterReceiver(mReceiver);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button_send:
sendBroadcast();
break;
case R.id.button_alarm:
setAlarm();
break;
case R.id.button_cancel:
cancelAlarm();
break;
}
}
public void sendBroadcast(){
Intent intent=new Intent();
intent.setAction("android.intent.action.MyReceiver");
sendBroadcast(intent);
}
//設置鬧鐘
public void setAlarm(){
Intent intent=new Intent(); intent.setAction("android.intent.action.MyReceiver");
PendingIntent pendingIntent=PendingIntent.getBroadcast(getApplicationContext(),0x13,intent,PendingIntent.FLAG_UPDATE_CURRENT);
mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),3000,pendingIntent);//3000爲毫秒數,這裏鬧鐘按鈕的活動爲:每隔3秒發一次廣播
}
//取消鬧鐘
public void cancelAlarm(){
Intent intent=new Intent();
intent.setAction("android.intent.action.MyReceiver");
PendingIntent pendingIntent=PendingIntent.getBroadcast(getApplicationContext(),0x13,intent,PendingIntent.FLAG_UPDATE_CURRENT);
mAlarmManager.cancel(pendingIntent);
}
}
MyReceiver除了可以在代碼中動態註冊外,還可在Mainifest中註冊:
<receiver android:name=".MyReceiver">
<intent-filter>
<action android:name="android.intent.action.MyReceiver"/>
</intent-filter>
</receiver>
Service(啓動服務、取消服務)
MyService(需在Mainifest中註冊)
<service android:name=".MyService"></service>
public class MyService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d("service", "運行到onStartCommand");
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onCreate() {
Log.d("service", "運行到onCreate");
super.onCreate();
}
@Override
public void onDestroy() {
Log.d("service", "運行到onDestroy");
super.onDestroy();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
MainActivity
public class MainActivity extends Activity implements View.OnClickListener{
private Button mButtonStart;
private Button mButtonStop;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButtonStart= (Button) findViewById(R.id.button_start);
mButtonStop= (Button) findViewById(R.id.button_stop);
mButtonStart.setOnClickListener(this);
mButtonStop.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button_start:
Intent intent=new Intent(getApplicationContext(),MyService.class);
startService(intent);
break;
case R.id.button_stop:
Intent intent1=new Intent(getApplicationContext(),MyService.class);
stopService(intent1);
break;
default:
break;
}
}
}
啓動服務:
取消服務: