简体   繁体   English

Android:性别单选按钮,男性回答1,女性回答2

[英]Android: Radio button for gender with response 1 for male and 2 for female

I have two radio buttons , for selecting the gender-either male or female. 我有两个单选按钮,用于选择性别(男性或女性)。 My requirement is , if I click male radio button, I have to send number 1 to the server and and if I click female radio button, I have to send number 2 to the server(at server side they check with this number. ie if they receive 1 then it is male and if they receive "2", it is female). 我的要求是,如果单击male单选按钮,则必须将数字1发送到服务器,如果单击female单选按钮,则必须将数字2发送到服务器(在服务器端,他们将使用此数字进行检查。即,是否他们收到1,则为男性;如果收到“ 2”,则为女性)。 The server side then give the response as 1 or 2 accordingly . The server side then give the response as 1 or 2 accordingly So here I have to check if I get 1 as response, I have to set Male as gender and if response is 2, I have to set Female as gender .How can I do this? 所以在这里,我必须检查是否获得1 as response, I have to set Male as gender ,如果响应为2, I have to set Female as gender我该怎么做?

           public class MainActivity extends Activity implements AsyncResponse,AsyncResponse2 {
EditText fullname,gender,city,mobileno;
TextView originalname,reviewNumber;
//for displaying in textfield before entering values(when loading)
private static final String TAG_NAME = "fullname";
private static final String TAG_GENDER = "gender";
private static final String TAG_CITY = "city_name";
private static final String TAG_PHNO = "phone_number";
private static final String TAG_REVIEWNUM = "revcount";
RadioButton male,female;
String numberToPass = "1" ;//default 1 for male
//str photo upload
ImageView imageView1, imageView2;
//RoundImage roundedImage, roundedImage1;
//private static int RESULT_LOAD_IMAGE = 1; //added
//end photo upload
    Button submit;
    //str round img upload
    CircularBitmap c= new CircularBitmap();
    Button pic;
    String selectedImagePath;
    ImageView image;
    //end round img upload

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

        //str photo upload
        pic = (Button)findViewById(R.id.button1);
        image = (ImageView)findViewById(R.id.imageView1);

      //this the button which allows you to access the gallery
        pic.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    gallery();
                }
            });
        //end photo upload



        fullname=(EditText)findViewById(R.id.nameid);
  //    gender=(EditText)findViewById(R.id.genderid);
        male=(RadioButton)findViewById(R.id.maleid);
        female=(RadioButton)findViewById(R.id.femaleid);
        city=(EditText)findViewById(R.id.cityid);
        mobileno=(EditText)findViewById(R.id.mobileid);
        originalname=(TextView)findViewById(R.id.originalnameid);//original name title
        reviewNumber=(TextView)findViewById(R.id.reviewNum);
        submit=(Button)findViewById(R.id.submitid);
        //to display fullname,gender,city,moblieno while loading(so outside buttonclick)
         String key1 = "saasvaap123";
         String signupid1 = "8";
         String url2 = "http://gooffers.in/omowebservices/index.php/webservice/Public_User/get_user_profile?";
         //put the below lines outside button onclick since we load the values into edittext when opening the app
         CustomHttpClient2 task2 = new CustomHttpClient2();
         task2.execute(url2,key1,signupid1);
         task2.delegate = MainActivity.this;
            //to send values on button click               
        submit.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {               



            String fullname1= fullname.getText().toString();
    //        String gender1= gender.getText().toString();
            String city1= city.getText().toString();
            String mobileno1= mobileno.getText().toString();
            String key1 = "saasvaap123";
            String signupid1 = "3";
       //     String cityid1 = "3";



            String originalname1= originalname.getText().toString();
         //   onRadioButtonClicked(numberToPasss);
            String url = "http://gooffers.in/omowebservices/index.php/webservice/Public_User/edit_user_profile?";
            CustomHttpClient task = new CustomHttpClient();
            task.execute(url,key1,signupid1,numberToPass,mobileno1,fullname1,city1);
            task.delegate = MainActivity.this;

           //mobile number validation
            if (!isValidMobNum(mobileno1)) {
                mobileno.setError("Enter valid mobile number!");
            }


           // key=saasvaap123&signup_id=3&gender=1&phone_number=1234567890&fullname=saas&city_id=3
            }
            });

            } //close oncreate

