androidUI控件
(掌握)OOP增删改查
android考虑到很多的程序员可能对于sql语句不是很熟悉,所以就设计了一套面向对象的sql.使开发变的简单
oop 面相对象的sql
//对数据库进行操作 (crud)public void add(View v){SQLiteDatabase db = helper.getWritableDatabase();//获取一个可写的数据库if(db.isOpen()){//判断数据库是否打开//insert into person ContentValues values = new ContentValues();//对于HashMap的一个封装values.put("name", "陈洁仪");db.insert("person", null, values);//最后系统会自己去拼接sql}db.close();//关闭数据库}public void update(View v){SQLiteDatabase db = helper.getWritableDatabase();//获取一个可写的数据库if(db.isOpen()){//判断数据库是否打开ContentValues values = new ContentValues();values.put("name", "韩红");String whereClause = "_id = ?";String[] whereArgs = new String[]{"3"};db.update("person", values, whereClause, whereArgs);}db.close();}public void query(View v){ SQLiteDatabase db = helper.getReadableDatabase(); if(db.isOpen()){ //游标(结果集) /** * table 表, columns 查询列, selection 查询条件, selectionArgs 查询参数, * groupBy 分组, having 分组条件, orderBy 排序 */ Cursor cursor = db.query("person", new String[]{"*"}, null, null, null, null, null); while(cursor.moveToNext()){ int _id = cursor.getInt(0); String name = cursor.getString(cursor.getColumnIndex("name")); Log.i(TAG, "_id:"+_id+",name:"+name); } cursor.close();//关闭游标 } db.close();}public void delete(View v){SQLiteDatabase db = helper.getWritableDatabase();//获取一个可写的数据库if(db.isOpen()){//判断数据库是否打开String whereClause = "_id = ?";String[] whereArgs = new String[]{"3"};db.delete("person", whereClause, whereArgs);}db.close();}
(了解)数据库的事务 数据库的升级
1 修改数据库的版本号 SqliteOpenHelper工具类
2 重新运行应用程序,必须要调用SqliteOpenHelper.getXXXDatabase()
才会调用onUpgrade()方法
要给person表 添加一个新的字段 account:账户
更多的事务操作都是在服务器上执行。
例子:鸡哥找老张借钱
(掌握)Scrollview垂直滑动控件
ScrollView是一个可以垂直滑动的控件 在应用的详情页就使用了该控件
ScrollView只能有一个子节点
如果ScrollView要放置很多控件,就只能进行布局的包裹
动态给ScrollView添加内容
(掌握)listview的原理
该页面的内容每个条目不同 该页面每个条目的内容相同
ScrollView只能用于控件比较少的界面,如果数据有上千上万条,那么使用ScrollView就不好了,因为ScrollView就把所有的控件进行初始化,这是非常消耗性能的操作,所以android就设计了一个类ListView来专门处理列表数据条目的显示。
ListView会自动回收没有在屏幕上显示的控件,来优化性能。
ListView的使用场景:处理条目比较多,并且每个条目都非常相似的场景。
ListView:就是一个条目显示控件。
(掌握)listview和BaseAdapter的使用public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ListView lv = (ListView) findViewById(R.id.lv);//给listView设置数据lv.setAdapter(new BaseAdapter() {//创建条目 @Overridepublic View getView(int position, View convertView, ViewGroup parent) {TextView tv = new TextView(getApplicationContext());//创建一个TextView tv.setText("我是中国人,我喜欢日本人:"+position);tv.setTextSize(25);//隔行变色if(position %2 == 0){tv.setTextColor(Color.RED);}else{tv.setTextColor(Color.YELLOW);}return tv;}@Overridepublic long getItemId(int position) {return 0;}@Overridepublic Object getItem(int position) {return null;}//条目的数量@Overridepublic int getCount() {return 30;}});}}
(掌握)布局填充器layoutinflater服务 布局加载器 布局填充器 打气筒
可以把res/layout下的布局资源加载到内存中
布局加载器:系统服务
查询person表里面的数据进行列表显示
资源找不到异常
如果你给TextView设置一个int类型的参数。他就会到资源里面进行查找。
(掌握)常用数据适配器
ArrayAdapter 数组适配器 用于简单的文字列表
SimpleAdapter 简单适配器 用于条目只有两个控件的列表
这样的效果就是可以ArrayAdapter比较简单
这样的效果可以使用SimpleAdapter比较简单
(掌握)对适配器的理解
(掌握)对话框
1 普通对话框
提醒用户 Toast 对话框Dialog
设计模式:构建器模式
例子:要建房子 瓦工:把所有的材料、钱 房子
所有:要创建对话框 就需要先构建:Builder对象
然后要数据给Builder,再通过Builder创建一个对话框,
最后显示对话框
连写
2列表对话框
3 单选对话框
4 多选对话框
5 不确定进度条对话框
6 水平进度条对话框
( 掌握)常见控件
1单选按钮:RadioButton
他必须放置在RadioGroup里面使用
2Spinner:下拉列表
3SeekBar:拖动条
4进度条:
Progress
不确定
水平
5自动完成提示框:
AutoCompleteTextView
6多次输入自动完成提示框
控件的常规操作
1 配置
2 findViewById
3 setXXX() setAdapter()
4 setOnXXXListener()
5getXXX()
(掌握)样式
样式:style
控制控件的显示
样式:css 层叠样式表 控制网页里面的控件
为什么要使用样式?
方便于代码的维护和升级
更多相关文章
- 三、安卓UI学习(1)
- Android系统配置数据库注释(settings.db)
- android用户界面之按钮(Button)教程实例汇
- 在Fragment中设置控件点击方法,执行失败。
- TabHost与RadioGroup结合完成的菜单【带效果图】5个Activity
- Andorid Dialog 示例【慢慢更新】
- Android常用控件
- android用户界面-组件Widget-画廊视图Gallery
- 总目录