Seems to be that the issue is located some where in the following code, located at the end of the email. Not sure why it would work every other time the app gets launched and then not every subsequent time. The line I have bolded is where the error seems to be happening and the log file shows the following. Would appreciate any pointers.

03-17 20:06:37.415: WARN/System.err(301): java.lang.NullPointerException
03-17 20:06:37.445: WARN/System.err(301): at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:112) 03-17 20:06:37.485: WARN/System.err(301): at org.json.JSONTokener.nextValue(JSONTokener.java:90) 03-17 20:06:37.515: WARN/System.err(301): at org.json.JSONObject.<init>(JSONObject.java:154) 03-17 20:06:37.515: WARN/System.err(301): at org.json.JSONObject.<init>(JSONObject.java:171) 03-17 20:06:37.535: WARN/System.err(301): at com.dtwconsulting.golfcaddietrial.GolfCaddie$initialiseServer.doInBackground(GolfCaddie.java:114) 03-17 20:06:37.556: WARN/System.err(301): at com.dtwconsulting.golfcaddietrial.GolfCaddie$initialiseServer.doInBackground(GolfCaddie.java:1) 03-17 20:06:37.565: WARN/System.err(301): at android.os.AsyncTask$2.call(AsyncTask.java:185) 03-17 20:06:37.585: WARN/System.err(301): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 03-17 20:06:37.585: WARN/System.err(301): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 03-17 20:06:37.615: WARN/System.err(301): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 03-17 20:06:37.645: WARN/System.err(301): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 03-17 20:06:37.645: WARN/System.err(301): at java.lang.Thread.run(Thread.java:1096)


private class initialiseServer extends AsyncTask<Void, Integer, Boolean> {
         protected void onPreExecute(){
             initDialog = ProgressDialog.show(GolfCaddie.this, "",
                     "Initializing. Please wait...", true);
         }

         protected Boolean doInBackground(Void...voids) {
             Boolean expired = false;
             String installType = "";
              String retInit = "";
              String initExpDate = "";
              SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");

             // Let's get the device ID
TelephonyManager mTelephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
             String imei = mTelephonyMgr.getDeviceId();

// Now, let's check the application to see if we have the trial or full version. if (getApplication().getPackageName().equals("com.dtwconsulting.golfcaddietrial")){
                 installType = "trial";
             } else {
                 installType = "full";
             }
             try {
                 // Construct data
String data = "code=" + imei + "&installtype=" + installType + "&apikey=" + GlobalVars.GCAPI_KEY + "&platform=" + GlobalVars.PLATFORM;

                 // Send data
URL url = new URL(GlobalVars.HOST_WAP + "initialize.php?" + data);
                 URLConnection conn = url.openConnection();

                 // Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));

                 retInit = rd.readLine();
*JSONObject initLine = new JSONObject(retInit);*
                 Number initErr = initLine.getInt("errcode");
                 initExpDate = initLine.getString("expiredate");
                 rd.close();
             } catch (Exception e) {
                 e.printStackTrace();
             }
             Date expDate = null;
             Date today = new Date();

             try {
                 expDate = df.parse(initExpDate);
             } catch (ParseException e) {
                 // TODO Auto-generated catch block
                 e.printStackTrace();
             }
             if (expDate.before(today)){
              if (installType.equals("trial")) {
                 // Trial has expired
                 expired = true;
              }
             }
            else{
                expireDate = df.format(expDate);
            }
             return expired;
         }

         protected void onPostExecute(Boolean result) {
             initDialog.dismiss();
             if (result){
AlertDialog.Builder builder = new AlertDialog.Builder(GolfCaddie.this); builder.setMessage("Your Golf Caddie trial has expired." )
                           .setCancelable(false)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) {
                                   GolfCaddie.this.finish();
                               }
                           });
                    AlertDialog alert = builder.create();
                    builder.show();
             }
             else{
                 checkInstall();
             }
         }
     }
--
------------------------------------------------------------------------

David Williams
Check out our WebOS mobile phone app for the Palm Pre and Pixi:
<http://www.dtw-consulting.com/GolfCaddie> Golf Caddie <http://www.dtw-consulting.com/GolfCaddie> | Golf Caddie Forum <http://www.dtw-consulting.com/GolfCaddie/forum> | Golf Caddie FAQ <http://www.dtw-consulting.com/GolfCaddie/faq.html> by DTW-Consulting, Inc.


--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

<<inline: GClogo.png>>

Reply via email to