문제

My register button calls my register() function through Void doInBackground. With this, my App crashes, but when using URL parameter as Static, defined in code, everything works fine.

What am I doing wrong?

static void register(final Context context, final String regId, final String appName) {
    Log.i(TAG, "registering device (regId = " + regId + ")");
    SharedPreferences SERVER_URL = context.getSharedPreferences("URL" , Context.MODE_PRIVATE);

    String serverUrl = SERVER_URL + "register.php";
    Map<String, String> params = new HashMap<String, String>();
    params.put("regId", regId);
    params.put("appName", appName); ...
}

올바른 솔루션이 없습니다

다른 팁

Here SERVER_URL is SharedPreferences instance from that we need to get specified value by using getString() method, try this,

static void register(final Context context, final String regId, final String appName) {
    Log.i(TAG, "registering device (regId = " + regId + ")");
    SharedPreferences SERVER_URL = context.getSharedPreferences("URL" , Context.MODE_PRIVATE);

    String serverUrl = SERVER_URL.getString("replace_your_key_value",null) + "/register.php";
    Map<String, String> params = new HashMap<String, String>();
    params.put("regId", regId);
    params.put("appName", appName); ...

Try:

 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

    String serverUrl = prefs.getString("URL") + /"register.php";
Log.i("Server URL " + serverUrl );

instead of in your code.

SharedPreferences SERVER_URL = context.getSharedPreferences("URL" , Context.MODE_PRIVATE);
String serverUrl = SERVER_URL + "register.php";
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top