具有Restfull服务的Android Volley

时间:2016-04-11 09:18:23

标签: android rest android-volley restful-architecture restful-url

嘿,有人可以帮我解决这个错误。我使用安静的服务在我的Android手机和笔记本电脑之间建立了联系。通信成功建立,我可以从我的服务中获得json与“Autori”表中的所有信息,但是当从手机发送对象时,服务不知道如何反序列化json。请根据给出的错误判断我的代码,而不是在主UI线程上运行的事实。 附:我提到服务器端的所有代码都使用“来自数据库的实体类”和“来自实体类的REstfull Web服务”来生成购买Netbeans。

Restfull服务方

Autori(是服务器端的bean类)

@Entity
@Table(name = "autori")
@XmlRootElement

@NamedQueries({

    @NamedQuery(name = "Autori.findAll", query = "SELECT a FROM Autori a"),
    @NamedQuery(name = "Autori.findById", query = "SELECT a FROM Autori a WHERE a.id = :id"),
    @NamedQuery(name = "Autori.findByNume", query = "SELECT a FROM Autori a WHERE a.nume = :nume"),
    @NamedQuery(name = "Autori.findByPrenume", query = "SELECT a FROM Autori a WHERE a.prenume = :prenume")})
public class Autori implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "ID")
    private Integer id;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 255)
    @Column(name = "Nume")
    private String nume;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 255)
    @Column(name = "Prenume")
    private String prenume;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "iDAutori")
    private List<CarteAutori> carteAutoriList;
    @JoinColumn(name = "idUser", referencedColumnName = "ID")
    @ManyToOne
    private User idUser;

    public Autori() {
    }

    public Autori(Integer id) {
        this.id = id;
    }

    public Autori(Integer id, String nume, String prenume) {
        this.id = id;
        this.nume = nume;
        this.prenume = prenume;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNume() {
        return nume;
    }

    public void setNume(String nume) {
        this.nume = nume;
    }

    public String getPrenume() {
        return prenume;
    }

    public void setPrenume(String prenume) {
        this.prenume = prenume;
    }

    @XmlTransient
    public List<CarteAutori> getCarteAutoriList() {
        return carteAutoriList;
    }

    public void setCarteAutoriList(List<CarteAutori> carteAutoriList) {
        this.carteAutoriList = carteAutoriList;
    }

    public User getIdUser() {
        return idUser;
    }

    public void setIdUser(User idUser) {
        this.idUser = idUser;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Autori)) {
            return false;
        }
        Autori other = (Autori) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "qwe.Autori[ id=" + id + " ]";
    }

}

用户(另一个bean)

@Entity
@Table(name = "user")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "User.findAll", query = "SELECT u FROM User u"),
    @NamedQuery(name = "User.findById", query = "SELECT u FROM User u WHERE u.id = :id"),
    @NamedQuery(name = "User.findByUserName", query = "SELECT u FROM User u WHERE u.userName = :userName"),
    @NamedQuery(name = "User.findByParola", query = "SELECT u FROM User u WHERE u.parola = :parola"),
    @NamedQuery(name = "User.findByNume", query = "SELECT u FROM User u WHERE u.nume = :nume"),
    @NamedQuery(name = "User.findByPrenume", query = "SELECT u FROM User u WHERE u.prenume = :prenume"),
    @NamedQuery(name = "User.findByEmail", query = "SELECT u FROM User u WHERE u.email = :email")})
