以胖
为美
瞬间觉得是高颜值
其实没有什么特别的东西,就是想码码字,缓解一下情绪,太难了 😭
好了,我情绪稳定了
说说主要用了啥吧,一件事物总有头有尾的
-
ConstraintLayout :约束布局
最近迷上了这个布局,是真的好用,你试试嘛 - 自定义圆角按钮,还是有人用的,虽然说有控件可以实现,或者有更好的框架
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#5fff"></solid>
<stroke android:width="1dp" android:color="#999999"></stroke>
<!--真正四个角的圆角弧度-->
<corners
android:topLeftRadius="20dp"
android:topRightRadius="20dp"
android:bottomLeftRadius="20dp"
android:bottomRightRadius="20dp">
</corners>
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp">
</padding>
</shape>
-
FloatingActionButton
flutter必须知道的悬浮按钮,名字读起来感觉好高大上,什么?你不知道这个按钮长什么样?
带箭头那个就是啦!是不是感觉似曾相识? 对,就是你想的那样,QQ登录注册页面那个就是,他是蓝色的 -
AppCompatEditText
这又是啥,是不是EditText的弟弟? 你猜对了,正是弟弟,但他功能更强大,比如可以实现前导或者后置图标 注意到了吗,那个眼睛和人图标就是,感觉好酷啊😍
- 数据库,很普通啦! 用的是Sqlite
本来想用Realm数据库的,听说不错,但是时间紧迫,下次使用😘
1.先是一个DBHelper
主要用来创建数据库和管理版本的,这个是简化版
/**
* 数据库类
*/
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "user.db";
private static final int DATABASE_VERSION = 1;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table if not exists user" +
"(_id integer,username varchar,password varchar)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("ALTER TABLE user ADD COLUMN other STRING");
}
}
2.负责数据库增上改查
我只是实现了部分
/**
* 数据库管理类
*/
public class DBManager {
private DBHelper helper;
private SQLiteDatabase db;
public DBManager(Context context){
helper = new DBHelper(context);
db = helper.getWritableDatabase();
}
public void add(List<User> list){
db.beginTransaction();
try {
for (User pp:list) {
db.execSQL("insert into user values(null,?,?)",new Object[]{pp.username,pp.password});
}
db.setTransactionSuccessful();
} catch (Exception e) {
// TODO: handle exception
}finally{
db.endTransaction();
}
}
public List<User> query(){
ArrayList<User> persons = new ArrayList<User>();
Cursor c = queryTheCursor();
while (c.moveToNext()) {
User pp = new User();
pp._id = c.getInt(c.getColumnIndex("_id"));
pp.username = c.getString(c.getColumnIndex("username"));
pp.password = c.getString(c.getColumnIndex("password"));
persons.add(pp);
}
c.close();
return persons;
}
public Cursor queryTheCursor(){
Cursor c = db.rawQuery("select * from user", null);
return c;
}
void closeDB(){
db.close();
}
}