[代码][Java]代码
001 | package com.yangfuhai.afinal; |
002 |
003 | import java.util.ArrayList; |
004 | import java.util.List; |
005 |
006 | import net.tsz.afinal.FinaActivity; |
007 | import net.tsz.afinal.FinalDb; |
008 | import net.tsz.afinal.annotation.view.ViewInject; |
009 | import android.os.Bundle; |
010 | import android.text.TextUtils; |
011 | import android.view.View; |
012 | import android.view.ViewGroup; |
013 | import android.widget.BaseAdapter; |
014 | import android.widget.Button; |
015 | import android.widget.EditText; |
016 | import android.widget.ListView; |
017 | import android.widget.TextView; |
018 | import android.widget.Toast; |
019 |
020 | /** |
021 |
* @title 这是 afinal demo |
022 |
* @description afinal下载地址 http://code.google.com/p/afinal/ |
023 |
* @company 探索者网络工作室(www.tsz.net) |
024 |
* @author michael Young (www.YangFuhai.com) |
025 |
* @version 1.0 |
026 |
* @created 2012-10-17 |
027 |
*/ |
028 | public class AfinalDemoActivity extends FinaActivity { |
029 | |
030 |
@ViewInject (id=R.id.btn_add,click= "btnClick" ) Button BtnAdd; |
031 |
@ViewInject (id=R.id.btn_refresh,click= "btnClick" ) Button BtnRefresh; |
032 | |
033 |
@ViewInject (id=R.id.listView,itemClick= "itemClick" ) ListView listView; |
034 | |
035 |
@ViewInject (id=R.id.edit_name) EditText edit_name; |
036 |
@ViewInject (id=R.id.edit_email) EditText edit_email; |
037 | |
038 |
List<User> mListViewData = new ArrayList<User>(); |
039 | |
040 |
FinalDb db; |
041 | |
042 |
public void onCreate(Bundle savedInstanceState) { |
043 |
super .onCreate(savedInstanceState); |
044 |
setContentView(R.layout.main); |
045 |
db = FinalDb.creat( this ); |
046 |
listView.setAdapter(mListAdapter); |
047 |
} |
048 | |
049 |
public void btnClick(View v){ |
050 |
if (v == BtnAdd){ |
051 |
String name = edit_name.getText().toString(); |
052 |
String email = edit_email.getText().toString(); |
053 | |
054 |
if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(email)){ |
055 |
User user = new User(); |
056 |
user.setEmail(email); |
057 |
user.setName(name); |
058 | |
059 |
if (v.getTag()!= null ){ |
060 |
int id = Integer.valueOf(v.getTag().toString()); |
061 |
user.setUserId(id); |
062 |
db.update(user); |
063 |
showToast( "更新成功" ); |
064 | |
065 |
} else { |
066 |
db.save(user); |
067 |
showToast( "添加成功" ); |
068 |
} |
069 | |
070 |
edit_name.setText( "" ); |
071 |
edit_email.setText( "" ); |
072 |
BtnAdd.setTag( null ); |
073 |
BtnAdd.setText( "添加数据" ); |
074 | |
075 |
} |
076 |
} else if (v == BtnRefresh){ |
077 |
mListViewData.clear(); |
078 |
mListViewData.addAll(db.findAll(User. class )); |
079 |
mListAdapter.notifyDataSetChanged(); |
080 |
} |
081 |
} |
082 | |
083 | |
084 |
private View.OnClickListener itemButtonClick = new View.OnClickListener() { |
085 |
public void onClick(View v) { |
086 |
Object obj = v.getTag(); |
087 |
if (obj instanceof Integer){ |
088 |
int positon = Integer.valueOf(obj.toString()); |
089 |
User user = mListViewData.get(positon); |
090 |
if (v.getId() == R.id.item_btn_del){ //listview的删除按钮 |
091 | |
092 | // db.deleteById(User.class, user.getUserId());//也可以用这种方式删除 |
093 |
db.deleteById(user); |
094 | |
095 |
showToast( "删除成功" ); |
096 |
BtnRefresh.performClick(); //刷新列表 |
097 | |
098 |
} else if (v.getId() == R.id.item_btn_update){ //listview的更新按钮 |
099 |
edit_email.setText(user.getEmail()); |
100 |
edit_name.setText(user.getName()); |
101 | |
102 |
BtnAdd.setText( "更新数据" ); |
103 |
BtnAdd.setTag(user.getUserId()); |
104 |
} |
105 |
} |
106 |
} |
107 |
}; |
108 | |
109 |
private void showToast(String strMsg){ |
110 |
Toast.makeText( this , strMsg, 0 ).show(); |
111 |
} |
112 | |
113 | |
114 | |
115 |
private BaseAdapter mListAdapter = new BaseAdapter() { |
116 | |
117 |
public View getView( int position, View convertView, ViewGroup parent) { |
118 |
View item = View.inflate(AfinalDemoActivity. this , R.layout.listitem, null ); |
119 | |
120 |
TextView tv_id = (TextView) item.findViewById(R.id.item_id); |
121 |
TextView tv_name = (TextView) item.findViewById(R.id.item_name); |
122 |
TextView tv_email = (TextView) item.findViewById(R.id.item_email); |
123 | |
124 |
Button btn_del = (Button) item.findViewById(R.id.item_btn_del); |
125 |
Button btn_update = (Button) item.findViewById(R.id.item_btn_update); |
126 | |
127 |
User user= mListViewData.get(position); |
128 |
tv_id.setText( "id:" +user.getUserId()+ "" ); |
129 |
tv_name.setText( "名字:" +user.getName()); |
130 |
tv_email.setText( "邮箱:" +user.getEmail()); |
131 | |
132 |
btn_del.setTag(position); |
133 |
btn_update.setTag(position); |
134 |
btn_del.setOnClickListener(itemButtonClick); |
135 |
btn_update.setOnClickListener(itemButtonClick); |
136 | |
137 |
return item; |
138 |
} |
139 | |
140 |
public long getItemId( int position) { |
141 |
return position; |
142 |
} |
143 | |
144 |
public Object getItem( int position) { |
145 |
return mListViewData.get(position); |
146 |
} |
147 | |
148 |
public int getCount() { |
149 |
return mListViewData.size(); |
150 |
} |
151 |
}; |
152 | |
153 | |
154 | |
155 | } |
[代码][Java]代码
01 | package com.yangfuhai.afinal; |
02 |
03 | import net.tsz.afinal.annotation.sqlite.Id; |
04 |
05 | public class User { |
06 |
07 |
@Id (column= "myId" ) |
08 |
private int userId; |
09 | |
10 |
private String name; |
11 |
private String email; |
12 | |
13 | |
14 | |
15 |
public int getUserId() { |
16 |
return userId; |
17 |
} |
18 |
public void setUserId( int userId) { |
19 |
this .userId = userId; |
20 |
} |
21 |
public String getName() { |
22 |
return name; |
23 |
} |
24 |
public void setName(String name) { |
25 |
this .name = name; |
26 |
} |
27 |
public String getEmail() { |
28 |
return email; |
29 |
} |
30 |
public void setEmail(String email) { |
31 |
this .email = email; |
32 |
} |
33 | |
34 | |
35 | |
36 | } |