public class User implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "ID")
    private Integer id;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 255)
    @Column(name = "userName")
    private String userName;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 255)
    @Column(name = "parola")
    private String parola;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 255)
    @Column(name = "Nume")
    private String nume;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 255)
    @Column(name = "Prenume")
    private String prenume;
    // @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 255)
    @Column(name = "email")
    private String email;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "iDUser")
    private List<UserRoluri> userRoluriList;
    @OneToMany(mappedBy = "idUser")
    private List<Autori> autoriList;
    @OneToMany(mappedBy = "iDUser")
    private List<History> historyList;

    public User() {
    }

    public User(Integer id) {
        this.id = id;
    }

    public User(Integer id, String userName, String parola, String nume, String prenume, String email) {
        this.id = id;
        this.userName = userName;
        this.parola = parola;
        this.nume = nume;
        this.prenume = prenume;
        this.email = email;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getParola() {
        return parola;
    }

    public void setParola(String parola) {
        this.parola = parola;
    }

    public String getNume() {
        return nume;
    }

    public void setNume(String nume) {
        this.nume = nume;
    }

    public String getPrenume() {
        return prenume;
    }

    public void setPrenume(String prenume) {
        this.prenume = prenume;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @XmlTransient
    public List<UserRoluri> getUserRoluriList() {
        return userRoluriList;
    }

    public void setUserRoluriList(List<UserRoluri> userRoluriList) {
        this.userRoluriList = userRoluriList;
    }

    @XmlTransient
    public List<Autori> getAutoriList() {
        return autoriList;
    }

    public void setAutoriList(List<Autori> autoriList) {
        this.autoriList = autoriList;
    }

    @XmlTransient
    public List<History> getHistoryList() {
        return historyList;
    }

    public void setHistoryList(List<History> historyList) {
        this.historyList = historyList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof User)) {
            return false;
        }
        User other = (User) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "qwe.User[ id=" + id + " ]";
    }

}

历史(另一个豆)

@Entity
@Table(name = "history")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "History.findAll", query = "SELECT h FROM History h"),
    @NamedQuery(name = "History.findById", query = "SELECT h FROM History h WHERE h.id = :id"),
    @NamedQuery(name = "History.findByDataactiune", query = "SELECT h FROM History h WHERE h.dataactiune = :dataactiune"),
    @NamedQuery(name = "History.findByIdResursa", query = "SELECT h FROM History h WHERE h.idResursa = :idResursa"),
    @NamedQuery(name = "History.findByNumeactiune", query = "SELECT h FROM History h WHERE h.numeactiune = :numeactiune"),
    @NamedQuery(name = "History.findByStatus", query = "SELECT h FROM History h WHERE h.status = :status")})
public class History implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "ID")
    private Integer id;
    @Column(name = "DATAACTIUNE")
    @Temporal(TemporalType.DATE)
    private Date dataactiune;
    @Column(name = "id_resursa")
    private Integer idResursa;
    @Size(max = 255)
    @Column(name = "NUMEACTIUNE")
    private String numeactiune;
    @Size(max = 255)
    @Column(name = "STATUS")
    private String status;
    @JoinColumn(name = "ID_User", referencedColumnName = "ID")
    @ManyToOne
    private User iDUser;

    public History() {
    }

    public History(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Date getDataactiune() {
        return dataactiune;
    }

    public void setDataactiune(Date dataactiune) {
        this.dataactiune = dataactiune;
    }

    public Integer getIdResursa() {
        return idResursa;
    }

    public void setIdResursa(Integer idResursa) {
        this.idResursa = idResursa;
    }

    public String getNumeactiune() {
        return numeactiune;
    }

    public void setNumeactiune(String numeactiune) {
        this.numeactiune = numeactiune;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public User getIDUser() {
        return iDUser;
    }

    public void setIDUser(User iDUser) {
        this.iDUser = iDUser;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof History)) {
            return false;
        }
        History other = (History) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "qwe.History[ id=" + id + " ]";
    }

}

AbstractFacade

public abstract class AbstractFacade<T> {

    private Class<T> entityClass;

    public AbstractFacade(Class<T> entityClass) {
        this.entityClass = entityClass;
    }

    protected abstract EntityManager getEntityManager();

    public void create(T entity) {
        getEntityManager().persist(entity);
    }

    public void edit(T entity) {
        getEntityManager().merge(entity);
    }

    public void remove(T entity) {
        getEntityManager().remove(getEntityManager().merge(entity));
    }

    public T find(Object id) {
        return getEntityManager().find(entityClass, id);
    }

    public List<T> findAll() {
        javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
        cq.select(cq.from(entityClass));
        return getEntityManager().createQuery(cq).getResultList();
    }

    public List<T> findRange(int[] range) {
        javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
        cq.select(cq.from(entityClass));
        javax.persistence.Query q = getEntityManager().createQuery(cq);
        q.setMaxResults(range[1] - range[0] + 1);
        q.setFirstResult(range[0]);
        return q.getResultList();
    }

