使用android快速开发框架afinal 开发android应用程序demo
[代码][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
|
}
|