CouchBase - 在Android Studio中找不到JavaContext
问题描述:
我正在关注instruction以在Android Studio中设置CouchBase。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'
}
编辑:
一些上场后,各地,我发现此代码:
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")));
}
有人能解释什么是错的原来的指示?
答
有人可以解释原指令有什么问题吗?
可能编写文档的人不知道Android Couchbase Lite的AndroidContext
。
对于标准的Java(embedded?)项目,实际上有一个JavaContext
。
Github上的入门代码实际上也使用AndroidContext
,因此页面错误。
看到这里的(貌似正确的)Couchbase Android - Getting Started Guide
我有Couchbase文档质量很差的经验。它看起来像根据Github项目在主分支中不存在“JavaContext”。所以,请尝试从这里开始。 http://developer.couchbase.com/documentation/mobile/1.2/develop/training/build-first-android-app/starter-code-android/index.html –
为此抱歉,它已在https:/ /今天更新/github.com/couchbaselabs/couchbase-mobile-portal/commit/84713c4ed1659c365f06b9c7df41cb2b0778f50e,现在应该发布。 – jamiltz