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;
}
}
}
启动服务:
取消服务: