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