2012-05-02 6 views
2

저는 모바일 개발에 새로운 것이므로 Phonegap을 사용하여 응용 프로그램을 개발하기로 결정했습니다. 내 응용 프로그램에서는 SQLite 플러그인을 사용하고 있습니다. WebSQL이 필자의 필수품에 참석하지 않기 때문입니다. 우리가 "스위치 (cur.getType (내가있을 때 (행 20에서커서 유형에 대해 Android - getType (int)이 정의되지 않았습니다.

public void processResults(Cursor cur, String query_id, String tx_id) { 

    String result = "[]"; 
    // If query result has rows 

    if (cur.moveToFirst()) { 
     JSONArray fullresult = new JSONArray(); 
     String key = ""; 
     int colCount = cur.getColumnCount(); 

     // Build up JSON result object for each row 
     do { 
      JSONObject row = new JSONObject(); 
      try { 
       for (int i = 0; i < colCount; ++i) { 
        key = cur.getColumnName(i); 
        // for old Android SDK remove lines from HERE: 
        if(android.os.Build.VERSION.SDK_INT >= 11) 
        { 
         switch(cur.getType (i)) 
         { 
          case Cursor.FIELD_TYPE_NULL: 
           row.put(key, null); 
           break; 
          case Cursor.FIELD_TYPE_INTEGER: 
           row.put(key, cur.getInt(i)); 
           break; 
          case Cursor.FIELD_TYPE_FLOAT: 
           row.put(key, cur.getFloat(i)); 
           break; 
          case Cursor.FIELD_TYPE_STRING: 
           row.put(key, cur.getString(i)); 
           break; 
          case Cursor.FIELD_TYPE_BLOB: 
           row.put(key, cur.getBlob(i)); 
           break; 
         } 
        } 
        else // to HERE. 
        { 
         row.put(key, cur.getString(i)); 
        } 
       } 
       fullresult.put(row); 

      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 

     } while (cur.moveToNext()); 

     result = fullresult.toString(); 
    } 
    if(query_id.length() > 0) 
     this.sendJavascript(" SQLitePluginTransaction.queryCompleteCallback('" + tx_id + "','" + query_id + "', " + result + ");"); 

} 

: 나는 다음과 같은 기능이 나에게 오류를 반환 일식, 내 프로젝트에 플러그인을 사용하는 데 필요한 파일 중 하나를 넣어하려고 할 때)) ")는, Eclipse는 다음과 같은 오류 반환 :이보고

The method getType(int) is undefined for the type Cursor 

, 나는 그것을 인터넷 검색을 시도, 그리고 안드로이드의 문서에 getType로는 커서의 방법이라고 말한다.

import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 
import com.phonegap.api.Plugin; 
import com.phonegap.api.PluginResult; 
import android.database.Cursor; 
import android.database.sqlite.*; 
import android.util.Log; 

으로 자바를 모른다, 나는이 알아낼 수없고 내 검색 아무것도 발견하지 않은,하지만 내가 모르는 뭔가가있을 수 있습니다 : 여기

이 파일 수입 것입니다. 누군가 나를 도와 줄 수 있기를 바랍니다.

답변

3

어떤 Android 버전을 타겟팅하고 있습니까? getType method was added in API 11 (Honeycomb).

머리글의 오른쪽에 ('이후 : API 레벨 11')이 표시되며 참조 페이지 상단의 'API 레벨 별 필터링'상자가 유용 할 수 있습니다.

+0

불행히도 모든 벌집 열을 자동으로 벌집 전 반복 할 수는 없습니다. 이것이 데이터베이스라면 열 유형을 지정하게됩니다 (지정한대로!) 그렇지 않으면 문서에 따라 달라집니다. 예를 들어 [ContactsContract.ContactsColumns] (http://developer.android.com/reference/android/provider/ContactsContract.ContactsColumns.html#DISPLAY_NAME) 유형이 있습니다. 코드를 수정하여 각 열을 올바른 유형으로 가져와야합니다. –

관련 문제