public void onRadioButtonClicked(View v) {
        switch (v.getId()) {
            case R.id.maleid:
                numberToPass = "1";
                break;
            case R.id.femaleid:
                numberToPass = "2";
                break;
        }
    }
    //str img upload
  //this allows you select one image from gallery
    public void gallery() {
       Intent intent = new Intent();
       intent.setType("image/*");
       intent.setAction(Intent.ACTION_GET_CONTENT);
       startActivityForResult(Intent.createChooser(intent, "Select Picture"), 1);
   }
    //when  starting activity for result and choose an image, the code will automatically continue here
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK) {
            if (requestCode == 1) {
                Uri current_ImageURI = data.getData();
            selectedImagePath = getPath(current_ImageURI);
                image.setImageBitmap(c.circle(decodeSampledBitmap(new File(selectedImagePath), 400, 400),Color.rgb(255,255,255)));
            } 
        }
    }
    public String getPath(Uri contentUri) {
        // we have to check for sdk version because from lollipop the retrieval of path is different 
                if (Build.VERSION.SDK_INT < 21) {
                    // can post image
                    String[] proj = {MediaStore.Images.Media.DATA};
                    Cursor cursor = getApplicationContext().getContentResolver().query(contentUri, proj, null, null, null);
                    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                    cursor.moveToFirst();

                    return cursor.getString(column_index);
                } else {
                    String filePath = "";
                    String wholeID = DocumentsContract.getDocumentId(contentUri);

                    // Split at colon, use second item in the array
                    String id = wholeID.split(":")[1];

                    String[] column = {MediaStore.Images.Media.DATA};

                    // where id is equal to
                    String sel = MediaStore.Images.Media._ID + "=?";

                    Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,column, sel, new String[]{id}, null);




                    int columnIndex = cursor.getColumnIndex(column[0]);

                    if (cursor.moveToFirst()) {
                        filePath = cursor.getString(columnIndex);
                    }
                    cursor.close();
                    return filePath;
                }
            }

    public Bitmap decodeSampledBitmap(File res, int reqWidth, int reqHeight) {
        if (res != null) {
            // First decode with inJustDecodeBounds=true to check dimensions
            final BitmapFactory.Options options = new BitmapFactory.Options();
            options.inJustDecodeBounds = true;
            try {
                FileInputStream stream2 = new FileInputStream(res);

                BitmapFactory.decodeStream(stream2, null, options);

                stream2.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            // Calculate inSampleSize
            BitmapFactory.Options o2 = new BitmapFactory.Options();
            o2.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
            o2.inJustDecodeBounds = false;
            FileInputStream stream = null;
            try {
                stream = new FileInputStream(res);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            Bitmap bitmap = BitmapFactory.decodeStream(stream, null, o2);
            try {
                stream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return bitmap;
        } else
            return null;
    }

    public int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) {
        // Raw height and width of image
        final int height = options.outHeight;
        final int width = options.outWidth;
        int inSampleSize = 1;

        if (height > reqHeight || width > reqWidth) {

            final int halfHeight = height / 2;
            final int halfWidth = width / 2;

            // Calculate the largest inSampleSize value that is a power of 2 and keeps both
            // height and width larger than the requested height and width.
            while ((halfHeight / inSampleSize) > reqHeight && (halfWidth / inSampleSize) > reqWidth) {
                inSampleSize *= 2;
            }
        }

        return inSampleSize;
    }
    //end img upload

    //validating mobile num

    private boolean isValidMobNum(String mobileno1) {
         String MobilePattern = "[0-9]{10,13}"; //can enter upto 13 digits-change here if we need to increase the range of digits

         if(mobileno.getText().toString().matches(MobilePattern))
            {
                Toast.makeText(getApplicationContext(), "phone number is valid", 

        Toast.LENGTH_SHORT).show();

                return true;
            }
            else if(!mobileno.getText().toString().matches(MobilePattern))
            {
                Toast.makeText(getApplicationContext(), "Please enter valid 10 digit phone number", Toast.LENGTH_SHORT).show();


                return false;
            }

            return false;

             }

    //str if empty validation
//  if(fullname1==null)
//  {
//    Toast.makeText(MainActivity.this,"Please enter your name!", Toast.LENGTH_SHORT).show();  
//  }
//  else if(gender1==null)
//  {
//    Toast.makeText(MainActivity.this,"Please enter your gender!", Toast.LENGTH_SHORT).show();
//  }
//  else if(city1==null)
//  {
//    Toast.makeText(MainActivity.this,"Please enter your city name!", Toast.LENGTH_SHORT).show();
//  }
//  else if(mobileno1==null)
//  {
//    Toast.makeText(MainActivity.this,"Please enter your contact number!", Toast.LENGTH_SHORT).show();
//  }
//    else
//    {
//      Toast.makeText(MainActivity.this,"ok!", Toast.LENGTH_SHORT).show();
//    }
//  //end if empty validation



    //edit
private class CustomHttpClient extends AsyncTask<String, String, String>{




                public AsyncResponse delegate=null;
                private String msg; 




         @Override
         protected void onPostExecute(String result) {
             // TODO Auto-generated method stub
             super.onPostExecute(result);

             delegate.processFinish(result);

         }

         @Override
         protected void onPreExecute() {
             // TODO Auto-generated method stub
             super.onPreExecute();
         }



                 @Override
                 protected String doInBackground(String... params) {
                     if(params == null) return null;

                     // get url from params
                     String url = params[0];
                     String key1 = params[1];
                     String signupid1 = params[2];

                     String gender1 = params[3];
                     String mobileno1 = params[4];
                     String fullname1 = params[5];
                     String city1 = params[6];
                     //key=saasvaap123&signup_id=3&gender=1&phone_number=1234567890&fullname=saas&city_id=3                  
                     ArrayList<NameValuePair> postParameters;


                     postParameters = new ArrayList<NameValuePair>();
                     postParameters.add(new BasicNameValuePair("fullname",fullname1));
                     postParameters.add(new BasicNameValuePair("gender",gender1));
                     postParameters.add(new BasicNameValuePair("city_name",city1));
                     postParameters.add(new BasicNameValuePair("phone_number",mobileno1));
                     postParameters.add(new BasicNameValuePair("key",key1));
                     postParameters.add(new BasicNameValuePair("signup_id",signupid1));

//                  //str



                     try {
                         // create http connection
                         HttpClient client = new DefaultHttpClient();
                         HttpPost httppost = new HttpPost(url);
                         httppost.setEntity(new UrlEncodedFormEntity(postParameters));

                         // connect
                         HttpResponse response = client.execute(httppost);

                         // get response
                         HttpEntity entity = response.getEntity();

                         if(entity != null){
                             return EntityUtils.toString(entity);
                         }
                         else{
                             return "No string.";
                         }
                      }
                      catch(Exception e){
                          return "Network problem";
                      }
                 }




             }


               public void processFinish (String output){

                   Toast.makeText(MainActivity.this,output, Toast.LENGTH_SHORT).show();




                   try{   

                          JSONObject json=new JSONObject(output);
                        //  Integer success = json.getInt(SUCCESS);
                          String msg = json.getString("message");
//                        String Status = json.getString("status");
//                        String userid = json.getString("userid");
//                        String usertype = json.getString("usertype");

//                        Integer userid=json.getInt("userid");
//                        String User_ID=String.valueOf(userid);

//                        SharedPreferences sharedpreferences = getSharedPreferences(AQUASAN, Context.MODE_PRIVATE);
//                        Editor editor = sharedpreferences.edit();
//                        editor.putString("ID", Employee_ID);
//                        editor.commit();

                      //needed    
//                        String fullname = nameid.setText("saas");
//                       String gender = genderid.setText("0");
//                       String city_id = cityid.setText("0");
//                       String phone_number = mobileid.setText("0");

                                  String a="Successfully Updated";

                          if(msg.compareTo(a)==0){

                           Toast.makeText(MainActivity.this,"Your profile has been successfully updated!", Toast.LENGTH_SHORT).show();
                        //   Toast.makeText(MainActivity.this,msg, Toast.LENGTH_SHORT).show();

                         //  startActivity(new Intent(Login.this, HomeScreen.class));


                          }

                          else{

                                Toast.makeText(MainActivity.this,"Please enter the details correctly!", Toast.LENGTH_SHORT).show();



                          }



                    }catch (JSONException e) {

                    }       

                      }
               //edit
            //str customhttp2
               private class CustomHttpClient2 extends AsyncTask<String, String, String>{




                    public AsyncResponse2 delegate=null;
                    private String msg; 




             @Override
             protected void onPostExecute(String result2) {
                 // TODO Auto-generated method stub
                 super.onPostExecute(result2);

                 delegate.processFinish2(result2);

             }

             @Override
             protected void onPreExecute() {

                 // TODO Auto-generated method stub
                 super.onPreExecute();
//               fullname=(EditText)findViewById(R.id.nameid);
//              gender=(EditText)findViewById(R.id.genderid);
//              city=(EditText)findViewById(R.id.cityid);
//              mobileno=(EditText)findViewById(R.id.mobileid);
             }



                     @Override
                     protected String doInBackground(String... params) {
                         if(params == null) return null;

                         // get url from params
                         String url2 = params[0];
                         String key1 = params[1];
                         String signupid1 = params[2];

//                       String gender1 = params[3];
//                       String mobileno1 = params[4];
//                       String fullname1 = params[5];
//                       String city1 = params[6];
                         //key=saasvaap123&signup_id=3&gender=1&phone_number=1234567890&fullname=saas&city_id=3                  
                         ArrayList<NameValuePair> postParameters;


                         postParameters = new ArrayList<NameValuePair>();
//                       postParameters.add(new BasicNameValuePair("fullname",fullname1));
//                       postParameters.add(new BasicNameValuePair("gender",gender1));
//                       postParameters.add(new BasicNameValuePair("city_id",city1));
//                       postParameters.add(new BasicNameValuePair("phone_number",mobileno1));
                         postParameters.add(new BasicNameValuePair("key",key1));
                         postParameters.add(new BasicNameValuePair("signup_id",signupid1));




                         try {
                             // create http connection
                             HttpClient client = new DefaultHttpClient();
                             HttpPost httppost = new HttpPost(url2);
                             httppost.setEntity(new UrlEncodedFormEntity(postParameters));

                             // connect
                             HttpResponse response = client.execute(httppost);

                             // get response
                             HttpEntity entity = response.getEntity();

                             if(entity != null){
                                 return EntityUtils.toString(entity);
                             }
                             else{
                                 return "No string.";
                             }
                          }
                          catch(Exception e){
                              return "Network problem";
                          }
                     }




                 }



                   public void processFinish2 (String output2){

                       Toast.makeText(MainActivity.this,output2, Toast.LENGTH_SHORT).show();




                       try{   



                           JSONObject jsonResponse=new JSONObject(output2);
                         JSONArray aJson = jsonResponse.getJSONArray("profile");
                        //  Integer success = json.getInt(SUCCESS);
                   //       String msg = json.getString("message");
                        for(int i=0; i<aJson.length(); i++) {
                            JSONObject json = aJson.getJSONObject(i);

                              //str
                                String strName = json.getString(TAG_NAME);
                                String strGender = json.getString(TAG_GENDER);
                                String strCity = json.getString(TAG_CITY);
                                String strPhNo = json.getString(TAG_PHNO);
                                String strOriginalName = json.getString(TAG_NAME);
                                String strreviewNumber = json.getString(TAG_REVIEWNUM);
                                fullname.setText(strName);
                           //     gender.setText(strGender);
                                city.setText(strCity);
                                mobileno.setText(strPhNo);
                                originalname.setText(strOriginalName);
                                reviewNumber.setText(strreviewNumber+"Reviews");//setting name to original name text-displayed while loading

                                Toast.makeText(MainActivity.this,strGender, Toast.LENGTH_SHORT).show();




                                //end



                        }   

                        }catch (JSONException e) {
                            Toast.makeText(MainActivity.this,"Exception caught!", Toast.LENGTH_SHORT).show();
                        }



                          }


}

You have get all RadioButton's reference in your activity class. 您已经在活动类中获得了所有RadioButton的引用。

String numberToPass = "1" //default 1 for male
RadioGroup rg = (RadioGroup) findViewById(R.id.user_gender);
RadioButton gender_radio_male = (RadioButton) findViewById(R.id.radioMale);
RadioButton gender_radio_female = (RadioButton) findViewById(R.id.radioFemale);

You have to add onRadioButtonClicked() method in your class 您必须在类中添加onRadioButtonClicked()方法

public void onRadioButtonClicked(View v) {
        switch (v.getId()) {
            case R.id.radioMale:
                numberToPass = "1";
                break;
            case R.id.radioFemale:
                numberToPass = "2";
                break;
        }
    }

EDIT: 编辑:

CODE: 码:

  public class MainActivity extends Activity implements AsyncResponse,AsyncResponse2 {
EditText fullname,gender,city,mobileno;
TextView originalname,reviewNumber;
//for displaying in textfield before entering values(when loading)
private static final String TAG_NAME = "fullname";
private static final String TAG_GENDER = "gender";
private static final String TAG_CITY = "city_name";
private static final String TAG_PHNO = "phone_number";
private static final String TAG_REVIEWNUM = "revcount";
RadioButton male,female;
String numberToPass = "1" ;//default 1 for male
//str photo upload
ImageView imageView1, imageView2;
//RoundImage roundedImage, roundedImage1;
//private static int RESULT_LOAD_IMAGE = 1; //added
//end photo upload
    Button submit;
    //str round img upload
    CircularBitmap c= new CircularBitmap();
    Button pic;
    String selectedImagePath;
    ImageView image;
    //end round img upload

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

        //str photo upload
        pic = (Button)findViewById(R.id.button1);
        image = (ImageView)findViewById(R.id.imageView1);

      //this the button which allows you to access the gallery
        pic.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    gallery();
                }
            });
        //end photo upload



        fullname=(EditText)findViewById(R.id.nameid);
   //   gender=(EditText)findViewById(R.id.genderid);
        male=(RadioButton)findViewById(R.id.maleid);
        female=(RadioButton)findViewById(R.id.femaleid);
        city=(EditText)findViewById(R.id.cityid);
        mobileno=(EditText)findViewById(R.id.mobileid);
        originalname=(TextView)findViewById(R.id.originalnameid);//original name title
        reviewNumber=(TextView)findViewById(R.id.reviewNum);
        submit=(Button)findViewById(R.id.submitid);
        //to display fullname,gender,city,moblieno while loading(so outside buttonclick)
         String key1 = "saasvaap123";
         String signupid1 = "8";
         String url2 = "http://gooffers.in/omowebservices/index.php/webservice/Public_User/get_user_profile?";
         //put the below lines outside button onclick since we load the values into edittext when opening the app
         CustomHttpClient2 task2 = new CustomHttpClient2();
         task2.execute(url2,key1,signupid1);
         task2.delegate = MainActivity.this;
            //to send values on button click               
        submit.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {               



            String fullname1= fullname.getText().toString();
            String gender1= gender.getText().toString();
            String city1= city.getText().toString();
            String mobileno1= mobileno.getText().toString();
            String key1 = "saasvaap123";
            String signupid1 = "3";
       //     String cityid1 = "3";


////            //str if empty validation
//            if(fullname==null)
//            {
//                Toast.makeText(MainActivity.this,"Please enter your name!", Toast.LENGTH_SHORT).show();  
//            }
//            else if(gender1==null)
//            {
//                Toast.makeText(MainActivity.this,"Please enter your gender!", Toast.LENGTH_SHORT).show();
//            }
//            else if(city==null)
//            {
//                Toast.makeText(MainActivity.this,"Please enter your city name!", Toast.LENGTH_SHORT).show();
//            }
//            else if(mobileno==null)
//            {
//                Toast.makeText(MainActivity.this,"Please enter your contact number!", Toast.LENGTH_SHORT).show();
//            }
//            else
//              {
//                  Toast.makeText(MainActivity.this,"ok!", Toast.LENGTH_SHORT).show();
//              }
//          //  //end if empty validation
////            //end if empty validation
////            
            String originalname1= originalname.getText().toString();

            String url = "http://gooffers.in/omowebservices/index.php/webservice/Public_User/edit_user_profile?";
            CustomHttpClient task = new CustomHttpClient();
            task.execute(url,key1,signupid1,gender1,mobileno1,fullname1,city1);
            task.delegate = MainActivity.this;

           //mobile number validation
            if (!isValidMobNum(mobileno1)) {
                mobileno.setError("Enter valid mobile number!");
            }


           // key=saasvaap123&signup_id=3&gender=1&phone_number=1234567890&fullname=saas&city_id=3
            }
            });

            } //close oncreate

