Java 应为结束对象,但为开始对象

Java 应为结束对象,但为开始对象,java,android,android-activity,Java,Android,Android Activity,我正在尝试在我的android apk中运行一个登录,起初看起来不错,但当我尝试登录或提交时,会显示一条消息 “预期为结束对象,但为开始对象” 我的代码: private void AuthenticateOperator(View v) { try { Log.d(TAG, "AuthenticateStudent"); progressDialog = new ProgressDial

我正在尝试在我的android apk中运行一个登录,起初看起来不错,但当我尝试登录或提交时,会显示一条消息

“预期为结束对象,但为开始对象”

我的代码:

private void AuthenticateOperator(View v) {

        try {
            Log.d(TAG,
                    "AuthenticateStudent");

            progressDialog = new ProgressDialog(MainActivity.this);
            progressDialog.setMessage("Verificando, favor espere...");
            progressDialog.setCancelable(true);
            progressDialog.show();

            Boolean hasInternet = Utils.CheckInternet(
                    getApplicationContext());

            if (hasInternet) {

                if (mUsername.getText().toString().isEmpty() ||
                        mPassword.getText().toString().isEmpty()) {

                    Utils.showToast(getApplicationContext(), "Error: empty fields");

                    return;
                }

               new ThreadedDownload().execute(Uri.parse("s"));

            } else {
                Utils.showToast(getApplicationContext(), "No hay internet");
            }

        }catch (Exception ex) {
           // Log.d(TAG ,ex.getMessage());
            //Utils.showToast(getApplicationContext(), ex.getMessage());
        }

    }
我不知道发生了什么事

线程下载类:

class ThreadedDownload extends AsyncTask<Uri, Void, Void> {

        final Map<String,Object> params = new LinkedHashMap<>();

        @Override
        protected void onPreExecute() {

            params.put("username", mUsername.getText().toString());
            params.put("password", mPassword.getText().toString());
        }

        @Override
        protected Void doInBackground(Uri... params2) {


            if (Looper.myLooper() == null)
                Looper.prepare();

            try {
                Uri uri = new Uri.Builder()
                        .scheme(RestfulAPIService.HTTP_SCHEME)
                        .authority(RestfulAPIService.SERVER_IP)
                        .path(
                                RestfulAPIService.BASE_URL +
                                        RestfulAPIService.AUTHENTICATION_SERVICE
                        )
                        .build();

                ResponseJSONParser rp = new ResponseJSONParser();

                rp.parseJsonAuthResponse(
                        Utils.getRestApiData(uri, params));


                if(Account.getInstance().getmData()
                        .equals(RestfulAPIService.RESPONSE_FOUND) ) {

                    RestfulAPIService.username = mUsername.toString();

                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            try {


                                if (mRememberMe.isChecked()) {
                                    loginPrefsEditor.putBoolean("saveLogin", true);
                                    loginPrefsEditor.putString("useraccount", mUsername.getText().toString());                                    
                                    loginPrefsEditor.putString("password", mPassword.getText().toString());
                                    loginPrefsEditor.commit();

                                    Intent myIntent = new Intent(getBaseContext(), Estudio.class);
                                    startActivity(myIntent);  
                                }
                                else
                                {
                                    Intent myIntent = new Intent(getBaseContext(), Estudio.class);
                                    startActivity(myIntent);  
                                }



                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        }
                    });


                }
                else
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            try {
                                Utils.showToast(getApplicationContext(), "credenciales invalidos");
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        }
                    });

            }
            catch (final Exception hostEx){

                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {

                        Utils.showToast(getApplicationContext(), hostEx.getMessage());
                    }
                });
                hostEx.printStackTrace();
            }
            return null;


         //   return auth;
        }

        @Override
        protected void onPostExecute(Void ignore) {            

            if (progressDialog.isShowing()) {
                progressDialog.dismiss();
            }
        }   
}
class ThreadedDownload扩展异步任务{
最终映射参数=新LinkedHashMap();
@凌驾
受保护的void onPreExecute(){
params.put(“用户名”,mUsername.getText().toString());
参数put(“password”,mPassword.getText().toString());
}
@凌驾
受保护的Void doInBackground(Uri…params2){
if(Looper.myLooper()==null)
Looper.prepare();
试一试{
Uri=新的Uri.Builder()
.scheme(RestfulAPIService.HTTP_方案)
.authority(RestfulAPIService.SERVER_IP)
.路径(
RestfulAPIService.BASE\u URL+
RestfulAPIService.AUTHENTICATION\u服务
)
.build();
ResponseJSONParser rp=新ResponseJSONParser();
rp.parseJsonAuthResponse(
getRestApiData(uri,params));
if(Account.getInstance().getmData())
.equals(RestfulAPIService.RESPONSE_FOUND)){
RestfulAPIService.username=mUsername.toString();
runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
试一试{
if(mRememberMe.isChecked()){
loginPrefsEditor.putBoolean(“saveLogin”,true);
loginPrefsEditor.putString(“useraccount”,mUsername.getText().toString());
loginPrefsEditor.putString(“密码”,mPassword.getText().toString());
loginPrefsEditor.commit();
Intent myIntent=newintent(getBaseContext(),Estudio.class);
星触觉(myIntent);
}
其他的
{
Intent myIntent=newintent(getBaseContext(),Estudio.class);
星触觉(myIntent);
}
}捕获(例外e){
e、 printStackTrace();
}
}
});
}
其他的
runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
试一试{
Utils.showtoos(getApplicationContext(),“credenciales invalidos”);
}捕获(例外e){
e、 printStackTrace();
}
}
});
}
捕获(最终异常){
runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
Utils.showtoos(getApplicationContext(),hostEx.getMessage());
}
});
printStackTrace();
}
返回null;
//返回auth;
}
@凌驾
受保护的void onPostExecute(void ignore){
if(progressDialog.isShowing()){
progressDialog.disclose();
}
}   
}
JSON:

公共类ResponseJSONParser{
/**
*用于日志记录目的。
*/
@抑制警告(“未使用”)
私有最终字符串标记=
this.getClass().getCanonicalName();
/**
*初始化所有感兴趣字段的构造函数。
*/
公共响应JSONParser(){
}
/**
*
*@param阅读器
*@返回
*@抛出异常
*/
//认证
public void parseJsonAuthResponse(JsonReader)
抛出IOException{
reader.beginObject();
//身份验证auth=null;
试一试{
while(reader.peek()!=JsonToken.END_对象){
字符串名称=reader.nextName();
交换机(名称){
case Account.status_JSON:
Log.d(“标记”,“状态:+reader.nextString());
打破
case Account.status_message_JSON:
Log.d(“TAG”,“status_message:+reader.nextString());
打破
case Account.posts_JSON:
if(reader.peek()==JsonToken.BEGIN\u数组){
身份验证(读卡器);
}
打破
违约:
reader.skipValue();
打破
}
}
}
捕获(例外情况除外){
Log.d(“我”,例如getMessage());
}
最后{
reader.endObject();
//返回auth;
}
}
//用于插入产品
@抑制警告(“最终”)
公共ArrayList parseJsonInsertProductResponse(JsonReader阅读器)
抛出IOException{
reader.beginObject();
ArrayList=新建ArrayList();
//身份验证auth=null;
试一试{
while(reader.peek()!=JsonToken.END_对象){
字符串名称=reader.nextName();
交换机(名称){
case Account.status_JSON:
Log.d(“标记”,“状态:+reader.nextString());
打破
case Account.status_message_JSON:
Log.d(“TAG”,“status_message:+reader.nextString());
打破
中科院
public class ResponseJSONParser {

/**
 * Used for logging purposes.
 */
@SuppressWarnings("unused")
private final String TAG =
        this.getClass().getCanonicalName();

/**
 * Constructor that initializes all the fields of interest.
 */
public ResponseJSONParser(){

}


/**
 *
 * @param reader
 * @return
 * @throws IOException
 */

// For Authentification
public void parseJsonAuthResponse(JsonReader reader)
        throws IOException {

    reader.beginObject();
    // Authentication auth = null;

    try {
        while (reader.peek() != JsonToken.END_OBJECT) {
            String name = reader.nextName();

            switch (name) {
            case Account.status_JSON:
                Log.d("TAG", "status:" + reader.nextString());
                break;

            case Account.status_message_JSON:
                Log.d("TAG", "status_message:" +  reader.nextString());
                break;

            case Account.posts_JSON:
                if (reader.peek() == JsonToken.BEGIN_ARRAY) {
                    parseAuthentication(reader);
                }
                break;

            default:
                reader.skipValue();
                break;
            }
        }
    }
    catch (Exception ex) {
        Log.d("me", ex.getMessage());
    }
    finally {
        reader.endObject();
        //  return  auth;
    }

}


// For InsertProduct

@SuppressWarnings("finally")
public  ArrayList<InsertProducts> parseJsonInsertProductResponse(JsonReader     reader)
        throws IOException {

    reader.beginObject();

    ArrayList<InsertProducts> list = new ArrayList<InsertProducts>();
    // Authentication auth = null;

    try {
        while (reader.peek() != JsonToken.END_OBJECT) {
            String name = reader.nextName();

            switch (name) {
            case Account.status_JSON:
                Log.d("TAG", "status:" + reader.nextString());
                break;

            case Account.status_message_JSON:
                Log.d("TAG", "status_message:" +  reader.nextString());
                break;

            case Account.posts_JSON:
                if (reader.peek() == JsonToken.BEGIN_ARRAY) {
                    list = (ArrayList<InsertProducts>)    parseInsertlist(reader);
                }
                break;

            default:
                reader.skipValue();
                break;
            }
        }
    }
    catch (Exception ex) {
        Log.d("me", ex.getMessage());
    }
    finally {
        reader.endObject();
        return  list;
    }

}



 /**
 *
 * @param reader
 * @return
 * @throws IOException
 */
 @SuppressWarnings({ "unused", "finally" })
 private ArrayList<InsertProducts> parseInsertlist(JsonReader reader)
        throws IOException {



    reader.beginArray();
    ArrayList<InsertProducts> list = new ArrayList();

    try {

        while (reader.peek() != JsonToken.END_ARRAY) {
            reader.beginObject();

            while(reader.hasNext()) {
                String name = reader.nextName();

                switch (name){

                case "data":
                    Account.getInstance().setmData(reader.nextString());
                    break;

                case "values":
                    reader.beginArray();

                    while(reader.peek() != JsonToken.END_ARRAY) {

                        InsertProducts tInsert = new InsertProducts();
                        reader.beginObject();

                        while(reader.hasNext()) {

                            String name2 = reader.nextName();

                            switch (name2) {

                            case InsertProducts.idProducto_JSON:
                                tInsert.setMidProducto(reader.nextString());
                                break;

                            case InsertProducts.idListaProducto_Json:
                                tInsert.setMidListaProducto(reader.nextString());
                                break;    

                            case InsertProducts.precio_Json:
                                tInsert.setMprecio(reader.nextString());
                                break;    

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

                            case InsertProducts.idUsuario_JSON:
                                tInsert.setMidUsuario(reader.nextString());
                                break;

                            case InsertProducts.latitud_Json:
                                tInsert.setMlatitud(reader.nextString());
                                break;    

                            case InsertProducts.longitud_Json:
                                tInsert.setMlongitud(reader.nextString());
                                break; 

                            case InsertProducts.isOferta_Json:
                                tInsert.setMisOferta(reader.nextString());
                                break;    

                            case InsertProducts.fechaHasta_Json:
                                tInsert.setMfechaHasta(reader.nextString());
                                break; 

                            default:
                                reader.skipValue();
                                break;
                            }
                        }
                        reader.endObject();
                        list.add(tInsert);
                    }
                    reader.endArray();
                    break;

                default:
                    reader.skipValue();
                    break;
                }
            }
            reader.endObject();
        }
        reader.endArray();

    } finally {
        return list;
    }
}




// For List of Studies

@SuppressWarnings("finally")
public  ArrayList<Study> parseJsonStudyListResponse(JsonReader reader)
        throws IOException {

    reader.beginObject();

    ArrayList<Study> list = new ArrayList<Study>();
    // Authentication auth = null;

    try {
        while (reader.peek() != JsonToken.END_OBJECT) {
            String name = reader.nextName();

            switch (name) {
            case Account.status_JSON:
                Log.d("TAG", "status:" + reader.nextString());
                break;

            case Account.status_message_JSON:
                Log.d("TAG", "status_message:" +  reader.nextString());
                break;

            case Account.posts_JSON:
                if (reader.peek() == JsonToken.BEGIN_ARRAY) {
                    list = (ArrayList<Study>) parsestudylist(reader);
                }
                break;

            default:
                reader.skipValue();
                break;
            }
        }
    }
    catch (Exception ex) {
        Log.d("me", ex.getMessage());
    }
    finally {
        reader.endObject();
        return  list;
    }

}

// For List of Product

@SuppressWarnings("finally")
public  ArrayList<ListOfProduct> parseJsonProductListResponse(JsonReader reader)
        throws IOException {

    reader.beginObject();

    ArrayList<ListOfProduct> list = new ArrayList();
    // Authentication auth = null;

    try {
        while (reader.peek() != JsonToken.END_OBJECT) {
            String name = reader.nextName();

            switch (name) {
            case Account.status_JSON:
                Log.d("TAG", "status:" + reader.nextString());
                break;

            case Account.status_message_JSON:
                Log.d("TAG", "status_message:" +  reader.nextString());
                break;

            case Account.posts_JSON:
                if (reader.peek() == JsonToken.BEGIN_ARRAY) {
                    list = (ArrayList<ListOfProduct>) parseproductlist(reader);
                }
                break;

            default:
                reader.skipValue();
                break;
            }
        }
    }
    catch (Exception ex) {
        Log.d("me", ex.getMessage());
    }
    finally {
        reader.endObject();
        return  list;
    }

}



@SuppressWarnings("finally")
public  ArrayList<Products> parseJsonProductsResponse(JsonReader reader)
        throws IOException {

    reader.beginObject();

    ArrayList<Products> list = new ArrayList();
    // Authentication auth = null;

    try {
        while (reader.peek() != JsonToken.END_OBJECT) {
            String name = reader.nextName();

            switch (name) {
            case Account.status_JSON:
                Log.d("TAG", "status:" + reader.nextString());
                break;

            case Account.status_message_JSON:
                Log.d("TAG", "status_message:" +  reader.nextString());
                break;

            case Account.posts_JSON:
                if (reader.peek() == JsonToken.BEGIN_ARRAY) {
                    list = (ArrayList<Products>) parseproduct(reader);
                }
                break;

            default:
                reader.skipValue();
                break;
            }
        }
    }
    catch (Exception ex) {
        Log.d("me", ex.getMessage());
    }
    finally {
        reader.endObject();
        return  list;
    }

}




/**
 *
 * @param reader
 * @return
 * @throws IOException
 */
// For Authentification
private void parseAuthentication(JsonReader reader)
        throws IOException {

    //  Authentication authRecord = new  Authentication();

    reader.beginArray();

    try {

        while (reader.peek() != JsonToken.END_ARRAY) {
            reader.beginObject();

            while(reader.hasNext()) {
                String name = reader.nextName();

                switch (name){

                case "data":
                    Account.getInstance().setmData(reader.nextString());
                    break;

                case "values":
                    reader.beginObject();

                    while(reader.hasNext()) {

                        String name2 = reader.nextName();

                        switch (name2) {

                        case Account.auth_JSON:
                              Account.getInstance().setmAuth(reader.nextString());
                            break;

                        case Account.email_JSON:
                            Account.getInstance().setmAuth(reader.nextString());
                            break;

                        case Account.password_JSON:
                            Account.getInstance().setmAuth(reader.nextString());
                            break;

                        case Account.telefono_JSON:
                            Account.getInstance().setmTelefono(reader.nextString());
                            break;


                        case Account.nombre_JSON:
                            Account.getInstance().setmNombre(reader.nextString());
                            break;

                        case Account.apellido_JSON:
                            Account.getInstance().setmApellido(reader.nextString());
                            break;

                    /*  case Account.imagen_JSON:
                            Account.getInstance().setmImagen(Utils.downloadImage(reader.nextString()));
                            break;
*/
                        case Account.tEstudio_JSON:
                            Account.getInstance().setmTotalEstudio(reader.nextString());
                            break;

                        default:
                            reader.skipValue();
                            break;
                        }
                    }
                    break;

                default:
                    reader.skipValue();
                    break;
                }
            }
            reader.endObject();
        }
        reader.endArray();

    } finally {
        // return authRecord;
    }
}


/**
 *
 * @param reader
 * @return
 * @throws IOException
 */
// For Products
@SuppressWarnings({ "unused", "finally" })
private ArrayList<Products> parseproduct(JsonReader reader)
        throws IOException {

    //  Authentication authRecord = new  Authentication();

    reader.beginArray();
    ArrayList<Products> list = new ArrayList();

    try {

        while (reader.peek() != JsonToken.END_ARRAY) {
            reader.beginObject();

            while(reader.hasNext()) {
                String name = reader.nextName();

                switch (name){

                case "data":
                    Account.getInstance().setmData(reader.nextString());
                    break;

                case "values":
                    reader.beginArray();

                    while(reader.peek() != JsonToken.END_ARRAY) {

                        Products tProduct = new Products();
                        reader.beginObject();

                        while(reader.hasNext()) {

                            String name2 = reader.nextName();

                            switch (name2) {

                            case Products.idProducto_JSON:
                                tProduct.setMidProducto(reader.nextString());
                                break;

                            case Products.producto_Json:
                                tProduct.setMproducto(reader.nextString());
                                break;  

                            case Products.categoria_Json:
                                tProduct.setMcategoria(reader.nextString());
                                break;

                            case Products.tipo_JSON:
                                tProduct.setMtipo(reader.nextString());
                                break;   


                            case Products.unidad_Json:
                                tProduct.setMunidad(reader.nextString());
                                break;   



                            default:
                                reader.skipValue();
                                break;
                            }
                        }
                        reader.endObject();
                        list.add(tProduct);
                    }
                    reader.endArray();
                    break;

                default:
                    reader.skipValue();
                    break;
                }
            }
            reader.endObject();
        }
        reader.endArray();

    } finally {
        return list;
    }
}






/**
 *
 * @param reader
 * @return
 * @throws IOException
 */
// For List of Product
@SuppressWarnings({ "unused", "finally" })
private ArrayList<ListOfProduct> parseproductlist(JsonReader reader)
        throws IOException {

    //  Authentication authRecord = new  Authentication();

    reader.beginArray();
    ArrayList<ListOfProduct> list = new ArrayList();

    try {

        while (reader.peek() != JsonToken.END_ARRAY) {
            reader.beginObject();

            while(reader.hasNext()) {
                String name = reader.nextName();

                switch (name){

                case "data":
                    Account.getInstance().setmData(reader.nextString());
                    break;

                case "values":
                    reader.beginArray();

                    while(reader.peek() != JsonToken.END_ARRAY) {

                        ListOfProduct tlistProduct = new ListOfProduct();
                        reader.beginObject();

                        while(reader.hasNext()) {

                            String name2 = reader.nextName();

                            switch (name2) {

                            case ListOfProduct.idListaProducto_JSON:
                                tlistProduct.setMidListProducto(reader.nextString());
                                break;

                            case ListOfProduct.ListaProducto_Json:
                                tlistProduct.setMnombreListaProducto(reader.nextString());
                                break;    



                            default:
                                reader.skipValue();
                                break;
                            }
                        }
                        reader.endObject();
                        list.add(tlistProduct);
                    }
                    reader.endArray();
                    break;

                default:
                    reader.skipValue();
                    break;
                }
            }
            reader.endObject();
        }
        reader.endArray();

    } finally {
        return list;
    }
}





/**
 *
 * @param reader
 * @return
 * @throws IOException
 */
@SuppressWarnings({ "unused", "finally" })
private ArrayList<Study> parsestudylist(JsonReader reader)
        throws IOException {

    //  Authentication authRecord = new  Authentication();

    reader.beginArray();
    ArrayList<Study> list = new ArrayList();

    try {

        while (reader.peek() != JsonToken.END_ARRAY) {
            reader.beginObject();

            while(reader.hasNext()) {
                String name = reader.nextName();

                switch (name){

                case "data":
                    Account.getInstance().setmData(reader.nextString());
                    break;

                case "values":
                    reader.beginArray();

                    while(reader.peek() != JsonToken.END_ARRAY) {

                        Study tStudy = new Study();
                        reader.beginObject();

                        while(reader.hasNext()) {

                            String name2 = reader.nextName();

                            switch (name2) {

                            case Study.studylist_JSON:
                                tStudy.setMstudylist(reader.nextString());
                                break;

                            case Study.Sucursal_Json:
                                tStudy.setMnombreSucursal(reader.nextString());
                                break;    

                            case Study.idEstudioSucursal_Json:
                                tStudy.setMidEstudioSucursal(reader.nextString());
                                break;    

                            default:
                                reader.skipValue();
                                break;
                            }
                        }
                        reader.endObject();
                        list.add(tStudy);
                    }
                    reader.endArray();
                    break;

                default:
                    reader.skipValue();
                    break;
                }
            }
            reader.endObject();
        }
        reader.endArray();

    } finally {
        return list;
    }
}

}