android好看表单界⾯设计(TableLayout)及查询数据列表显
⽰2
之前只是效果展⽰,这⾥来展⽰如何实现功能。
⾸先这个项⽬是使⽤sqlite数据库实现访问进⾏数据表的增删改查功能,系统内置的sqlite数据库内存很⼩,只能适⽤于少量数据,⼤量数据访问还是借助sqlserver、oracle、mysql等数据库借助websevices来操作将结果返回给client,现在只是来实现单⼀的对⼀个表的操作,并没有什么特别的⽤处,学习学习,练练要不就⽣疏了,以后远程连接数据库的时候可以修改⼀下对数据库操作的代码,也有很⼤⽤处的。
主界⾯xml⽂件代码已分享,现在先写相关实体类和数据库创建、对数据增删改查操作及单元测试插⼊⼏条数据便于查询。
我都忘了之前主要界⾯展⽰啥样了,贴出来看看吧还是:
代码实现我就不介绍了,相信⼤家也很熟悉了,我是个新⼿,看看之前代码回顾⼀下吧,都忘了。如果⽅便可以看看我写的这个⼼情⽇记,挺简单的。
1.来说下主程序MainActivity.java
public class MainActivity extends Activity {
private TableLayout table;
private Button select;
EmployeeDao dao = new EmployeeDao(this);
private Button add;
private Button update;
int selectedRow = 0;
int ActivityID=1;
List<Employee> list = new ArrayList<Employee>();
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
table = (TableLayout) this.findViewById(R.id.table);
table.setBackgroundColor(Color.GREEN);
//table.set
//table.set
add = (Button) this.findViewById(R.id.add);
update = (Button) this.findViewById(R.id.update);
select = (Button) this.findViewById(R.id.select);
// 点击查询按钮处理事件
// Toast.makeText(this, "已查询过了!", Toast.LENGTH_SHORT).show();  select.setOnClickListener(new selectListener());
// 点击添加按钮事件处理,跳转到另⼀个activity
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setClass(MainActivity.this, AddAndUpdateActivity.class);
Bundle bundle=new Bundle();
ActivityID=1;
bundle.putInt("ID", ActivityID);
i.putExtras(bundle);
startActivity(i);
}
});
// 更新员⼯信息
update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setClass(MainActivity.this, AddAndUpdateActivity.class);
安卓intent用法Bundle bundle=new Bundle();
ActivityID=2;
bundle.putInt("ID", ActivityID);
bundle.putInt("emID", selectedRow);
i.putExtras(bundle);
startActivity(i);
}
});
}
// 查询信息监听类
private class selectListener implements View.OnClickListener {
@Override
public void onClick(View v) {
list = All();
if (list.size() != 0) {
for (int i = 0; i < list.size(); i++) {
TableRow row = new TableRow(MainActivity.this);
Employee em = (i);// 查所有员⼯信息
// 设置⾏标记
row.Id());
row.setPadding(6, 1, 6, 1);
row.setGravity(Gravity.CENTER);
row.setBackgroundColor(Color.WHITE);
TextView view1 = new TextView(MainActivity.this);
view1.Id()));
view1.setGravity(Gravity.CENTER);//⽂本居中
view1.setTextSize((float) 18);⽂本⼤⼩
view1.setTextColor(Color.RED);
view1.setPadding(10, 2, 10, 2);//边框左、上、右、下
row.addView(view1);添加⼀⾏
TextView view2 = new TextView(MainActivity.this);
view2.Name());
view2.setTextSize((float) 18);
view2.setPadding(10, 2, 10, 2);
row.addView(view2);
TextView view3 = new TextView(MainActivity.this);
view3.Age()));
view3.Age()));
view3.setTextSize((float) 18);
view3.setGravity(Gravity.CENTER);
view3.setPadding(10, 2, 10, 2);
row.addView(view3);
TextView view4 = new TextView(MainActivity.this);
view4.Position());
view4.setTextSize((float) 18);
view4.setPadding(10, 2, 10, 2);
row.addView(view4);
TextView view5 = new TextView(MainActivity.this);
view5.Department());
view5.setTextSize((float) 18);
view5.setPadding(10, 2, 10, 2);
row.addView(view5);
TextView view6 = new TextView(MainActivity.this);
view6.Workdate());
view6.setTextSize((float) 18);
view6.setPadding(10, 2, 10, 2);
row.addView(view6);
TextView view7 = new TextView(MainActivity.this);
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = format.Workdate());
} catch (ParseException e) {
e.printStackTrace();
}
float d= (float)((new Date().getTime()-Time())/(24*60*60*1000)/365);//计算⼯龄    String String((int) d+1);
view7.setText(dd);
view7.setTextSize((float) 18);
view7.setPadding(10, 2, 10, 2);
row.addView(view7);
table.addView(row);
row.setOnClickListener(new View.OnClickListener() {//点击某⾏触发事件
@Override
public void onClick(View v) {
System.out.println("⾏标记:" + v.getId());
for (int i = 0; i < ChildCount(); i++) {
if (ChildAt(i).getId() != v.getId())
// 选中时,⾼亮显⽰即设置背景⾊
v.setBackgroundColor(Color.YELLOW);
}
selectedRow = v.getId();
AlertDialog.Builder dialog = new AlertDialog.Builder(
MainActivity.this);
dialog.setTitle("请确认:");
dialog.setMessage("是否删除这条记录?");
dialog.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,int which) {
EmployeeDao dao = new EmployeeDao(MainActivity.this);
dao.delete(selectedRow);
Toast.makeText(MainActivity.this,
"删除成功", Toast.LENGTH_SHORT).show();
Intent i = new Intent();
i.setClass(MainActivity.this,MainActivity.class);
startActivity(i);
}
});
dialog.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
dialog.cancel();
}                                    });
dialog.show();
}
});
}
}
}
}
}
2.然后是添加和更新的界⾯,两个功能使⽤同⼀个xml⽂件布局
<RelativeLayout
android:background="#2691f2"
tools:context=".AddAndUpdateActivity" >
<TextView
android:id="@+id/t"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:textSize="25sp"
android:text="@string/addinfo"
android:textColor="#bc4b86" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@+id/t"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="30dp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name" />
<EditText
android:id="@+id/nm"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="@string/age" />
<EditText
android:id="@+id/ag"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"                android:layout_marginLeft="25dp" />        </LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"            android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="@string/position" />
<EditText
android:id="@+id/pzs"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"                android:layout_marginLeft="25dp" />        </LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"            android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="@string/dptmt" />
<EditText
android:id="@+id/dptmt"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"                android:layout_marginLeft="25dp" />        </LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"            android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="@string/date" />
<EditText
android:id="@+id/wkdt"
android:inputType="text"
android:layout_width="150dp"

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。