    public int count() {
        javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
        javax.persistence.criteria.Root<T> rt = cq.from(entityClass);
        cq.select(getEntityManager().getCriteriaBuilder().count(rt));
        javax.persistence.Query q = getEntityManager().createQuery(cq);
        return ((Long) q.getSingleResult()).intValue();
    }

}

应用程序配置

@javax.ws.rs.ApplicationPath("webresources")
public class ApplicationConfig extends Application {

    @Override
    public Set<Class<?>> getClasses() {
        Set<Class<?>> resources = new java.util.HashSet<>();
        addRestResourceClasses(resources);
        return resources;
    }

    /**
     * Do not modify addRestResourceClasses() method.
     * It is automatically populated with
     * all resources defined in the project.
     * If required, comment out calling this method in getClasses().
     */
    private void addRestResourceClasses(Set<Class<?>> resources) {
        resources.add(servicedfg.AutoriFacadeREST.class);
        resources.add(servicedfg.CarteAutoriFacadeREST.class);
        resources.add(servicedfg.CarteFacadeREST.class);
        resources.add(servicedfg.DrepturiFacadeREST.class);
        resources.add(servicedfg.EditorFacadeREST.class);
        resources.add(servicedfg.HistoryFacadeREST.class);
        resources.add(servicedfg.RoluriDrepturiFacadeREST.class);
        resources.add(servicedfg.RoluriFacadeREST.class);
        resources.add(servicedfg.UserFacadeREST.class);
        resources.add(servicedfg.UserRoluriFacadeREST.class);
    }

}

AutoriFacadeREST

@Stateless
@Path("qwe.autori")
public class AutoriFacadeREST extends AbstractFacade<Autori> {

    @PersistenceContext(unitName = "WebApplication8PU")
    private EntityManager em;

    public AutoriFacadeREST() {
        super(Autori.class);
    }

    @POST
    @Override
    @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public void create(Autori entity) {
        super.create(entity);
    }

    @PUT
    @Path("{id}")
    @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public void edit(@PathParam("id") Integer id, Autori entity) {
        super.edit(entity);
    }

    @DELETE
    @Path("{id}")
    public void remove(@PathParam("id") Integer id) {
        super.remove(super.find(id));
    }

    @GET
    @Path("{id}")
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public Autori find(@PathParam("id") Integer id) {
        return super.find(id);
    }


    @GET
    @Override
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public List<Autori> findAll() {
        return super.findAll();
    }

    @GET
    @Path("{from}/{to}")
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
    public List<Autori> findRange(@PathParam("from") Integer from, @PathParam("to") Integer to) {
        return super.findRange(new int[]{from, to});
    }

    @GET
    @Path("count")
    @Produces(MediaType.TEXT_PLAIN)
    public String countREST() {
        return String.valueOf(super.count());
    }

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

}

输出: Output of the running Restfull service

客户端

public class MainActivity extends AppCompatActivity {


    private static final String TAG=MainActivity.class.getSimpleName();

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


        RequestQueue requestQueue= Volley.newRequestQueue(getApplicationContext());


        Gson gson=new Gson();
        Autori autori=new Autori();
        autori.setNume("Anonim1");
        autori.setPrenume("Anonim1");
        //The ID in the DataBase is AutoIncrementing for my Autori table


        User user=new User();
        user.setParola("anonim1");
        user.setPrenume("anonim1");
        user.setNume("anonim1");
        user.setEmail("anonim1");
        autori.setIdUser(user);
        //The ID in the DataBase is AutoIncrementing for my User table

        JsonObjectRequest jsonObjectRequest= null;
        try {
            jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, "http://192.168.5.150:8080/WebApplication8/webresources/qwe.autori", new JSONObject(gson.toJson(autori, Autori.class)),
                    new Response.Listener<JSONObject>() {
                        @Override
                        public void onResponse(JSONObject jsonObject) {
                            if(null!=jsonObject)
                            {
                                Log.i(TAG, "Received form server a JSON that is not null");
                            }
                            else
                            {
                                Log.i(TAG,"Received form server a JSON that is NULL");
                            }
                        }
                    }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError volleyError) {
                    Log.e(TAG,"Error: "+volleyError.getMessage());
                }
            });
        } catch (JSONException e) {
            e.printStackTrace();
        }

        Log.d(TAG, "Entire String: " + jsonObjectRequest.toString());
        requestQueue.add(jsonObjectRequest);
    }
}

