Reputation: 79
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
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
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