本帖最后由 allen927 于 2015-10-30 21:09 编辑
同样的课程、老师、就业,更好的学习环境,更低的学习成本! android基础Day03(UI控件)
《 如果感觉今天的知识点都会了,可以直接做作业,来进行检测》
•(掌握)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 {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
ListView lv = (ListView) findViewById(R.id.lv); //给listView设置数据 lv.setAdapter(new BaseAdapter() {
//创建条目 @Override public 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; }
@Override public long getItemId(int position) { return 0; }
@Override public Object getItem(int position) { return null; }
//条目的数量 @Override public 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 层叠样式表 控制网页里面的控件 为什么要使用样式? 方便于代码的维护和升级
作业:
下载资源
相关链接:
长沙中心--黑马双元课堂JAVA入学辅导班1期火爆开班啦!!! 长沙黑马程序员学习激情无限“吊炸天” |