界面设计(二):记事本界面布局
界面设计(三):记事本模板
代码在这里:
(一)添加标题内容
package com.example.jishiben;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.InputType;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.text.SimpleDateFormat;
import java.util.Date;
public class AddNoteActivity extends AppCompatActivity {
private Button button;
private EditText title,content;
private DBAdapter dbAdapter;
private String createDate;
private String name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_note);
button=findViewById(R.id.bt_save);
title=findViewById(R.id.et_title);
content=findViewById(R.id.et_content);
Intent intent=this.getIntent();
name=intent.getStringExtra("name");
content.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date curDate =new Date(System.currentTimeMillis());
createDate=formatter.format(curDate);
dbAdapter =new DBAdapter(this);
dbAdapter.open();
button.setonClickListener(new View.onClickListener() {
@Override
public void onClick(View v) {
NoteBook noteBook = new NoteBook();
String note_title, note_content;
note_title = title.getText().toString();
note_content = content.getText().toString();
noteBook.Title = note_title;
noteBook.Content = note_content;
noteBook.ContentDate = createDate;
long colum = dbAdapter.insert_note(noteBook);
if (colum == -1) {
Toast toast = Toast.makeText(AddNoteActivity.this, "添加过程错误!!", Toast.LENGTH_SHORT);
toast.show();
} else {
Toast toast = Toast.makeText(AddNoteActivity.this, "成功添加数据!!", Toast.LENGTH_SHORT);
toast.show();
Intent intent = new Intent(AddNoteActivity.this, NoteBookActivity.class);
intent.putExtra("name", name);
startActivity(intent);
}
}
});
}
}
(二)编辑记事本界面——NoteBookActivity
内容包括添加标题与内容,以及创建时间。
package com.example.jishiben;
import android.content.Intent;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.baseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import java.util.ArrayList;
public class NoteBookActivity extends AppCompatActivity {
private TextView t;
private Button bt_add, bt_clear;
private ListView listView;
private DBAdapter dbAdapter;
private ArrayList notelist;
private EditText query;
NoteBook[] noteBooks;
baseAdapter mListAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_note_book);
t = findViewById(R.id.name);
bt_add = findViewById(R.id.bt_add);
listView = findViewById(R.id.list_note);
query = findViewById(R.id.et_query);
bt_clear = findViewById(R.id.bt_clear);
Intent intent = this.getIntent();
final String name = intent.getStringExtra("name");
t.setText(name + "欢迎你!");
t.setTextSize(30);
t.setTextColor(Color.GREEN);
dbAdapter = new DBAdapter(this);
dbAdapter.open();
notelist = new ArrayList<>();
noteBooks = dbAdapter.queryAllData();
if (noteBooks == null) {
listView.setAdapter(null);
} else {
for (int i = 0; i < noteBooks.length; i++) {
notelist.add(noteBooks[i]);
}
mListAdapter = new baseAdapter() {
@Override
public int getCount() {
return notelist.size();
}
@Override
public Object getItem(int i) {
return i;
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View convertView, ViewGroup parent) {
View view;
if (convertView == null) {
view = View.inflate(getbaseContext(), R.layout.list_item_memo1, null);
} else {
view = convertView;
}
NoteBook memo = notelist.get(i);
TextView title = (TextView) view.findViewById(R.id.title);
TextView content = (TextView) view.findViewById(R.id.content);
TextView getsqlId = (TextView) view.findViewById(R.id.getsqlld);
TextView createDate = (TextView) view.findViewById(R.id.noticeDate);
title.setText(memo.getTitle());
content.setText(memo.getContent());
createDate.setText(memo.getContentDate());
getsqlId.setText(Integer.toString(memo.getID()));
return view;
}
};
listView.setAdapter(mListAdapter);
}
query.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence charSequence, int start, int before, int count) {
if (charSequence.toString().equals("")) {
bt_clear.setVisibility(View.GONE);
} else {
bt_clear.setVisibility(View.VISIBLE);
}
String titleChange = query.getText().toString();
Log.v("改变数据:", titleChange);
noteBooks = dbAdapter.queryoneDatafromNote(titleChange);
notelist.clear();
for (int j = 0; j < noteBooks.length; j++) {
notelist.add(noteBooks[j]);
}
mListAdapter.notifyDataSetChanged();
listView.setAdapter(mListAdapter);
}
@Override
public void afterTextChanged(Editable editable) {
}
});
bt_clear.setonClickListener(new View.onClickListener() {
@Override
public void onClick(View v) {
query.setText("");
}
});
bt_add.setonClickListener(new View.onClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(NoteBookActivity.this, AddNoteActivity.class);
intent.putExtra("name", name);
startActivity(intent);
}
});
}
}
(三)定义记事本布局——NoteBook
package com.example.jishiben;
public class NoteBook {
public int ID = -1;
public String Title;
public String Content;
public String ContentDate;
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
public String getTitle() {
return Title;
}
public void setTitle(String title) {
Title = title;
}
public String getContent() {
return Content;
}
public void setContent(String content) {
Content = content;
}
public String getContentDate() {
return ContentDate;
}
public void setContentDate(String contentDate) {
ContentDate = contentDate;
}
@Override
public String toString(){
String result = "";
result += "ID:" + this.ID + ",";
result += "标题:" + this.Title + ",";
result += "内容:" + this.Content + ", ";
result += "日期:" + this.ContentDate + ",";
return result;
}
}
(四)连接数据库
package com.example.jishiben;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class DBAdapter {
private static final String DB_NAME = "MyData.db";
private static final String DB_TABLE1 = "peopleinfo";
private static final String DB_TABLE2 = "notebook";
private static final int DB_VERSION = 1;
public static final String KEY_ID = "_id";
public static final String KEY_NAME = "name";
public static final String KEY_PASS = "pass";
public static final String KEY_SEX = "sex";
public static final String KEY_MINZU = "minzu";
public static final String KEY_ID1 = "_id1";
public static final String KEY_TITLE = "tilte";
public static final String KEY_ConTENT = "content";
public static final String KEY_ConTENTDATE = "contentdate";
private SQLiteDatabase db;
private final Context context;
private DBOpenHelper dbOpenHelper;
public DBAdapter(Context _context) {
context = _context;
}
public void close() {
if (db != null){
db.close();
db = null;
}
}
public void open() throws SQLiteException {
dbOpenHelper = new DBOpenHelper(context, DB_NAME, null, DB_VERSION);
try {
db = dbOpenHelper.getWritableDatabase();
}
catch (SQLiteException ex) {
db = dbOpenHelper.getReadableDatabase();
}
}
public long insert(People people) {
ContentValues newValues = new ContentValues();
newValues.put(KEY_NAME, people.Name);
newValues.put(KEY_PASS, people.Pass);
newValues.put(KEY_SEX, people.Sex);
newValues.put(KEY_MINZU, people.Minzu);
return db.insert(DB_TABLE1, null, newValues);
}
public long insert_note(NoteBook noteBook) {
ContentValues newValues = new ContentValues();
newValues.put(KEY_TITLE, noteBook.Title);
newValues.put(KEY_CONTENT, noteBook.Content);
newValues.put(KEY_CONTENTDATE, noteBook.ContentDate);
return db.insert(DB_TABLE2, null, newValues);
}
public NoteBook[] queryAllData() {
Cursor results = db.query(DB_TABLE2, new String[] { KEY_ID1, KEY_TITLE, KEY_CONTENT, KEY_CONTENTDATE},
null, null, null, null, null);
return ConvertToNote(results);
}
public People[] queryAllDatafromPeople() {
Cursor results = db.query(DB_TABLE1, new String[] { KEY_ID,KEY_NAME, KEY_PASS, KEY_SEX,KEY_MINZU},
null, null, null, null, null);
return ConvertToPeople(results);
}
public NoteBook[] queryoneDatafromNote(String name) {
Cursor results = db.query(DB_TABLE2, new String[] { KEY_ID1, KEY_TITLE, KEY_CONTENT, KEY_CONTENTDATE},
KEY_TITLE + " like '%" + name+"%'", null, null, null, null);
return ConvertToNote(results);
}
public People[] queryoneData(String name) {
Cursor results = db.query(DB_TABLE1, new String[] { KEY_ID, KEY_NAME, KEY_PASS, KEY_SEX,KEY_MINZU},
KEY_NAME + "='" + name+"'", null, null, null, null);
return ConvertToPeople(results);
}
private NoteBook[] ConvertToNote(Cursor cursor){
int resultCounts = cursor.getCount();
if (resultCounts == 0 || !cursor.moveToFirst()){
return null;
}
NoteBook[] noteBooks = new NoteBook[resultCounts];
for (int i = 0 ; i



