수원 맛집 소스 코드의 일부이다. credits 에 toast 팝업으로 명언을 띄워주는..
DB에서 안 가지고 온 것은 애드워드 기번의 명언이 default로 나온다.
package com.b.team.food;
import java.util.*;
import android.app.*;
import android.content.*;
import android.database.*;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.graphics.*;
import android.os.*;
import android.provider.*;
import android.view.*;
import android.widget.*;
import android.widget.AdapterView.OnItemClickListener;
public class FCredits extends Activity {
Context mContext;
WordDBHelper mHelper;
EditText mText;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(R.layout.credits);
mHelper = new WordDBHelper(this); //디비에서 가지고 오는 건 쉽다.
SQLiteDatabase db = mHelper.getReadableDatabase(); // 요러면 땡
Cursor cursor;
String vRand = String.valueOf((int)(Math.random()*1617 + 561)); //명언을 랜덤하게 뽑는다.
cursor = db.rawQuery("SELECT quote, author FROM Quote WHERE _id="+vRand , null);
//쿼리 날려서 커서에 넣는다. 랜덤 아이디 것만 뽑아온다.
String Result = "";
// 커서는 배열 비스무리 한건가봐 moveToNext가 먹는걸 보니. 아님 칼럼의 내용이 하나씩 들어가나?
while(cursor.moveToNext()) {
String vQuote = cursor.getString(0);
String vAuthor = cursor.getString(1);
Result += (vQuote + "" + vAuthor +"\n");
}
if(Result.length() == 0) {
Result =("* 진보하지 않는 모든 것은 퇴보한다. 애드워드 기번 *");
}
else {
//NULL Pointer Error mText.setText(""+Result);
}
Toast.makeText(FCredits.this, (CharSequence) Result, Toast.LENGTH_LONG).show();
cursor.close();
mHelper.close();
}
class WordDBHelper extends SQLiteOpenHelper {
public WordDBHelper(Context context) {
super(context, "history.db", null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
}
---------------------------------------------------------------------------------------------------
http://androidhuman.tistory.com/210 글이 도움이 된다.
커서는 쿼리(질의) 결과로 나온 레코드들을 가리키는, 말 그대로 마우스 "커서" 처럼 특정 레코드를 가리키는 역할을 합니다. 결과 레코드가 여러 개일 경우, 커서를 이리저리 움직이면서 여러 레코드들의 데이터들을 받아올 수 있습니다.
커서는 레코드를 가리키는 인터페이스 였다. 포인터도 맞는 표현일지도. 가리키는 혹은 레코드를 가리키는 주소니까... 메모리상은 아니지만.
matrixcursor는 http://susemi99.tistory.com/749 의 소스를 보면
칼럼 위치를 바꾸어서 레코드를 다시 구성할 때 쓰이는 것으로 보인다.
2011년 9월 7일 수요일
피드 구독하기:
댓글 (Atom)
UPBIT is a South Korean company, and people died of suicide cause of coin investment.
UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...
-
XE(제로보드) 내 게시판의 첨부용량 변경 ㅁ 개요 ↑ XE 구축시 초기 첨부파일 용량은 2M로 제한되어 있음에 데이터 자료실을 만들기 위해 용량을 명령어를 이용하여 추가 혹은 감소 시키도록 하고자 한다. ㅁ 구현 ↑ 처음 ...
-
일단 ssh 프로그램으로 apm 셋팅을 하려고 했으나 apt-get이 계속 파일 위치를 잡지 못했다. (404 not found....) 그래서 구글링 결과 apt의 리스트 변수 목록을 제거하고 새로 업데이트 하는 명령어를 찾음 :)...
-
□ native modifier 는 자바가 아닌 다른 언어로 작성된 코드를 자바에서 사용하기 위한 것 □ transient modifier 는 객체가 직렬 화되는 과정에서 해당 필드가 저장되지 않아야 한다는 것을 알리기 위해 사용 ...
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.