Reputation: 133
Here is the code that i am using :
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);
}
}
and here is the error:
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
What should I do?
Upvotes: 3
Views: 2623
Reputation: 4713
im not sure this is right solution
according to Jersey deps you need to have jersey-json
module in your dependencies/classpath.
The library will be recognised if its name is libitv.so and is placed in libs\armeabi directory in your application directory, before the .apk is built.
Sometimes when the library is not copied completely(partial copy), due to some system issues the partial library too will not be recognized.
For more details refer here
try this link have some solution
update:
java.lang.ExceptionInInitializerError
Caused by: java.lang.UnsatisfiedLinkError:
Library jniavutil not found
You need to install libFLAC in addition to libsndfile. You can probably install libFLAC using whatever method you used to get libsndfile installed...
You have missed out the importent bits from the ddms log. Look for a line that includes "caused by" and/or include more of the exception log so we can have a look at it.
You've compiled with CodePro coverage enabled. Turn it off.
Actually this is the problem we are facing with ADT 17 you have to put your jar file into libs folder in order to overcome this exception
so right click on your project -->create a folder with name libs
and follow this step in
right click (on libs folder) -->import-->File System-->browse to select your jar file and hit finish and run you project.
after that
right click on the project --> Built Path-->java built path-->add jars select your jar file from your libs folder
if this also didn't work rebuilding everything (included data), and it will works.
Upvotes: 1