- 程序结构
-
数据库和表
-
程序设计和实现
1)新建便签:
主界面新建
在这里插入代码片
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:text="新建" />
按钮监听
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent();
intent=new Intent(MainActivity.this,SecondActivity.class);
intent.setClass(getApplicationContext(),SecondActivity.class);
startActivity(intent);
MainActivity.this.finish();
}
});
2)浮动按钮:FloatingActionButton
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:srcCompat="@drawable/jia" />
浮动按钮
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent();
intent=new Intent(MainActivity.this,SecondActivity.class);
intent.setClass(getApplicationContext(),SecondActivity.class);
startActivity(intent);
MainActivity.this.finish();
}
});
}
3)菜单栏新建和退出:
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="新建"
app:showAsAction="never" />
<item
android:id="@+id/action_tuichu"
android:orderInCategory="100"
android:title="退出"
app:showAsAction="never" />
Java代码:
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
switch (item.getItemId()){
case R.id.action_settings:
Intent intent=new Intent(getApplicationContext(),SecondActivity.class);
intent=new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
this.finish();
break;
case R.id.action_tuichu:
this.finish();
break;
default:
break;
}
return true;
}
4)长按删除便签
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent=new Intent(getApplication(),SecondActivity.class);
intent.putExtra("ids",array.get(position).getIds());
startActivity(intent);
MainActivity.this.finish();
}
});
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
new AlertDialog.Builder(MainActivity.this)
.setTitle("删除")
.setMessage("是否删除便签")
.setNegativeButton("关闭", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton("删除", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mdb.toDelete(array.get(position).getIds());
array = mdb.getArray();
MyAdapter adapter = new MyAdapter(inflater, array);
lv.setAdapter(adapter);
}
})
.create().show();
return true;
}
});
5)读取手机时间,修改便签时,重新读取时间
布局文件显示
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="5dp"
android:layout_toLeftOf="@+id/textView2"
android:paddingLeft="5dp"
android:text="@string/text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView1"
android:layout_alignParentRight="true"
android:paddingRight="5dp"
android:text="2019.1.6 13:48" />
Java文件
public void onBackPressed(){
SimpleDateFormat formatter=new SimpleDateFormat(
"yyyy.MM.dd HH:mm:ss");
Date curDate=new Date(System.currentTimeMillis());//获取当前时间
String times=formatter.format(curDate);
String title = ed1.getText().toString();
String content = ed2.getText().toString();
//修改数据
if (ids!=0){
cun=new Cuns(title,ids,content,times);
myDataBase.toUpdate(cun);
Intent intent=new Intent(
SecondActivity.this,MainActivity.class);
startActivity(intent);
SecondActivity.this.finish();
}
//新建文本
else {
cun=new Cuns(title,content,times);
myDataBase.toInsert(cun);
Intent intent=new Intent(
SecondActivity.this,MainActivity.class);
startActivity(intent);
SecondActivity.this.finish();
}
}
private void isSave() {
SimpleDateFormat formatter=new SimpleDateFormat(
"yyyy.MM.dd HH:mm:ss");
Date curDate=new Date(System.currentTimeMillis());
String times=formatter.format(curDate);
String title=ed1.getText().toString();
String content=ed2.getText().toString();
//修改数据
if (ids!=0){
cun = new Cuns(title, ids, content, times);
myDataBase.toUpdate(cun);
Intent intent = new Intent(SecondActivity.this, MainActivity.class);
startActivity(intent);
SecondActivity.this.finish();
}
}
(1)APP有专门的图标和名字
(2)APP有线性布局
(3)编辑界面
(4)长按选择是否删除便签
(5)菜单栏
(6)布局显示时间