Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android应用程序中使用Jersey for restful api时,我遇到以下错误:_Java_Android_Rest - Fatal编程技术网

Java 在Android应用程序中使用Jersey for restful api时,我遇到以下错误:

Java 在Android应用程序中使用Jersey for restful api时,我遇到以下错误:,java,android,rest,Java,Android,Rest,以下是我正在使用的代码: import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import java.io.File; import java.io.IOException; import java.util.logging.Logg

以下是我正在使用的代码:

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.io.File;
import java.io.IOException;
import java.util.logging.Logger;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import org.apache.commons.codec.binary.Base64;


 public class Fragment_2 extends Fragment {
static Logger logger = Logger.getLogger(Fragment_2.class.getSimpleName());

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){

 new Thread(new Runnable() {

    public void run() {

        try {
             String base64 = null;
                String imageDataString2 = null;
                File file = new File("/mnt/sdcard/DCIM/Camera/2013-03-27 00.22.48.jpg");

                try {
                       // Reading a Image file from file system
                       FileInputStream imageInFile = new FileInputStream(file);
                       byte imageData[] = new byte[(int) file.length()];
                       imageInFile.read(imageData);

                       // Converting Image byte array into Base64 String
                       String imageDataString = new String(Base64.encodeBase64(imageData));

                       imageDataString2 = imageDataString.replace("_", "/");
                       imageDataString2 = imageDataString2.replace("-", "+");

                       System.out.println(imageDataString2);
                       base64 = imageDataString2;
                       System.out.println("Image Successfully Manipulated!");
                   } catch (FileNotFoundException e) {
                       System.out.println("Image not found" + e);
                   } catch (IOException ioe) {
                       System.out.println("Exception while reading the Image " + ioe);
                   }                        
                    ClientConfig config = new DefaultClientConfig();
                    Client client = Client.create(config);
                    WebResource service = client.resource(UriBuilder.fromUri("http://xxxxxx:8080/api").build());//change it to the latest URL 

                    Form f = new Form();                   
                    f.add("img",base64 );    

                    String s = service.post(String.class, f);

        } catch (Exception e) {

        }           
    }

}).start();                         
 return inflater.inflate(R.layout.fragment_2, container, false);
}

 }
下面是错误:

03-28 03:50:24.569: W/dalvikvm(20989): Link of class 'Lcom/sun/jersey/core/osgi/OsgiRegistry;' failed
03-28 03:50:24.569: W/dalvikvm(20989): VFY: unable to resolve static method 5977: Lcom/sun/jersey/core/osgi/OsgiRegistry;.getInstance ()Lcom/sun/jersey/core/osgi/OsgiRegistry;
03-28 03:50:24.569: W/dalvikvm(20989): Link of class 'Lcom/sun/jersey/core/osgi/OsgiRegistry;' failed
03-28 03:50:24.569: W/dalvikvm(20989): VFY: unable to find class referenced in signature (Lcom/sun/jersey/core/osgi/OsgiRegistry;)
03-28 03:50:27.379: W/dalvikvm(20989): Exception Ljava/lang/NullPointerException; thrown while initializing Lcom/sun/jersey/core/header/MediaTypes;
03-28 03:50:27.379: W/dalvikvm(20989): threadid=9: thread exiting with uncaught exception (group=0x40018578)
03-28 03:50:27.399: E/AndroidRuntime(20989): FATAL EXCEPTION: Thread-10
03-28 03:50:27.399: E/AndroidRuntime(20989): java.lang.ExceptionInInitializerError
03-28 03:50:27.399: E/AndroidRuntime(20989):    at com.sun.jersey.core.spi.factory.MessageBodyFactory.getMessageBodyWriterMediaTypes(MessageBodyFactory.java:444)
03-28 03:50:27.399: E/AndroidRuntime(20989):    at com.sun.jersey.api.client.RequestWriter.getMediaType(RequestWriter.java:324)
03-28 03:50:27.399: E/AndroidRuntime(20989):    at com.sun.jersey.api.client.RequestWriter.writeRequestEntity(RequestWriter.java:282)
03-28 03:50:27.399: E/AndroidRuntime(20989):    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:213)
03-28 03:50:27.399: E/AndroidRuntime(20989):    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149)
03-28 03:50:27.399: E/AndroidRuntime(20989):    at com.sun.jersey.api.client.Client.handle(Client.java:648)
03-28 03:50:27.399: E/AndroidRuntime(20989):    at com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)
03-28 03:50:27.399: E/AndroidRuntime(20989):    at com.sun.jersey.api.client.WebResource.post(WebResource.java:251)
03-28 03:50:27.399: E/AndroidRuntime(20989):    at com.example.programming_fragments.Fragment_2$1.run(Fragment_2.java:91)
03-28 03:50:27.399: E/AndroidRuntime(20989):    at java.lang.Thread.run(Thread.java:1019)
03-28 03:50:27.399: E/AndroidRuntime(20989): Caused by: java.lang.NullPointerException
03-28 03:50:27.399: E/AndroidRuntime(20989):    at javax.ws.rs.core.MediaType.valueOf(MediaType.java:119)
03-28 03:50:27.399: E/AndroidRuntime(20989):    at com.sun.jersey.core.header.MediaTypes.<clinit>(MediaTypes.java:65)
03-28 03:50:27.399: E/AndroidRuntime(20989):    ... 10 more
03-2803:50:24.569:W/dalvikvm(20989):类“Lcom/sun/jersey/core/osgi/OsgiRegistry”的链接失败
03-28 03:50:24.569:W/dalvikvm(20989):VFY:无法解析静态方法5977:Lcom/sun/jersey/core/osgi/OsgiRegistry;。getInstance()Lcom/sun/jersey/core/osgi/OsgiRegistry;
03-28 03:50:24.569:W/dalvikvm(20989):类链接“Lcom/sun/jersey/core/osgi/OsgiRegistry;”失败
03-28 03:50:24.569:W/dalvikvm(20989):VFY:找不到签名中引用的类(Lcom/sun/jersey/core/osgi/OsgiRegistry;)
03-28 03:50:27.379:W/dalvikvm(20989):异常Ljava/lang/NullPointerException;初始化Lcom/sun/jersey/core/header/MediaType时抛出;
03-28 03:50:27.379:W/dalvikvm(20989):threadid=9:线程以未捕获异常退出(组=0x40018578)
03-28 03:50:27.399:E/AndroidRuntime(20989):致命异常:线程10
03-28 03:50:27.399:E/AndroidRuntime(20989):java.lang.ExceptionInInitializeError
03-28 03:50:27.399:E/AndroidRuntime(20989):位于com.sun.jersey.core.spi.factory.MessageBodyFactory.getMessageBodyWriterMediaTypes(MessageBodyFactory.java:444)
03-28 03:50:27.399:E/AndroidRuntime(20989):位于com.sun.jersey.api.client.RequestWriter.getMediaType(RequestWriter.java:324)
03-28 03:50:27.399:E/AndroidRuntime(20989):位于com.sun.jersey.api.client.RequestWriter.writeRequestEntity(RequestWriter.java:282)
03-28 03:50:27.399:E/AndroidRuntime(20989):位于com.sun.jersey.client.urlconnection.URLConnectionClientHandler.\u调用(URLConnectionClientHandler.java:213)
03-28 03:50:27.399:E/AndroidRuntime(20989):位于com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149)
03-28 03:50:27.399:E/AndroidRuntime(20989):位于com.sun.jersey.api.client.client.handle(client.java:648)
03-28 03:50:27.399:E/AndroidRuntime(20989):位于com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)
03-28 03:50:27.399:E/AndroidRuntime(20989):位于com.sun.jersey.api.client.WebResource.post(WebResource.java:251)
03-28 03:50:27.399:E/AndroidRuntime(20989):在com.example.programming_fragments.Fragment_2$1.run(Fragment_2.java:91)
03-28 03:50:27.399:E/AndroidRuntime(20989):在java.lang.Thread.run(Thread.java:1019)处

