2013-06-03 2 views
0

내가 얻을 값을 결합하려는 두 가지 방법값 읽기 및 다른 데이터베이스에 기록

public void UserA(String user, String name, String email, byte[] blob){}; 

public void UserB(String user, String name, String email, byte[] blob){}; 

입니다 클래스, SQLiteConnection 에있다 이 두 가지 방법은 sqlite 데이터베이스에 저장하는 데 사용하는 세 번째 방법을 전달합니다.

public void TwoUser(String user1, String name1, String email1, byte[] blob1, String user2, String name2, String email2, byte[] blob2){}; 

하지만 내가 사용자 A() 얻을 값 (문자열 사용자 문자열 이름, 문자열 이메일, 바이트 [] BLOB)에 액세스하는 방법을 알고, 그리고 (TwoUser에서 사용하지 마십시오).

것은 어떤 방법 사용자 A()의 값을 얻기 위해 사용하는, 그리고 TwoUser()에서 사용할 수 있습니다.

또는 UserB에서 데이터를 가져 와서 TwoUser 데이터베이스를 업데이트 할 때 먼저 TwoUser 데이터베이스에 UserA를 저장할 수 있습니까? 평균 별도의 데이터를 동일한 열에 저장 하시겠습니까? 가능한가?

편집

내 프로젝트는 먼저 모든 사용자는 내가 아래 표와 같은 데이터베이스에 항목 데이터를 저장할 수 있도록 자신의 항목을 업로드해야, 스왑 항목에 대한 사용이다.

다음 userA는 UserB에서 항목을 선택할 것이므로 최종적으로 새 데이터베이스에 항목 데이터를 모두 저장하려고하므로 결과가 너무 바뀝니다.

다른 사용자 데이터를 저장하는 데 사용 된 데이터베이스입니다. 내가 원하는 결과

enter image description here

은, 상단 하나는 아래에 사용자 A와 사용자 B의 스왑 결과는의 사용자 A 항목의 세부 사항을 표시.

enter image description here

public void insertItem(String user, String name, String condition, String email, String category,byte[] blob) { 
     ContentValues cv = new ContentValues(); 
     cv.put(ItemDb.USER, user); 
     cv.put(ItemDb.NAME, name); 
     cv.put(ItemDb.CONDITION, condition); 
     cv.put(ItemDb.EMAIL, email); 
     cv.put(ItemDb.CATEGORY, category);  
     cv.put(ItemDb.IMAGE,blob); 


     db = sqlHp.getWritableDatabase(); 
     db.insert(ItemDb.TABLE, null, cv); 
     db.close(); 
    } 
+0

공용 클래스 변수의 값을 저장합니다 내가 당신이라면 , 나는 그것 (하나의 방법)처럼 만들 것? – chRyNaN

+0

공용 클래스 변수에 값을 저장하는 방법은 무엇입니까? – user2301281

+0

중복 코드를 줄이기 위해'User' 클래스를 만드는 것이 좋습니다. –

답변

1

그것은 당신이 위 사용하고 redudancy 방법이다, 사용자 A와 사용자 B는 동일한 매개 변수 (그리고 아마도 동일한 기능)을 가지고있다.

public void user(String user[], String name[], String email[], byte blob[]){ 

    String user1=user[0], user2=user[1]; 
    String name1=name[0], name2=name[1]; 
    String email1=email[0], email2=email[1]; 
    byte blob1=blob[0], blob2=blob[1]; 

    //What to do next 

} 
+0

하지만 다른 클래스의 데이터를 얻으므로 두 클래스로 분리해야합니다. Mean Activity A는 UserA 데이터를 전달하고 Activity B는 UserB 데이터를 전달하며 TwoUser 데이터베이스에 저장하는 데 사용되는 Activity C의 User 데이터를 모두 결합하려고합니다. – user2301281

+0

클래스 A와 클래스 B 모두에서 전역 변수를 만들어야한다고 제안합니다. getter를 사용하여 각 클래스에서 변수를 검색하십시오. –

+0

죄송합니다. 저는 Java와 android에서 매우 새롭습니다. "클래스 A와 B 모두에서 변수를 전역으로 만들고 각 클래스에서 변수를 검색하는 getter를 사용하십시오"라는 의미를 이해할 수 없습니다. 몇 가지 예를 보여 주시겠습니까? – user2301281