当前位置:操作系统 > 安卓/Android >>

使用android快速开发框架afinal 开发android应用程序

首先介绍下afinal开发框架:
1、afinal是android中一个设计小巧的android应用开发框架
2、里面包含了一个orm框架,无需配置任何文件可以对android的sqlite进行增删改查操作。
3、里面包含了一个ioc框架,自动绑定android布局文件和代码的控件,同时支持对事件的绑定功能
4、里面包含了一个轻量级的http框架,对http请求只要一行代码就可以完成。

 这边文章主要介绍了afinal的ioc和orm功能:
我们要实现的功能很简单,我们可以添加数据到数据库sqlite,然后从数据库中查询所有的数据到listview上显示,可以再listview修改和删除数据。完成基本的增删改查功能。

废话少说,我们首先来建立一个mode类,很简单,就三个属性,代码如下:
[java] 
package com.yangfuhai.afinal; 
 
import net.tsz.afinal.annotation.sqlite.Id; 
 
public class User { 
 
    @Id(column="myId") 
    private int userId; 
     
    private String name; 
    private String email; 
     
     
    //getter setter ... 
     
     

注意:当你的对象中有id 或者 _id 这个属性,可以不用配置@Id(column="myId");
接下来,我们看一下activity的代码:
[java]
package com.yangfuhai.afinal; 
 
import java.util.ArrayList; 
import java.util.List; 
 
import net.tsz.afinal.FinaActivity; 
import net.tsz.afinal.FinalDb; 
import net.tsz.afinal.annotation.view.ViewInject; 
import android.os.Bundle; 
import android.text.TextUtils; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ListView; 
import android.widget.TextView; 
import android.widget.Toast; 
 
/**
 * @title 这是 afinal demo
 * @description 描述
 * @company 探索者网络工作室(www.tsz.net)
 * @author michael Young (www.YangFuhai.com)
 * @version 1.0
 * @created 2012-10-17
 */ 
public class AfinalDemoActivity extends FinaActivity { 
     
    @ViewInject(id=R.id.btn_add,click="btnClick") Button BtnAdd; 
    @ViewInject(id=R.id.btn_refresh,click="btnClick") Button BtnRefresh; 
     
    @ViewInject(id=R.id.listView,itemClick="itemClick") ListView listView; 
     
    @ViewInject(id=R.id.edit_name) EditText edit_name; 
    @ViewInject(id=R.id.edit_email) EditText edit_email; 
     
    List<User> mListViewData = new ArrayList<User>(); 
     
    FinalDb db; 
     
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        db = FinalDb.creat(this); 
        listView.setAdapter(mListAdapter); 
    } 
     
    public void btnClick(View v){ 
        if(v == BtnAdd){ 
            String name = edit_name.getText().toString(); 
            String email = edit_email.getText().toString(); 
             
            if(!TextUtils.isEmpty(name) && !TextUtils.isEmpty(email)){ 
                User user = new User(); 
                user.setEmail(email); 
                user.setName(name); 
                 
                if(v.getTag()!=null){ 
                    int id = Integer.valueOf(v.getTag().toString()); 
                    user.setUserId(id); 
                    db.update(user); 
                    showToast("更新成功"); 
                     
                }else{ 
                    db.save(user); 
                    showToast("添加成功"); 
                } 
                 
                edit_name.setText(""); 
                edit_email.setText(""); 
                BtnAdd.setTag(null); 
                BtnAdd.setText("添加数据"); 
                 
            } 
        }else if(v == BtnRefresh){ 
            mListViewData.clear(); 
            mListViewData.addAll(db.findAll(User.class)); 
            mListAdapter.notifyDataSetChanged(); 
        } 
    } 
     
     
    private View.OnClickListener itemButtonClick = new View.OnClickListener() { 
        public void onClick(View v) { 
  &nb

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,