public void onRadioButtonClicked(View v) {
        switch (v.getId()) {
            case R.id.radioMale:
                numberToPass = "1";
                break;
            case R.id.radioFemale:
                numberToPass = "2";
                break;
        }
    }
    //str img upload
  //this allows you select one image from gallery
    public void gallery() {
       Intent intent = new Intent();
       intent.setType("image/*");
       intent.setAction(Intent.ACTION_GET_CONTENT);
       startActivityForResult(Intent.createChooser(intent, "Select Picture"), 1);
   }
    //when  starting activity for result and choose an image, the code will automatically continue here
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK) {
            if (requestCode == 1) {
                Uri current_ImageURI = data.getData();
            selectedImagePath = getPath(current_ImageURI);
                image.setImageBitmap(c.circle(decodeSampledBitmap(new File(selectedImagePath), 400, 400),Color.rgb(255,255,255)));
            } 
        }
    }
    public String getPath(Uri contentUri) {
        // we have to check for sdk version because from lollipop the retrieval of path is different 
                if (Build.VERSION.SDK_INT < 21) {
                    // can post image
                    String[] proj = {MediaStore.Images.Media.DATA};
                    Cursor cursor = getApplicationContext().getContentResolver().query(contentUri, proj, null, null, null);
                    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                    cursor.moveToFirst();

                    return cursor.getString(column_index);
                } else {
                    String filePath = "";
                    String wholeID = DocumentsContract.getDocumentId(contentUri);

                    // Split at colon, use second item in the array
                    String id = wholeID.split(":")[1];

                    String[] column = {MediaStore.Images.Media.DATA};

                    // where id is equal to
                    String sel = MediaStore.Images.Media._ID + "=?";

                    Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,column, sel, new String[]{id}, null);




                    int columnIndex = cursor.getColumnIndex(column[0]);

                    if (cursor.moveToFirst()) {
                        filePath = cursor.getString(columnIndex);
                    }
                    cursor.close();
                    return filePath;
                }
            }

    public Bitmap decodeSampledBitmap(File res, int reqWidth, int reqHeight) {
        if (res != null) {
            // First decode with inJustDecodeBounds=true to check dimensions
            final BitmapFactory.Options options = new BitmapFactory.Options();
            options.inJustDecodeBounds = true;
            try {
                FileInputStream stream2 = new FileInputStream(res);

                BitmapFactory.decodeStream(stream2, null, options);

                stream2.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            // Calculate inSampleSize
            BitmapFactory.Options o2 = new BitmapFactory.Options();
            o2.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
            o2.inJustDecodeBounds = false;
            FileInputStream stream = null;
            try {
                stream = new FileInputStream(res);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            Bitmap bitmap = BitmapFactory.decodeStream(stream, null, o2);
            try {
                stream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return bitmap;
        } else
            return null;
    }

    public int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) {
        // Raw height and width of image
        final int height = options.outHeight;
        final int width = options.outWidth;
        int inSampleSize = 1;

        if (height > reqHeight || width > reqWidth) {

            final int halfHeight = height / 2;
            final int halfWidth = width / 2;

            // Calculate the largest inSampleSize value that is a power of 2 and keeps both
            // height and width larger than the requested height and width.
            while ((halfHeight / inSampleSize) > reqHeight && (halfWidth / inSampleSize) > reqWidth) {
                inSampleSize *= 2;
            }
        }

        return inSampleSize;
    }
    //end img upload

    //validating mobile num

    private boolean isValidMobNum(String mobileno1) {
         String MobilePattern = "[0-9]{10,13}"; //can enter upto 13 digits-change here if we need to increase the range of digits

         if(mobileno.getText().toString().matches(MobilePattern))
            {
                Toast.makeText(getApplicationContext(), "phone number is valid", 

        Toast.LENGTH_SHORT).show();

                return true;
            }
            else if(!mobileno.getText().toString().matches(MobilePattern))
            {
                Toast.makeText(getApplicationContext(), "Please enter valid 10 digit phone number", Toast.LENGTH_SHORT).show();


                return false;
            }

            return false;

             }

    //str if empty validation
//  if(fullname1==null)
//  {
//    Toast.makeText(MainActivity.this,"Please enter your name!", Toast.LENGTH_SHORT).show();  
//  }
//  else if(gender1==null)
//  {
//    Toast.makeText(MainActivity.this,"Please enter your gender!", Toast.LENGTH_SHORT).show();
//  }
//  else if(city1==null)
//  {
//    Toast.makeText(MainActivity.this,"Please enter your city name!", Toast.LENGTH_SHORT).show();
//  }
//  else if(mobileno1==null)
//  {
//    Toast.makeText(MainActivity.this,"Please enter your contact number!", Toast.LENGTH_SHORT).show();
//  }
//    else
//    {
//      Toast.makeText(MainActivity.this,"ok!", Toast.LENGTH_SHORT).show();
//    }
//  //end if empty validation



    //edit
private class CustomHttpClient extends AsyncTask<String, String, String>{




                public AsyncResponse delegate=null;
                private String msg; 




         @Override
         protected void onPostExecute(String result) {
             // TODO Auto-generated method stub
             super.onPostExecute(result);

             delegate.processFinish(result);

         }

         @Override
         protected void onPreExecute() {
             // TODO Auto-generated method stub
             super.onPreExecute();
         }



                 @Override
                 protected String doInBackground(String... params) {
                     if(params == null) return null;

                     // get url from params
                     String url = params[0];
                     String key1 = params[1];
                     String signupid1 = params[2];

                     String gender1 = params[3];
                     String mobileno1 = params[4];
                     String fullname1 = params[5];
                     String city1 = params[6];
                     //key=saasvaap123&signup_id=3&gender=1&phone_number=1234567890&fullname=saas&city_id=3                  
                     ArrayList<NameValuePair> postParameters;


                     postParameters = new ArrayList<NameValuePair>();
                     postParameters.add(new BasicNameValuePair("fullname",fullname1));
                     postParameters.add(new BasicNameValuePair("gender",gender1));
                     postParameters.add(new BasicNameValuePair("city_name",city1));
                     postParameters.add(new BasicNameValuePair("phone_number",mobileno1));
                     postParameters.add(new BasicNameValuePair("key",key1));
                     postParameters.add(new BasicNameValuePair("signup_id",signupid1));

//                  //str



                     try {
                         // create http connection
                         HttpClient client = new DefaultHttpClient();
                         HttpPost httppost = new HttpPost(url);
                         httppost.setEntity(new UrlEncodedFormEntity(postParameters));

                         // connect
                         HttpResponse response = client.execute(httppost);

                         // get response
                         HttpEntity entity = response.getEntity();

                         if(entity != null){
                             return EntityUtils.toString(entity);
                         }
                         else{
                             return "No string.";
                         }
                      }
                      catch(Exception e){
                          return "Network problem";
                      }
                 }




             }


               public void processFinish (String output){

                   Toast.makeText(MainActivity.this,output, Toast.LENGTH_SHORT).show();




                   try{   

                          JSONObject json=new JSONObject(output);
                        //  Integer success = json.getInt(SUCCESS);
                          String msg = json.getString("message");
//                        String Status = json.getString("status");
//                        String userid = json.getString("userid");
//                        String usertype = json.getString("usertype");

//                        Integer userid=json.getInt("userid");
//                        String User_ID=String.valueOf(userid);

//                        SharedPreferences sharedpreferences = getSharedPreferences(AQUASAN, Context.MODE_PRIVATE);
//                        Editor editor = sharedpreferences.edit();
//                        editor.putString("ID", Employee_ID);
//                        editor.commit();

                      //needed    
//                        String fullname = nameid.setText("saas");
//                       String gender = genderid.setText("0");
//                       String city_id = cityid.setText("0");
//                       String phone_number = mobileid.setText("0");

                                  String a="Successfully Updated";

                          if(msg.compareTo(a)==0){

                           Toast.makeText(MainActivity.this,"Your profile has been successfully updated!", Toast.LENGTH_SHORT).show();
                        //   Toast.makeText(MainActivity.this,msg, Toast.LENGTH_SHORT).show();

                         //  startActivity(new Intent(Login.this, HomeScreen.class));


                          }

                          else{

                                Toast.makeText(MainActivity.this,"Please enter the details correctly!", Toast.LENGTH_SHORT).show();



                          }



                    }catch (JSONException e) {

                    }       

                      }
               //edit
            //str customhttp2
               private class CustomHttpClient2 extends AsyncTask<String, String, String>{




                    public AsyncResponse2 delegate=null;
                    private String msg; 




             @Override
             protected void onPostExecute(String result2) {
                 // TODO Auto-generated method stub
                 super.onPostExecute(result2);

                 delegate.processFinish2(result2);

             }

             @Override
             protected void onPreExecute() {

                 // TODO Auto-generated method stub
                 super.onPreExecute();
//               fullname=(EditText)findViewById(R.id.nameid);
//              gender=(EditText)findViewById(R.id.genderid);
//              city=(EditText)findViewById(R.id.cityid);
//              mobileno=(EditText)findViewById(R.id.mobileid);
             }



                     @Override
                     protected String doInBackground(String... params) {
                         if(params == null) return null;

                         // get url from params
                         String url2 = params[0];
                         String key1 = params[1];
                         String signupid1 = params[2];

//                       String gender1 = params[3];
//                       String mobileno1 = params[4];
//                       String fullname1 = params[5];
//                       String city1 = params[6];
                         //key=saasvaap123&signup_id=3&gender=1&phone_number=1234567890&fullname=saas&city_id=3                  
                         ArrayList<NameValuePair> postParameters;


                         postParameters = new ArrayList<NameValuePair>();
//                       postParameters.add(new BasicNameValuePair("fullname",fullname1));
//                       postParameters.add(new BasicNameValuePair("gender",gender1));
//                       postParameters.add(new BasicNameValuePair("city_id",city1));
//                       postParameters.add(new BasicNameValuePair("phone_number",mobileno1));
                         postParameters.add(new BasicNameValuePair("key",key1));
                         postParameters.add(new BasicNameValuePair("signup_id",signupid1));




                         try {
                             // create http connection
                             HttpClient client = new DefaultHttpClient();
                             HttpPost httppost = new HttpPost(url2);
                             httppost.setEntity(new UrlEncodedFormEntity(postParameters));

                             // connect
                             HttpResponse response = client.execute(httppost);

                             // get response
                             HttpEntity entity = response.getEntity();

                             if(entity != null){
                                 return EntityUtils.toString(entity);
                             }
                             else{
                                 return "No string.";
                             }
                          }
                          catch(Exception e){
                              return "Network problem";
                          }
                     }




                 }



                   public void processFinish2 (String output2){

                       Toast.makeText(MainActivity.this,output2, Toast.LENGTH_SHORT).show();




                       try{   



                           JSONObject jsonResponse=new JSONObject(output2);
                         JSONArray aJson = jsonResponse.getJSONArray("profile");
                        //  Integer success = json.getInt(SUCCESS);
                   //       String msg = json.getString("message");
                        for(int i=0; i<aJson.length(); i++) {
                            JSONObject json = aJson.getJSONObject(i);

                              //str
                                String strName = json.getString(TAG_NAME);
                                String strGender = json.getString(TAG_GENDER);
                                String strCity = json.getString(TAG_CITY);
                                String strPhNo = json.getString(TAG_PHNO);
                                String strOriginalName = json.getString(TAG_NAME);
                                String strreviewNumber = json.getString(TAG_REVIEWNUM);
                                fullname.setText(strName);
                                gender.setText(strGender);
                                city.setText(strCity);
                                mobileno.setText(strPhNo);
                                originalname.setText(strOriginalName);
                                reviewNumber.setText(strreviewNumber+"Reviews");//setting name to original name text-displayed while loading

                                Toast.makeText(MainActivity.this,strGender, Toast.LENGTH_SHORT).show();




                                //end



                        }   

                        }catch (JSONException e) {
                            Toast.makeText(MainActivity.this,"Exception caught!", Toast.LENGTH_SHORT).show();
                        }



                          }


}

I hope it helps! 希望对您有所帮助!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM