user3619713
user3619713

Reputation: 79

android SharedPreferences put http result

i have one question.i wrote service witch can to set parameters server with HttpGet method and if everythins will be ok result is "OK" and i want to put this result in SharedPreferences. i differenct activity and in a first activity(splashscreen activity) i want to check if this result is "OK" go UserInformation activity ,else ChooseChempions activity. P.s i also use facebook sdk but i have not problem in facebook program not working perfect.i can not check SharedPreferences's put value this isa my source Splashscreen.java code

public class Splashscreen extends Activity {

private static int SPLASH_TIME_OUT = 3000;
public static SharedPreferences My_sessia;
public static final String Sessia_name = "My_sessio";
public String session_result;

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

    setContentView(R.layout.activity_main);
    SessionStore.restore(Registration.mFacebook, this);

    My_sessia = getSharedPreferences(Sessia_name, 0);
    session_result=My_sessia.getString("result_ok", "ok");
    new Handler().postDelayed(new Runnable() {
        @SuppressWarnings("deprecation")
        @Override
        public void run() {

            if (Registration.mFacebook.isSessionValid()
                    ) {
                Intent i = new Intent(getApplicationContext(),
                        ChooseChempions.class);

                startActivity(i);
                overridePendingTransition(R.anim.trans_left_in,
                        R.anim.trans_left_out);
            }

            else if (Registration.mFacebook.isSessionValid()
                    && session_result.contains("ok")) {
                Intent i = new Intent(getApplicationContext(),
                        UserInformation.class);

                startActivity(i);
                overridePendingTransition(R.anim.trans_left_in,
                        R.anim.trans_left_out);
            }

            else {
                Intent i = new Intent(getApplicationContext(),
                        Registration.class);

                startActivity(i);
                overridePendingTransition(R.anim.trans_left_in,
                        R.anim.trans_left_out);
            }

        }
    }, SPLASH_TIME_OUT);

}

and this is a part code

private void SendFacebookIdToServer(final String flag_click1) {
    class HttpGetAsyncTask extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... params) {

            HttpClient httpClient = new DefaultHttpClient();



            HttpGet httpGet = new HttpGet(
                    "****************"
                            + GlobalClasses.Facebook_id
                            + "&country="
                            + flag_click1);

            try {

                HttpResponse httpResponse = httpClient.execute(httpGet);
                System.out.println("httpResponse");
                InputStream inputStream = httpResponse.getEntity()
                        .getContent();
                InputStreamReader inputStreamReader = new InputStreamReader(
                        inputStream);
                BufferedReader bufferedReader = new BufferedReader(
                        inputStreamReader);
                StringBuilder stringBuilder = new StringBuilder();

                String bufferedStrChunk = null;
                while ((bufferedStrChunk = bufferedReader.readLine()) != null) {
                    stringBuilder.append(bufferedStrChunk);
                }
                System.out.println("Returning value of doInBackground :"
                        + stringBuilder.toString());
                return stringBuilder.toString();

            } catch (ClientProtocolException cpe) {
                System.out
                        .println("Exception generates caz of httpResponse :"
                                + cpe);
                cpe.printStackTrace();
            } catch (IOException ioe) {
                System.out
                        .println("Second exception generates caz of httpResponse :"
                                + ioe);
                ioe.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);


            SharedPreferences.Editor editor = Splashscreen.My_sessia.edit();
            editor.putString("result_ok", result);

            editor.commit();

        }
    }

    HttpGetAsyncTask httpGetAsyncTask = new HttpGetAsyncTask();

    httpGetAsyncTask.execute(flag_click1);

}

how i can check this result? what am i doing wrong?

Upvotes: 0

Views: 89

Answers (2)

pavan kumar
pavan kumar

Reputation: 103

       if (Registration.mFacebook.isSessionValid()
                && session_result.contains("ok")) {
            Intent i = new Intent(getApplicationContext(),
                    UserInformation.class);

            startActivity(i);
            overridePendingTransition(R.anim.trans_left_in,
                    R.anim.trans_left_out);
        }
     else if (Registration.mFacebook.isSessionValid()
                ) {
            Intent i = new Intent(getApplicationContext(),
                    ChooseChempions.class);

            startActivity(i);
            overridePendingTransition(R.anim.trans_left_in,
                    R.anim.trans_left_out);
        }

Upvotes: 0

adboco
adboco

Reputation: 2870

Your second if-statement, i.e

if (Registration.mFacebook.isSessionValid() && session_result.contains("ok"))

will never be called because if Registration.mFacebook.isSessionValid() returns true, you will execute the first if-statement.

Upvotes: 1

Related Questions