android studio
目前主要在同学录的作业里派上了用场,往后的团队项目中也可以提供一定的火力支持。
同学录:一个简单的增删改查的APP。
需要解决的前置问题:
- as安装,sdk、jdk、gredle的下载及路径。
以下为代码部分
在西瓜学长的博客里学到了如何操作数据库以及增删改查功能
// 获取SQLiteDatabase以操作SQL语句
DB = SQLiteDatabase.openOrCreateDatabase(getFilesDir() + "/info.db",
null);
//按下添加按钮后对数据库进行操作
Button addBtn=(Button)findViewById(R.id.addButton);
addBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
dataSave();
}
}
);
以及包括####// 自定义界面文本输入框(修改界面),捕获异常的 try catch 用于处理可能遇到的bug。
经过几次讨论后决定把修改、删除写到查寻里面,考虑到正常情况下,一般会在查询后进行这两个操作。
删除操作,长按:setOnItemLongClickListener
values.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// 获取所点击项的_id
TextView tv = (TextView) arg1.findViewById(R.id.idView);
final String id = tv.getText().toString();
// 通过Dialog提示是否删除
AlertDialog.Builder builder = new AlertDialog.Builder(
SelectActivity.this);
builder.setMessage("确定要删除吗?");
// 确定按钮点击事件
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
delete(id);
replaceList(selectAll());// 删除后刷新列表
}
});
// 取消按钮点击事件
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
return true;
}
});
修改操作,短按:setOnItemClickListener
values.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// 获取_id,username,password项
TextView tvId = (TextView) arg1.findViewById(R.id.idView);
final String id = tvId.getText().toString();
// 通过Dialog弹出修改界面
AlertDialog.Builder builder = new AlertDialog.Builder(SelectActivity.this);
builder.setTitle("修改");
// 自定义界面包括七个文本输入框
View v = View.inflate(SelectActivity.this, R.layout.alertdialog,
null);
final EditText etName = (EditText) v
.findViewById(R.id.alter_name);
final EditText etAdd = (EditText) v
.findViewById(R.id.alter_address);
final EditText etPhone = (EditText) v
.findViewById(R.id.alter_phonenumber);
final EditText etWechat = (EditText) v
.findViewById(R.id.alter_wechat);
final EditText etMailbox = (EditText) v
.findViewById(R.id.alter_mailbox);
final EditText etQQ = (EditText) v
.findViewById(R.id.alter_qqnumber);
final EditText etPerDes = (EditText) v
.findViewById(R.id.alter_personaldescription);
心得体会
- 第一次使用as,感觉什么都是新的,还好懂一点java,作业完成以后感觉学到了不少东西,又感觉还有很多细节似懂非懂。
- 整个作业不是独自完成的,,因此完成之后会再重新梳理一下,有助于我理解整个作业的代码。
- 如果这个是个人作业,那么现在我能独立完成吗?所以我就又尝试着自己敲敲代码,果然遇到不少问题,同时这些有的也是我一直不理解的地方。
- 感觉在α阶段自己起跑慢了,速度也没提起来,要多找找自己的原因,静下心来,好好研究代码,早睡早起,就从这个小长假开始,oye。