- 集成开发环境
- 布局设计
- 单击事件绑定
- ListView使用
- Activity
- ★启动Activity★
- ★生命周期★
- ★Activity间传数据★
- 本地数据存储
- 文件存储方式
- SharedPreferences
- ★SQLite数据库★
- 广播接收者
- 创建广播接收者
- 发送广播消息
- 服务Service
- 生命周期
- Service本地通信
AS版本
SDK-API
模拟器
(此部分略)
style="@style/样式名"单击事件绑定
public class LoginActivity extends AppCompatActivity implements View.OnClickListener{ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); btn_login = findViewById(R.id.button_login); btn_login.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button_login: //... break; } } }ListView使用
绑定:
刷新数据:
courseAdapter.notifyDataSetChanged();
适配器:
填充数据:
启动一个Activity,通常有两种方法:
startActivity( intent ) startActivityForResult( intent, requestCode)
两种方法都需要先设置意图对象intent,用于指定被启动的activity;
但后者不仅要启动这个activity,还要请求对方返回指定的结果,因此参数比前者多一个requestCode参数。
Intent对象的设置可以是显式设置(指定类名setClass),也可以是隐式设置(指定动作名setAction)
关闭当前Activity的方法是finish()
Intent intent=new Intent(); intent.setClass(LoginActivity.this,Activity_name.class);//显式意图 startActivity(intent);★生命周期★ ★Activity间传数据★
发送方:
Intent intent= new Intent( MainActivity.this, SecondActivity.class); intent.putExtra("name", "Andrea"); //"name" 是键,"Andrea"是值 startActivity(intent);
接收方:
Intent intent= getIntent(); //获取意图 String name= intent.getStringExtra("name"); //读name键中存储的值本地数据存储 文件存储方式 SharedPreferences ★SQLite数据库★
Android系统提供的SQLiteOpenHelper类,用于创建和管理数据库,通常:
在构造方法中指定数据库文件名和版本,从而创建/打开数据库
在onCreat()方法中添加数据表,包括各表的表名、各字段的相关属性
在onUpgrad()方法中实现数据库版本升级管理流程
增:
删:
查:
改:
开关:
db = helper.getReadableDatabase(); db.close();广播接收者 创建广播接收者 发送广播消息
sendBroadcast()-- 发送无序广播,不会被拦截;
sendOrderedBroadcast() – 发送有序广播,优先级高的接收者可对其拦截。
两个方法都需用Intent对象封装广播消息:
调用setAction()方法为Intent对象设置action,用于标识这是一条什么广播
调用putExtra()方法向Intent对象存入数据,即广播内容。
startService() : onCreate()-- onStartCommand()
配套- stopService(): onDestroy()
bindService() : onCreate()-- onBind()
配套- unbindService(): onUnbind()-- onDestroy()
Service本地通信:同一个App项目包中的Service组件向绑定的其他组件提供数据读写接口。由此可见,要实现Service通信,前提是用bindService()方法启动Service。
通信的关键是onBind()方法中返回的Bind对象,这个对象将被传递到对方的onServiceConnected()中,从而使对方获得读写Service内部数据的接口。
private ServiceConnection serviceConnection=new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { myBinder=(MyService.MyBinder)service; } @Override public void onServiceDisconnected(ComponentName name) { } };
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)