1、单击按钮更换背景
2、基本布局介绍
android:textAlignment="center"//控件对齐
android:gravity="center"//文字对齐
android:orientation="horizontal"//LinearLayout 的水平排列
android:layout_gravity="center" //控件的居中
android:inputType="textPassword" //设置为密码框
android:src="@drawable/char1" //设置imageView 的图片
例子:实现了水平并排和居中
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:text="其他:"
android:layout_marginLeft="40dp"
android:textSize="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:hint="请输入"
android:layout_marginRight="40dp"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
3、事件监听:
4、页面切换Intent:
A、新建java.class:MainActivity2.class,相对应还要建XML文件
在事件监听器写如下代码:
Intent intent1=new Intent(MainActivity.this,MainActivity2.class);//参数: 当前页面,要跳转到的页面的class文件
intent1.putExtra("name",editText_name.getText());//参数:key用于识别;要传递的字符串
startActivity(intent1);//注:和接收码startActivityForResult()作用一样。
B、在AndroidManifest对java.class进行注册
C、接受消息
Intent intent2=getIntent();
name=intent2.getStringExtra("name");
5、请求码和接受码的使用:
点击跳转的事件监听中把startActivity(intent1)替换成:
startActivityForResult(intent1,4836);//接受码
点击跳转回来的事件监听
Intent intent2=new Intent(MainActivity2.this,MainActivity.class);
intent2.putStringArrayListExtra("arrayList_hobby",arrayList_hobby);
setResult(4837,intent2);//请求码
finish();
6、数据库的使用:6_1、继承extends SQLiteOpenHelper
6_2、重写构造器
//用于创建数据库
private static final String DB_NAME="db_user";private static final int DB_VERSION=1;publicDatabaseHelper(Context context) {super(context, DB_NAME, null,DB_VERSION);//创建数据库
}
6_3、重写两个方法:
@Overridepublic voidonCreate(SQLiteDatabase db) {
}
@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, intnewVersion) {
}
6_4、创建表结构: 要在SQL语句的连接 记得加上对应空格
//用于创建表和表结构
private static final String TABLE_USER="users";private static final String COL_ID="id";private static final String COL_USERNAME="username";private static final String COL_PWD="pwd";
//要在SQL语句的连接 记得加上对应空格private static final String sql=" create table "+TABLE_USER+"( "+COL_ID+" integer primary key autoincrement, "+COL_USERNAME+" text, "+COL_PWD+" text "+")";
@Overridepublic voidonCreate(SQLiteDatabase db) {//创建表
Log.i("db","onCreate");//String sql="create table"+TABLE_USER+"("+COL_ID+"integer primary key autoincrement,"+COL_USERNAME+"text,"+COL_PWD+"text"+")";
db.execSQL(sql);
}
6_5 增加数据,查询数据
//插入数据
public booleanadd(Users users){
SQLiteDatabase db=this.getReadableDatabase();
ContentValues values=newContentValues();
values.put(COL_USERNAME,users.getUserName());
values.put(COL_PWD,users.getPwd());double flag=0;try{
flag=db.insert(TABLE_USER,null,values);
}catch(Exception e){
Log.i("DatabaseError", e.getMessage());
}if (flag>0)return true;return false;
}//查询数据1
public ArrayListgetAllDAata(){
ArrayList list=new ArrayList<>();
SQLiteDatabase db=this.getReadableDatabase();//游标
Cursor cursor=null;
cursor=db.rawQuery("select * from "+TABLE_USER,null);if(cursor!=null &&cursor.moveToFirst()){do{
Users users=newUsers();
users.setId(cursor.getInt(cursor.getColumnIndex(COL_ID)) );
users.setPwd(cursor.getString(cursor.getColumnIndex(COL_PWD)));//注意这里是getString
users.setUserName(cursor.getString(cursor.getColumnIndex(COL_USERNAME)));//得到列名的索引,再根据索引得到内容
list.add(users);
}while(cursor.moveToNext());
}if(cursor!=null){
cursor.close();//用来关闭游标
}returnlist;
}
7、SharedPreferences()的使用 :用来保存用户的设置
记得最后要进行应用,不应用用不了 editor.apply();//需要对editor进行应用
代码的基本知识点:
editText_name.getText().length()==0 //用来判断输入框是否为空
editText_name.getText().toString() //得到输入框的内容
if(register_userPwd.getText().toString().equals(register_againUserPwd.getText().toString()) ){//getText()进行toString才能使用equal()
sideIndex.setBackgroundColor(Color.parseColor("#8a8a8a")); //设置字体颜色