Java Android应用程序每次访问其中的Url都会崩溃

Java Android应用程序每次访问其中的Url都会崩溃,java,android,eclipse,servlets,Java,Android,Eclipse,Servlets,以下是应用程序崩溃的主要活动 我必须在微调器中选择状态,结果是城市列表,但它不显示城市列表。如果我更改状态,则仍然不会发生任何事情。 我正在开发android api 15。 如果我使用api 8或10,那么它就可以正常工作 String url="RegisterShop"; try { BufferedReader br=Mycon.getReader(url); String str=br.readLine(); id1=Integer.pa

以下是应用程序崩溃的主要活动 我必须在微调器中选择状态,结果是城市列表,但它不显示城市列表。如果我更改状态,则仍然不会发生任何事情。 我正在开发android api 15。 如果我使用api 8或10,那么它就可以正常工作

    String url="RegisterShop";
    try
    {
    BufferedReader br=Mycon.getReader(url);
    String str=br.readLine();
    id1=Integer.parseInt(str);

    nm.requestFocus();
    Log.e("",""+id1);
    }catch (Exception e) {
        // TODO: handle exception
    }

     new Thread(new Runnable() {
            public void run() {





    try
    {
    BufferedReader br=Mycon.getReader("GetState");
    String str1=br.readLine();
    String st[]=new String[]{"Select State"};
    Log.e("",""+st);
    while(true)
    {
     if(str1==null)break;   

     st=str1.split(",");    
     Log.e("",""+str1);
     str1=br.readLine();

    }
    ArrayAdapter<String>adapter=new ArrayAdapter<String>(Activity_Advertiser_Register.this,android.R.layout.simple_spinner_item,st);
     state.setAdapter(adapter);
    }catch (Exception e) {
        // TODO: handle exception
    }

    state.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
             s1=(String) state.getSelectedItem();
             //Toast.makeText(RegisterActivity.this,""+s1,Toast.LENGTH_LONG).show();



                try
                {
                BufferedReader br=Mycon.getReader("GetCity?state1="+s1);
                String str1=br.readLine();
                String ct[]=null;
                while(true)
                {
                 if(str1==null)break;   
                 ct=str1.split(",");    
                 Log.e("",""+str1);
                 str1=br.readLine();

                }
                if(ct.equals(null))
                {

                }
                adapter=new ArrayAdapter<String>(Activity_Advertiser_Register.this,android.R.layout.simple_spinner_item,ct);
                 city.setAdapter(adapter);
                }catch (Exception e) {
                    // TODO: handle exception
                }





        }


        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub
        }
    });

            }}).start();
  SellerSignUp.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
         new Thread(new Runnable() {
             public void run() {
        if(nm.getText().toString().length()==0){
            nm.setError("Please Enter Name");
        }
        if(pass.getText().toString().length()==0){
            pass.setError("Please Enter Password");
        }
        if(address.getText().toString().length()==0){
            address.setError("Please Enter Address");
        }
        if(contact.getText().toString().length()==0){
            contact.setError("Please Enter Contact");
        }
        if(email.getText().toString().length()==0){
            email.setError("Please Enter Email");
        }
        if(legalName.getText().toString().length()==0){
            legalName.setError("Please Enter Person Name");

        }
        if(tin.getText().toString().length()==0){
            tin.setError("Please Enter Tin Number");

        }


         String nm1=nm.getText().toString();
         String pass1=pass.getText().toString();
         String address1=address.getText().toString();
         String contact1=contact.getText().toString();
         String tin1=contact.getText().toString();
         String email1=email.getText().toString();
         String city1=(String) city.getSelectedItem();
         String cp=legalName.getText().toString();
         Random r=new Random();
         String otp=new String();

         for(int i=0 ; i<6 ; i++) {
                otp += r.nextInt(10);
            }
         if(contact1.length()!=10)
            {
                contact.setError("Plese Enter 10 Digit");
            }
         if(tin.length()!=11)
            {
                contact.setError("Plese Enter Correct Tin Number");
            }
             if(checkEmail(email1)){

         //Toast.makeText(RegisterActivity.this,""+city1,Toast.LENGTH_SHORT).show();


        String url3="RegSave?id="+id1+"&nm="+nm1+"&pass="+pass1+"&address="+address1+"&contact="+contact1+"&email="+email1+"&city="+city1+"&contactperson="+cp+"&tin="+tin1+"&otp="+otp;
         try{
         BufferedReader br=Mycon.getReader(url3);
         String rec=br.readLine();
         if(rec!=null){
         Toast.makeText(Activity_Advertiser_Register.this,rec.toString(),Toast.LENGTH_SHORT).show();         
         in=new Intent(Activity_Advertiser_Register.this,Activity_Advertiser_Verification.class);
         in.putExtra("user",nm1);

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

             }
         else{
             email.setError("Invalid Email");
             }

             }}).start();
    }
});
String url=“RegisterShop”;
尝试
{
BufferedReader br=Mycon.getReader(url);
字符串str=br.readLine();
id1=Integer.parseInt(str);
nm.requestFocus();
Log.e(“,”+id1);
}捕获(例外e){
//TODO:处理异常
}
新线程(newrunnable()){
公开募捐{
尝试
{
BufferedReader br=Mycon.getReader(“GetState”);
字符串str1=br.readLine();
字符串st[]=新字符串[]{“选择状态”};
Log.e(“,”+st);
while(true)
{
如果(str1==null)中断;
st=str1.拆分(“,”);
Log.e(“,”+str1);
str1=br.readLine();
}
ArrayAdapteradapter=新的ArrayAdapter(Activity\u Advertiser\u Register.this,android.R.layout.simple\u spinner\u item,st);
state.setAdapter(适配器);
}捕获(例外e){
//TODO:处理异常
}
state.setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共视图(适配器视图arg0、视图arg1、内部arg2、,
长arg3){
s1=(字符串)状态。getSelectedItem();
//Toast.makeText(RegisterActivity.this,“+s1,Toast.LENGTH_LONG.show();
尝试
{
BufferedReader br=Mycon.getReader(“GetCity?state1=“+s1”);
字符串str1=br.readLine();
字符串ct[]=null;
while(true)
{
如果(str1==null)中断;
ct=str1.拆分(“,”);
Log.e(“,”+str1);
str1=br.readLine();
}
如果(ct等于(空))
{
}
adapter=new ArrayAdapter(活动\广告客户\注册。这个,android.R.layout.simple \微调器\项目,ct);
setAdapter(适配器);
}捕获(例外e){
//TODO:处理异常
}
}
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
});
}}).start();
SellerSignUp.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图arg0){
//TODO自动生成的方法存根
新线程(newrunnable()){
公开募捐{
if(nm.getText().toString().length()==0){
nm.setError(“请输入名称”);
}
if(pass.getText().toString().length()=0){
pass.setError(“请输入密码”);
}
if(address.getText().toString().length()=0){
address.setError(“请输入地址”);
}
if(contact.getText().toString().length()=0){
contact.setError(“请输入联系人”);
}
if(email.getText().toString().length()=0){
email.setError(“请输入email”);
}
if(legalName.getText().toString().length()==0){
legalName.setError(“请输入人名”);
}
if(tin.getText().toString().length()==0){
tin.setError(“请输入tin编号”);
}
字符串nm1=nm.getText().toString();
字符串pass1=pass.getText().toString();
字符串地址1=address.getText().toString();
字符串contact1=contact.getText().toString();
字符串tin1=contact.getText().toString();
字符串email1=email.getText().toString();
字符串city1=(字符串)city.getSelectedItem();
字符串cp=legalName.getText().toString();
随机r=新随机();
字符串otp=新字符串();

对于(int i=0;ist似乎是空的,将从url“GetState”中选择st状态中的AnaNo,您可以检查logcat…是的,从logcat中,它说
ArrayIndexOutofBond
,这通常是在空数据集上操作列表时遇到的。所以我应该怎么做。如果使用android api 10或更少,它运行良好。