編輯:關於Android編程
框架地址:https://github.com/yangfuhai/afinal
對應源碼:
net.tsz.afinal.annotation.sqlite.*
net.tsz.afinal.db.sqlite.*
net.tsz.afinal.db.table.*
net.tsz.afinal.utils.ClassUtils、net.tsz.afinal.utils.FieldUtils
FinalDb
建庫
FinalDb db = FinalDb.create(context, "mytest.db", true);有實體bean
@Table(name = "user") //@Table 表示orm(對象關系映射)的表名 public class User { private int id; private String name; private String email; private Date registerDate; private Double money; /////////////getter and setter 不能省略哦/////////////// public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Date getRegisterDate() { return registerDate; } public void setRegisterDate(Date registerDate) { this.registerDate = registerDate; } public Double getMoney() { return money; } public void setMoney(Double money) { this.money = money; } }
db.save(user);
必須有一個主鍵。默認列名為id,並自增。使用注解@Id(column="id")
實際bean中沒有id屬性,使用@id(column="name") 使name成主鍵 ,非integer等整數類型,不會自增
屬性注解
@Property(column=“uname") , 將屬性name映射成表中的uname字段
取消orm的注解
@Transient 表示不將某屬性映射到表中
一對多關系
@OneToMany(manyColumn="parentid")
多對一關系
@ManyToOne(column="parentid")
模型定義:
public class Parent{ private int id; @OneToMany(manyColumn = "parentId") private OneToManyLazyLoaderchildren; /*....*/ } public class Child{ private int id; private String text; @ManyToOne(column = "parentId") private Parent parent; /*....*/ }
使用:
Listall = db.findAll(Parent.class); for( Parent item : all){ if(item.getChildren ().getList().size()>0) Toast.makeText(this,item.getText() + item.getChildren().getList().get(0).getText(),Toast.LENGTH_LONG).show(); }
FinalDb對象,有很多方法,CRUD等操作。不詳列了
使用簡單圖片使用Drawable對象bitmap和BitmapDrawable對象package peng.liu.test;import android.app.Act
上一篇《Qt on Android: Qt Quick 之 Hello World 圖文詳解》我們已經分別在電腦和 Android 手機上運行了第一個 Qt Quick
和Android UI layout一樣,我們也可以在XML中定義應用程序的菜單。通過在菜單的onCreateOptionsMenu方法中膨脹菜單layout。這樣做會使
效果是這個樣的: 布局思路:最外層父窗體是一個RelativeLayout(圖裡沒畫出來),從內層開始。黑色:自定義ScrollView紅色:LinearLay