안드로이드DB관련 질문을 드립니다 __

안녕하세요 말없는작가입니다 요번에 어플을 만든다고 하는데 이제 어느정도 틀은 나온거 같은데 DB부분에 대한 질문이 있어서 
부득이하게 질문글을 올립니다

-DB를 끌어오는데 있어서 중복값이 걸리는 점
-출발지와 목적지를 선택하면 교통비가 나오도록 출력을 해야 하는데 그게 뜨지를 않더라구요;

-DB를 이용한 다중스피너연동이 어렵더라구요;;

혹시나 간단한 조언이라도 주시면 감사하겠습니다
 

by 말없는작가 | 2012/11/15 15:08 | 취미생활 | 트랙백 | 덧글(1)

안드로이드 DB 관련해서 여쭈어볼것이 있습니다

이번에 어찌어찌  책보고 구글검색해서 구글코드를 사용해서 DB를 끌어왔는데;
이게 중복값이 너무 심하더라구요

package com.example.jk;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.view.Window;
import android.widget.ArrayAdapter;

import android.widget.Toast;
import android.widget.Spinner;

public class secondmain1_1_1 extends Activity {
private static String DB_PATH = "/sdcard/";
private static String DB_NAME = "tol.sqlite";
private int listcount = 0;
private String[] startList = null;
private String[] endList = null;

private boolean checkDataBase(){
SQLiteDatabase checkDB = null;
try{
String myPath = DB_PATH + DB_NAME;
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
}catch(SQLiteException e){
//database does't exist yet.
}

if(checkDB != null){
checkDB.close();
}

return checkDB != null ? true : false;
}

private void copyDataBase() throws IOException{
InputStream myInput = this.getAssets().open(DB_NAME);
String outFileName = DB_PATH + DB_NAME;
OutputStream myOutput = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];

int total_length = 0;
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
total_length+=length;
}

total_length+=length;

myOutput.flush();
myOutput.close();
myInput.close();

}

public void createDataBase() throws IOException{

boolean dbExist = checkDataBase();

if(dbExist){
//NOTHING
}else{
try {
copyDataBase();
} catch (IOException e) {
throw new Error("Error copying database");
}
}
}

/-* Called when the activity is first created. *-
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.secondmain1_1_1);

try {
createDataBase();
} catch (IOException ioe) {
Toast.makeText(this, "DB 파일을 생성할 수 없습니다.", Toast.LENGTH_LONG).show();
}

listcount = 0;
try {
Cursor cursor;
SQLiteDatabase db = SQLiteDatabase.openDatabase(DB_PATH+DB_NAME, null, 1);

String[] FROM = { "*" };
cursor = db.query("tol", FROM, null, null, null, null, null);
startManagingCursor(cursor);

startList = new String[cursor.getCount()];
endList = new String[cursor.getCount()];

while(cursor.moveToNext())
{
String start = cursor.getString(0);
String end = cursor.getString(1);

startList[listcount] = start;
endList[listcount] = end;

listcount++;
}

if(db != null)
db.close();

} catch (Exception e) {
Toast.makeText(this, "ERROR IN CODE:"+e.toString(), Toast.LENGTH_LONG).show();
}

if (listcount > 0)
{
ArrayList<String> listString = new ArrayList<String>();
for (int i = 0; i < startList.length; i++)
{
listString.add(startList[i]);
}

Spinner spinner = (Spinner)findViewById(R.id.spinner2);

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getBaseContext(),
android.R.layout.simple_list_item_1, listString);

spinner.setAdapter(arrayAdapter);
}
if (listcount > 0)
{
ArrayList<String> listString = new ArrayList<String>();
for (int i = 0; i < endList.length; i++)
{
listString.add(endList[i]);
}

Spinner spinner = (Spinner)findViewById(R.id.spinner1);

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getBaseContext(),
android.R.layout.simple_list_item_1, listString);

spinner.setAdapter(arrayAdapter);
}
}
}

여기서 어느부분을 수정해야 DB가 중복되지 않고 깨끗하게 나올수있을까요?
그리고 페이지 1,2,3DB내용을 합쳐서 4에 출력하려면 어떤소스룰 써야할지 질문드립니다

by 말없는작가 | 2012/10/31 17:01 | 취미생활 | 트랙백 | 덧글(0)

다름이 아니라 부득하게 하나 질문을 드립니다

안드로이드에서 DB연동을 찾아보다 Sqlite를 다들 많이 쓰시는것 같더라구요 ㅎㅎ
질문을 드렸을때도 다들 sqlite가 내장 형식도 되어있다고 해서
그래서 sqlite를 사용해서 DB를 만들기는 했는데
이게 연동을 어찌해야하는지 애매합니다 예를 들어서 안드로이드DB연동을 검색을 하면

-이클립스에서 소스를 입력하는 형식으로 해서 sqlite생성를 해서 데이터를 연동 하는 경우가 많이 보이던데

저는

-미리 sqlite DB를 이클립스 안드로이드앱으로 만들어 바로 연동하려면 소스를 어느부분에 입력을 해야하는지  

의문이 들어서 조심스럽게 질문글을 올려봅니다   

by 말없는작가 | 2012/10/22 14:39 | 취미생활 | 트랙백 | 덧글(2)

안드로이드 관련해서 하나 여쭈어볼것이 있습니다

안녕하세요 말없는작가입니다
다름이 아니라 이번에 안드로이드 앱을 만들어 보려고 하는중인데 이번에 DB데이터베이스 연동을 찾아보다 sql쪽은 많이 나오는것 같던데 엑세스쪽은 찾기가 힘들던데 연동의 어려움 때문인가요?? Sql쪽이 더 쉬워서 그런건가요? 궁금해서 질문을 올러봅니다

by 말없는작가 | 2012/10/06 16:51 | 취미생활 | 트랙백 | 덧글(5)

감사합니다 겨리님외 많은 분들 __

부득하게 자꾸 IT밸리에 글을 올리게 되었는데;; 죄송합니다
그래도 나름 생각한 만큼 구현되었습니다 
아직 부족하긴 하지만 조금씩 더수정해보려고 합니다 ㅠㅠ 
(일단은 슬롯3개가 일치하면 당첨입니다를 출력했습니다만 ㅎㅎ; 그림에 따라 결과가 달라지는건 더 공부해야겠네요;)
도움주신 겨리님과 충고해주시고 봐주신 많은 분들께 감사합니다 __ 앞으로 더욱 열심히 해야겠네요 ㅎㅎ;
 

by 말없는작가 | 2012/06/10 14:57 | 일상 [Life] | 트랙백 | 덧글(2)

◀ 이전 페이지          다음 페이지 ▶