错误:

服务器端

Warning:   StandardWrapperValve[servicedfg.ApplicationConfig]: Servlet.service() for servlet servicedfg.ApplicationConfig threw exception
java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.persistence.jaxb.BeanValidationHelper
    at org.eclipse.persistence.jaxb.JAXBBeanValidator.isConstrainedObject(JAXBBeanValidator.java:257)
    at org.eclipse.persistence.jaxb.JAXBBeanValidator.shouldValidate(JAXBBeanValidator.java:208)
    at org.eclipse.persistence.jaxb.JAXBUnmarshaller.validateAndBuildJAXBElement(JAXBUnmarshaller.java:235)
    at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:339)
    at org.eclipse.persistence.jaxb.rs.MOXyJsonProvider.readFrom(MOXyJsonProvider.java:660)
    at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:256)
    at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:235)
    at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:155)
    at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundReadFrom(MappableExceptionWrapperInterceptor.java:74)
    at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:155)
    at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1085)
    at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:852)
    at org.glassfish.jersey.server.ContainerRequest.readEntity(ContainerRequest.java:270)
    at org.glassfish.jersey.server.internal.inject.EntityParamValueFactoryProvider$EntityValueFactory.provide(EntityParamValueFactoryProvider.java:96)
    at org.glassfish.jersey.server.spi.internal.ParamValueFactoryWithSource.provide(ParamValueFactoryWithSource.java:71)
    at org.glassfish.jersey.server.spi.internal.ParameterValueHelper.getParameterValues(ParameterValueHelper.java:93)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$AbstractMethodParamInvoker.getParamValues(JavaResourceMethodDispatcherProvider.java:127)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$VoidOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:143)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
    at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:309)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:292)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1139)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:460)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:386)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:334)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
    at java.lang.Thread.run(Thread.java:745)

客户端

04-11 12:14:04.102 12065-12065/? I/art: Late-enabling -Xcheck:jni
04-11 12:14:04.102 12065-12065/? I/art: VMHOOK: rlim_cur : 0 pid:12065
04-11 12:14:04.182 12065-12065/project.vasile.emanuel.gresanu.pos_tema_try1 W/System: ClassLoader referenced unknown path: /data/app/project.vasile.emanuel.gresanu.pos_tema_try1-2/lib/arm64
04-11 12:14:04.343 12065-12065/project.vasile.emanuel.gresanu.pos_tema_try1 I/MainActivity: Entire String: [ ] http://192.168.5.150:8080/WebApplication8/webresources/qwe.autori 0x85f46c74 NORMAL null
04-11 12:14:04.433 12065-12106/project.vasile.emanuel.gresanu.pos_tema_try1 I/Adreno: QUALCOMM build                   : 03b6da7, I49f5588d88
                                                                                      Build Date                       : 11/26/15
                                                                                      OpenGL ES Shader Compiler Version: XE031.06.00.02
                                                                                      Local Branch                     : 
                                                                                      Remote Branch                    : refs/tags/AU_LINUX_ANDROID_LA.BF64.1.2.2_RB4.06.00.00.180.010
                                                                                      Remote Branch                    : NONE
                                                                                      Reconstruct Branch               : NOTHING
04-11 12:14:04.759 12065-12096/project.vasile.emanuel.gresanu.pos_tema_try1 E/Volley: [89822] BasicNetwork.performRequest: Unexpected response code 500 for http://192.168.5.150:8080/WebApplication8/webresources/qwe.autori
04-11 12:14:04.773 12065-12065/project.vasile.emanuel.gresanu.pos_tema_try1 E/MainActivity: Error: null
04-11 12:14:09.749 12065-12071/project.vasile.emanuel.gresanu.pos_tema_try1 I/art: System.exit called, status: 1

0 个答案:

没有答案