2016-07-26 4 views
1

AndroidスタジオでCouchBaseを設定するには、instructionに従っています。CouchBase - Android StudioにJavaContextがありません

問題はJavaContextが存在しないようです。どんな考え?ここで

private void test(){ 
    // Enable logging 
    Logger log = Logger.getLogger("app"); 
    log.setLevel(Level.ALL); 
    JavaContext context = new JavaContext(); // THIS LINE DOES NOT COMPILE 
    // Create a manager 
      Manager manager = null; 
      try { 
       manager = new Manager(context, Manager.DEFAULT_OPTIONS); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
    // Create or open the database named app 
      Database database = null; 
      try { 
       database = manager.getDatabase("app"); 
      } catch (CouchbaseLiteException e) { 
       e.printStackTrace(); 
      } 
    // The properties that will be saved on the document 
      Map<String, Object> properties = new HashMap<String, Object>(); 
      properties.put("title", "Couchbase Mobile"); 
      properties.put("sdk", "Java"); 
    // Create a new document 
      Document document = database.createDocument(); 
    // Save the document to the database 
      try { 
       document.putProperties(properties); 
      } catch (CouchbaseLiteException e) { 
       e.printStackTrace(); 
      } 
    // Log the document ID (generated by the database) 
    // and properties 
    log.info(String.format("Document ID :: %s", document.getId())); 
    log.info(String.format("Learning %s with %s", (String) document.getProperty("title"), (String) document.getProperty("sdk"))); 
} 

は私のGradleです:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

    defaultConfig { 
     applicationId "com.woxthebox.draglistview.sample" 
     minSdkVersion 11 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    // workaround for "duplicate files during packaging of APK" issue 
// see https://groups.google.com/d/msg/adt-dev/bl5Rc4Szpzg/wC8cylTWuIEJ 
    packagingOptions { 
     exclude 'META-INF/ASL2.0' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/NOTICE' 
    } 
} 

repositories { 
    jcenter() 
    maven { 
     url "http://files.couchbase.com/maven2/" 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile project(':library') 
    compile 'com.android.support:appcompat-v7:23.3.0' 
    compile 'com.android.support:cardview-v7:23.3.0' 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    //compile 'com.android.support:appcompat-v7:22.1.1' 
    compile 'com.couchbase.lite:couchbase-lite-android:1.3.0' 
} 

はEDIT:

私の周りのいくつかの演奏は、このコードが動作することを発見した後:

private void test(){ 
     // Enable logging 
     Logger log = Logger.getLogger("app"); 
     log.setLevel(Level.ALL); 
     // JavaContext context = new JavaContext(); 

     // Create a manager 
       Manager manager = null; 
       try { 
        manager = new Manager(new AndroidContext(getApplicationContext()), Manager.DEFAULT_OPTIONS); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
     // Create or open the database named app 
       Database database = null; 
       try { 
        database = manager.getDatabase("app"); 
       } catch (CouchbaseLiteException e) { 
        e.printStackTrace(); 
       } 
     // The properties that will be saved on the document 
       Map<String, Object> properties = new HashMap<String, Object>(); 
       properties.put("title", "Couchbase Mobile"); 
       properties.put("sdk", "Java"); 
     // Create a new document 
       Document document = database.createDocument(); 
     // Save the document to the database 
       try { 
        document.putProperties(properties); 
       } catch (CouchbaseLiteException e) { 
        e.printStackTrace(); 
       } 
     // Log the document ID (generated by the database) 
     // and properties 
     log.info(String.format("Document ID :: %s", document.getId())); 
     log.info(String.format("Learning %s with %s", (String) document.getProperty("title"), (String) document.getProperty("sdk"))); 
    } 

誰かがと間違っていたかを説明することはできます元の指示?

+1

についてはこちらを参照してください。 Githubプロジェクトの 'JavaContext'はマスターブランチにも存在しないようです。だから、ここから行こう。 http://developer.couchbase.com/documentation/mobile/1.2/develop/training/build-first-android-app/starter-code-android/index.html –

+2

申し訳ありませんが、今日はhttps:///github.com/couchbaselabs/couchbase-mobile-portal/commit/84713c4ed1659c365f06b9c7df41cb2b0778f50eこれは今公開されるべきです。 – jamiltz

答えて

2

元の説明が間違っていると説明できますか?

おそらくドキュメントを書いた人は誰でも、Android Couchbase LiteのAndroidContextがあることを知らなかったでしょう。

一方、標準のJava(埋め込み?)プロジェクトでは、実際にはJavaContextがあります。

GithubのGetting Startedコードは実際にAndroidContextを使用しているため、ページが間違っています。

は、私はCouchbaseのドキュメントとの貧弱な経験を持っている(一見正しい)Couchbase Android - Getting Started Guide

+0

ありがとう、それは良いレッスンです。ドキュメントには注意してください... – jhegedus

+0

ドキュメントが更新されました。 – Hod

関連する問題