03-28 03:50:27.399:E/AndroidRuntime(20989):由以下原因引起:java.lang.NullPointerException 03-28 03:50:27.399:E/AndroidRuntime(20989):位于javax.ws.rs.core.MediaType.valueOf(MediaType.java:119) 03-28 03:50:27.399:E/AndroidRuntime(20989):位于com.sun.jersey.core.header.MediaTypes.(MediaTypes.java:65) 03-28 03:50:27.399:E/AndroidRuntime(20989):。。。10多

我该怎么办?

我不确定这是正确的解决方案

根据需要,在依赖项/类路径中需要有
json
模块

如果该库的名称为libitv.so,并且在生成.apk之前放置在应用程序目录的libs\armeabi目录中,则会识别该库

有时,当库未完全复制(部分复制)时,由于某些系统问题,部分库也无法识别

有关更多详细信息,请参阅

试试这个,我有一些解决办法

更新:

java.lang.ExceptionInInitializerError
原因:
java.lang.UnsatifiedLink错误:
Library jniavutil未找到

除了libsndfile之外,还需要安装libFLAC。 您可能可以使用您使用的任何方法安装libFLAC 要安装libsndfile

您已经从ddms日志中漏掉了重要的部分。寻找一个 包含“原因”和/或包含更多异常的行 日志,以便我们可以查看它

您已启用CodePro覆盖率进行编译。把它关掉

实际上,这就是我们在ADT17中面临的问题,为了克服这个异常,您必须将jar文件放入libs文件夹中

因此,右键单击项目-->创建一个名为libs的文件夹

然后按照这一步进入

 right click (on libs folder) -->import-->File System-->browse to select your jar file and hit finish and run you project.
之后

 right click on the project --> Built Path-->java built path-->add jars select your jar file from your libs folder
如果这也不起作用的话
一切(包括数据),它都会工作。

原因是:java.lang.NullPointerException 03-28 03:50:27.399:E/AndroidRuntime(20989):在javax.ws.rs.core.MediaType.valueOf(MediaType.java:119)…我的依赖项/类路径中有jersey包,不是吗enough@MosabAldahayyat尝试我的更新链接,它有一些解决方案,它将帮助您谢谢@Sathish,我正在将jar放入libs和java路径中,但我不知道如何安装到我的项目中,以及如何关闭CodePro覆盖谢谢大家的帮助,我发现android操作系统不支持jersey客户端,替代解决方案是使用Http post或从Apache客户端获取。这可能会有所帮助: