Android程序几种三方框架的使用小.

本文详细介绍了ButterKnife、Gson和OrmLite三个Android开发中常用的库。ButterKnife用于简化UI绑定代码;Gson提供对象与JSON之间的转换;OrmLite则简化了数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


   一.butterKnife

       主要作用在于,简化UI界面的代码,对其进行综合管理

   1.导入架包
   2.右击项目,更改properties中Java Compiler属性,对钩全选 其下的Annotation Processing 中导入架包;
   简要的代码示例:
   1.butterKnife在Activity界面中的绑定
     ButterKnife.bind(this);
   2.控件的初始化:
     @Bind(R.id.et_name)

     EditText et_name;

   3.单击监听事件等
    @OnClick(R.id.tv_birthday)
public void setBirthday(View view) {

}


  二.Gson

     第三方框架,主要提供了实体类队象集合等与Json形式文档的转换

    具体实现代码示例:


    1.将Gson.jar导入项目
    2.根据对象得到Json字符串   
         String JsonString=new Gson().toJson(实体类对象)
    3.根据Json字符串得到对象     
         Student student=new Gson().fromJson(JsonString,Student.class)
    4.根据list集合得到Json字符串
         String JsonString= new Gson().toJson(students);
    5.根据Json字符串得到List集合
         Students=newGson().fromJson(JsonString,new TypeToken<List<Student>>(){}.getType())


  三.Orimlite

     满足功能:


    实体类对象与数据库相连接,在创建对象的时候直接新增数据表,且表中的字段名与实体类的属性相对应;

   提供更加方便的数据库的增删改查方法


   具体实现代码示例:


   1.实体类与表的创建间的连接
@DatabaseTable(tableName = Constant.TABLE_NAME)
public class Person {
@DatabaseField(generatedId = true)
private int id;
@DatabaseField(canBeNull = false)
private String name;
@DatabaseField(canBeNull = false)
private boolean gender;
@DatabaseField
private String birthday;
@DatabaseField
   private String introduce;
    2.新建数据库类的对象
public class DBUtil extends OrmLiteSqliteOpenHelper  {
// 单例模式,避免对数据库的同时修改造成数据丢失
private static DBUtil dbUtil;


private DBUtil(Context context) {
super(context, 数据库名称, 工厂(null), 版本号(int类型值));
}


public synchronized static DBUtil getDBUtil(Context context) {
if (dbUtil == null) {
dbUtil = new DBUtil(context);
}
return dbUtil;
}


@Override
public void onCreate(SQLiteDatabase arg0, ConnectionSource arg1) {
// 建表
try {
TableUtils.createTableIfNotExists(arg1, Person.class);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


@Override
public void onUpgrade(SQLiteDatabase arg0, ConnectionSource arg1, int arg2,
int arg3) {
// 数据库更新时的操作
try {
// 删除表
TableUtils.dropTable(arg1, Person.class, true);
// 更新表
onCreate(arg0, arg1);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}


}
    3.得到该架包提供的Dao对象,对数据库进行增删改查操作
  Dao<Person(数据表名), Integer(主键类型)> dao=DBUtil.getDBUtil(context).getDao(Person.class);


增加操作:
// 有返回值,表明增加记录的行数
dao.create(person);


删除操作:
dao.delete(person);


查询关键字 query   更新关键字 Update  其中有许多相关的方法,具体可以打点出啊来慢慢研究;


    今天就先记录这三个啦,具体的等以后再慢慢的总结。

    几天不看代码,我就发现它们都不爱我了。。。执手相望泪眼,竟无语凝噎

    趁着年轻,加油加油加油!对了,之前说过要坚持的东西,那个过午不食啥的,对我来说真的好难好难,自我批评,臣妾真的做不到啊。今天还赶上胃疼,这都抵挡不了我要吃东西的心,我也是情非得已,说出来又让伦家情何以堪。。。羞羞答

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值