Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。详情请通过以下网址查看。
github地址
这里的afinalDemo只包括数据库的创建,注意的表名和ID、普通的网络get请求方法
第一步:创建实体类
第二步:继承FinalActivity实例化final
package com.zhansy.myafinal;
import java.util.Date;
import net.tsz.afinal.annotation.sqlite.Id;
import net.tsz.afinal.annotation.sqlite.Table;
//创建的表名为user_test
@Table(name = "user_test")
public class User {
private int id;
/*//设置name为主键Id(column="name")
@Id(column="name")*/
private String name;
private String email;
private Date registerDate;
private Double money;
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;
}
}
package com.zhansy.myafinal;
import java.util.Date;
import java.util.List;
import net.tsz.afinal.FinalActivity;
import net.tsz.afinal.FinalDb;
import net.tsz.afinal.FinalHttp;
import net.tsz.afinal.annotation.view.ViewInject;
import net.tsz.afinal.http.AjaxCallBack;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class AfinalOrmDemoActivity extends FinalActivity {
@ViewInject(id = R.id.textView)
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO 自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建名为zhansy.db的数据库
FinalDb db = FinalDb.create(this, "zhansy.db");
User user = new User();
user.setEmail("afinal@tsz.net");
user.setName("探索者");
user.setRegisterDate(new Date());
// 保存到数据库中
db.save(user);
List<User> userList = db.findAll(User.class);// 查询所有的用户
Log.e("AfinalOrmDemoActivity",
"用户数量:" + (userList != null ? userList.size() : 0));
// textView.setText(userList.get(0).getName()+":"+user.getRegisterDate());
// 普通get方法
FinalHttp fh = new FinalHttp();
fh.get("http://www.baidu.com", new AjaxCallBack<Object>() {
@Override
public void onFailure(Throwable t, int errorNo, String strMsg) {
// TODO 自动生成的方法存根
// 加载失败的时候回调
super.onFailure(t, errorNo, strMsg);
}
@Override
public void onLoading(long count, long current) {
// TODO 自动生成的方法存根
textView.setText(current + "/" + count);
}
@Override
public void onStart() {
// TODO 自动生成的方法存根
// 开始http请求的时候回调
super.onStart();
}
@Override
public void onSuccess(Object t) {
// TODO 自动生成的方法存根
textView.setText((CharSequence) (t == null ? "null" : t));
}
});
}
}