안드로이드 개발 질문/답변
(글 수 45,052)
현재 sqlite로 어찌어찌 db를 만들기는 했습니다. 반마다 table이 존재합니다.
제가 구현하고자 하는 것은 메인 화면 TextView에 현재 시간에 따른 다음 과목을 표시하는 겁니다.
설정화면에서 선택해놓은 학반에 따라 다른 시간표가 적용되구요.
현재 시간을 알아냈는것까지는 간단했는데, db에 대해 하나도 모르는 생초보다 보니까 뭐가뭔지 모르겠어요.
구글에 검색해봐도 어플리케이션 내에서 db를 '생성' 후 처리하는 강좌가 많이 나와있지, 원래 있는 db를 활용하는 방법이 별로 없더군요.
혹시, 전체적인 db 개념을 설명해주실수 있거나 위 조건대로 코딩하는 방법이 있으면 지식을 조금 나누어 주셨으면 합니다^^;;
아무래도 자료가 너무 부족하죠? db파일 첨부합니다. 그리고 정말 초보적이고 오류투성이 소스도 밑에 붙입니다. 아직 기본적인 것도 덜 한 겁니다. 책으로 공부한것도 아니고 인터넷 찾아가며 어깨너머로 본 거라 중구난방입니다. 많은 조언 부탁드려요.
package kr.kdev.dg1s;
import java.util.*;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Toast;
public class Daegu1sActivity extends Activity implements OnClickListener{
static SQLiteDatabase db;
int curHour, curMinute, curNoon, curSecond;
Calendar c;
String tag = null;
String noon = "";
Date curMillis;
TimerTask second;
TextView getData;
public final Handler handler = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Test();
db = this.openOrCreateDatabase("timetable.db", MODE_PRIVATE, null);
Cursor cursor = db.rawQuery("Mon * FROM 2-1", null);
TextView current = (TextView)findViewById(R.id.currentclass);
}
public void Test() {
getData = (TextView)findViewById(R.id.Time);
second = new TimerTask()
{
private String tag;
@Override
public void run()
{
Log.d(tag, curHour+":"+curMinute+"."+curSecond);
Update();
}
};
Timer timer = new Timer();
timer.schedule(second, 0, 1000);
}
public void Update()
{
c= Calendar.getInstance();
curMillis = c.getTime();
curHour = c.get(Calendar.HOUR_OF_DAY);
curNoon = c.get(Calendar.AM_PM);
if(curNoon == 0)
{
noon = "오전";
}
else
{
noon = "오후";
curHour -= 12;
}
curMinute = c.get(Calendar.MINUTE);
curSecond = c.get(Calendar.SECOND);
Runnable updater = new Runnable()
{
public void run()
{
getData.setText(noon+curHour+":"+curMinute+":"+curSecond);
}
};
handler.post(updater);
}
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
menu.add("설정");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Toast.makeText(getApplicationContext(), "설정화면으로 이동합니다.", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(this, Setting.class);
startActivity(intent);
return true;
}
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
}




쿼리는 기본문법만 알면될듯...나머지는 응용이죠.