如何使用android中的asynctask连接到neo4j服务器(localhost)

时间:2015-02-21 10:19:01

标签: android android-asynctask neo4j neo4jphp

我在mac上安装了neo4j with localhost:7474。如何通过android中的asynctask添加新的人名和id?请帮助我。我正在试用2周但仍然没有结果。

我添加了一些我试过的代码,但我猜嵌入式db在android中不起作用: How can I access neo4j running on ( any http or localhost) from android

也尝试过:

RestAPI graphDb = new RestAPIFacade(" http://localhost:7474/db/data");

QueryEngine engine=new RestCypherQueryEngine(graphDb);
QueryResult<Map<String,Object>> result = engine.query("create (:Person {name:\"Steve\"}) return n", Collections.EMPTY_MAP);
Iterator<Map<String, Object>> iterator=result.iterator();

if(iterator.hasNext()) {
    Map<String,Object> row= iterator.next();

    int duration = Toast.LENGTH_LONG;
    Toast toast = Toast.makeText(getApplicationContext(),"" + row.get("total") , duration);
    toast.setGravity(Gravity.CENTER, 0, 0);
    toast.show();
}

它还在崩溃。

错误:  java.lang.NoClassDefFoundError:解析失败:Lorg / neo4j / rest / graphdb / RestAPIFacade;

此外:  引起:java.lang.ClassNotFoundException:没找到类&#34; org.neo4j.rest.graphdb.RestAPIFacade&#34; on path:DexPathList [[zip file&#34; /data/app/com.example.1/base.apk"],nativeLibraryDirectories = [/ vendor / lib,/ system / lib]]

/////////

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    new JSONAsyncTask().execute();

}


class JSONAsyncTask extends AsyncTask<Void, Void, JSONArray> {


    @Override
    protected void onPreExecute() {
        super.onPreExecute();

    }

    @Override
    protected JSONArray doInBackground(Void... urls) {

        try {

            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://localhost:7474/db/data");

            //              // Add your data
            //              List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
            //              nameValuePairs.add(new BasicNameValuePair("node","1"));
            //              httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            // Execute HTTP Post Request
            HttpResponse response = httpclient.execute(httppost);

            BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            sb.append(reader.readLine() + "\n");
            String line = "0";
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            reader.close();
            String result = sb.toString();

            Log.d("log",result);
            // parsing data
            return new JSONArray(result);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    @Override
    protected void onPostExecute(JSONArray result) {

    }
}

////////////

{"extensions":{},"outgoing_relationships":"http://ip_add:7474/db/data/node/6/relationships/out","labels":"http://ip_add:7474/db/data/node/6/labels","traverse":"http://ip_add:7474/db/data/node/6/traverse/{returnType}","all_typed_relationships":"http://ip_add:7474/db/data/node/6/relationships/all/{-list|&|types}","self":"http://ip_add:7474/db/data/node/6","property":"http://ip_add:7474/db/data/node/6/properties/{key}","properties":"http://ip_add:7474/db/data/node/6/properties","outgoing_typed_relationships":"http://ip_add:7474/db/data/node/6/relationships/out/{-list|&|types}","incoming_relationships":"http://ip_add:7474/db/data/node/6/relationships/in","create_relationship":"http://ip_add:7474/db/data/node/6/relationships","paged_traverse":"http://ip_add:7474/db/data/node/6/paged/traverse/{returnType}{?pageSize,leaseTime}","all_relationships":"http://ip_add:7474/db/data/node/6/relationships/all","incoming_typed_relationships":"http://ip_add:7474/db/data/node/6/relationships/in/{-list|&|types}","metadata":{"id":6,"labels":[]},"data":{}}

1 个答案:

答案 0 :(得分:2)

您需要将必要的JAR文件添加到您的android项目中。

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ neo4j-rest-graphdb ---
[INFO] org.neo4j:neo4j-rest-graphdb:jar:1.9.3-SNAPSHOT
[INFO] +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.7:compile
[INFO] |  \- org.codehaus.jackson:jackson-core-asl:jar:1.9.7:compile
[INFO] +- org.neo4j:neo4j-kernel:jar:1.9.2:compile
[INFO] |  \- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile
[INFO] +- org.neo4j:neo4j-lucene-index:jar:1.9.2:compile
[INFO] |  \- org.apache.lucene:lucene-core:jar:3.6.2:compile
[INFO] |  +- com.sun.jersey:jersey-core:jar:1.4:compile
[INFO] |  \- asm:asm:jar:3.1:compile
[INFO] \- com.sun.jersey:jersey-client:jar:1.4:compile

但也许首先从一个简单的http请求开始,然后尝试更多。