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();
	}
(了解)数据库的事务

数据库的升级

修改数据库的版本号  SqliteOpenHelper工具类 

重新运行应用程序,必须要调用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 层叠样式表  控制网页里面的控件 

为什么要使用样式?

方便于代码的维护和升级





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值