Android 간이 수첩 구현
다음은 간단 하고 쉬 운 수첩 을 실 현 했 는데 효 과 는 다음 과 같다.
주로 데이터베이스 로 데 이 터 를 저장 합 니 다.
전체 코드 링크:Android 간이 수첩 구현
다음은 부분 코드 입 니 다.
MainActivity:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private EditText subject;
private EditText body;
private EditText date;
private Button chooseDate;
private Button add;
private Button query;
private ListView result;
private LinearLayout title;
private MyDataBaseHelper mMyDataBaseHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
//
subject=(EditText)findViewById(R.id.subject);
body=(EditText)findViewById(R.id.body);
date=(EditText)findViewById(R.id.date);
chooseDate=(Button)findViewById(R.id.chooseDate);
add=(Button)findViewById(R.id.add);
query=(Button)findViewById(R.id.query);
result=(ListView)findViewById(R.id.result);
title=(LinearLayout)findViewById(R.id.title);
// , ,
chooseDate.setOnClickListener(this);
add.setOnClickListener(this);
query.setOnClickListener(this);
// ,
title.setVisibility(View.INVISIBLE);
}
@Override
public void onClick(View v) {
//
mMyDataBaseHelper=new MyDataBaseHelper(MainActivity.this,"memento.db",null,1);
SQLiteDatabase sqLiteDatabase=mMyDataBaseHelper.getReadableDatabase();
//
String strSubject=subject.getText().toString().trim();
String strBody=body.getText().toString().trim();
String strDate=date.getText().toString().trim();
switch (v.getId()){
case R.id.chooseDate:
Calendar calendar=Calendar.getInstance();
// , date
new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
date.setText(year+"-"+month+"-"+dayOfMonth);
}
},calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH)).show();
break;
case R.id.add:
// , add
title.setVisibility(View.INVISIBLE);
add(sqLiteDatabase,strSubject,strBody,strDate);
Toast.makeText(this, "success!", Toast.LENGTH_SHORT).show();
result.setAdapter(null);
break;
case R.id.query:
// visible
title.setVisibility(View.VISIBLE);
// cursor
Cursor cursor=query(sqLiteDatabase,strSubject,strBody,strDate);
SimpleCursorAdapter simpleCursorAdapter=new SimpleCursorAdapter(MainActivity.this,R.layout.result,cursor,new String[]{"_id", "subject", "body", "date"},
new int[]{R.id.memento_num, R.id.memento_subject, R.id.memento_body, R.id.memento_date});
// listview
result.setAdapter(simpleCursorAdapter);
break;
}
}
//
public void add(SQLiteDatabase sqLiteDatabase,String subject,String body,String date){
sqLiteDatabase.execSQL("Insert into memento_tb values(null,?,?,?)",new String[]{subject,body,date});
//
this.subject.setText("");
this.body.setText("");
this.date.setText("");
}
// , cursor
public Cursor query(SQLiteDatabase sqLiteDatabase, String subject, String body, String date){
Cursor cursor = sqLiteDatabase.rawQuery(
"select * from memento_tb where subject like ? and body like ? and date like ? ",
new String[]{"%" + subject + "%", "%" + body + "%",
"%" + date + "%"});// (insert )
return cursor;
}
protected void onDestroy() {
super.onDestroy();
if (mMyDataBaseHelper != null) {
mMyDataBaseHelper.close();
}
}
}
MyDataBaseHelper:
public class MyDataBaseHelper extends SQLiteOpenHelper {
//
final String CREATE_TABLE_SQL =
"create table memento_tb(_id integer primary " +
"key autoincrement,subject,body,date)"; //
public MyDataBaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
//
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE_SQL);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
System.out.println("---------" + oldVersion + "------->" + newVersion);
}
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.