Look below "caused by" in the logcat to identify where the
NullPointerException occurrs. Then fix it.

23 ноября 2011 г. 15:36 пользователь Graham Bright <gbwienmobil...@gmail.com
> написал:

> Can anyone help?
>
> Thanks
> Graham
> On Nov 23, 2011 11:51 a.m., "Graham Bright" <gbwienmobil...@gmail.com>
> wrote:
>
>> Hi,
>>
>> I am creating service which will run in the background and contain a
>> blocking list  (implemented using ArrayList) which may be used later
>> by other activites.
>>
>> My Problem:-
>>
>>
>> From my activity Services Demo I pass data to my service using
>>
>> dataIntent.putExtra("originator", x);
>>
>> this is fine but when I try to store this data in my Service in an
>> ArrayList called Items I get an exception and I cannot figure out
>> why.
>>
>> The problem is in my Service code MyService :
>>
>>                if(items.contains(ORIG)){
>>                        Log.d(TAG, "Element already exists exiting ");
>>                } else {
>>                        Log.d(TAG, "Adding Element");
>>                    items.add(ORIG);
>>
>>                }
>> Please help.
>>
>> EXCEPTION
>> java.lang.RuntimeException: Unable to start service ...... with
>> intent
>>
>> caused by: java.lang.NullPointerException
>>
>> Best Regards,
>>
>> Graham
>>
>> CODE Eclipse
>>
>> Activity -> ServicesDemo
>> Service -> MyService
>>
>> ACTIVITY ServicesDemo
>>
>> package com.example;
>>
>> import android.app.Activity;
>> import android.content.Intent;
>> import android.os.Bundle;
>> import android.util.Log;
>> import android.view.View;
>> import android.view.View.OnClickListener;
>> import android.widget.Button;
>> import android.widget.EditText;
>>
>> public class ServicesDemo extends Activity implements OnClickListener
>> {
>>  private static final String TAG = "ServicesDemo";
>>  Button buttonStart, buttonStop;
>>  EditText Input;
>>  String x = "";  //test pass to my service
>>
>>  @Override
>>  public void onCreate(Bundle savedInstanceState) {
>>    super.onCreate(savedInstanceState);
>>    setContentView(R.layout.main);
>>
>>    buttonStart = (Button) findViewById(R.id.buttonStart);
>>    buttonStop = (Button) findViewById(R.id.buttonStop);
>>    Input = (EditText) findViewById(R.id.INPUT);
>>    buttonStart.setOnClickListener(this);
>>    buttonStop.setOnClickListener(this);
>>
>>  }
>>
>>  public void onClick(View src) {
>>    switch (src.getId()) {
>>    case R.id.buttonStart:
>>      Log.d(TAG, "onClick: starting srvice");
>>      Intent dataIntent = new Intent(ServicesDemo.this,
>> MyService.class);
>>      x = Input.getText().toString();
>>      dataIntent.putExtra("originator", x);
>>      startService(dataIntent);
>>
>>      break;
>>
>>    case R.id.buttonStop:
>>
>>      Log.d(TAG, "onClick: stopping srvice");
>>      //implicit starting
>>      stopService(new Intent(this, MyService.class));
>>      break;
>>    }
>>  }
>>
>>
>> public static String getTag() {
>>        return TAG;
>> }
>> }
>> -----------------------------------<end ACTIVITY>
>>
>>
>> --Service MyService ---------
>> package com.example;
>>
>>
>> import java.util.ArrayList;
>>
>> import android.app.Service;
>> import android.content.Intent;
>> import android.os.Bundle;
>> import android.os.IBinder;
>> import android.util.Log;
>> import android.widget.Toast;
>>
>> public class MyService extends Service {
>>
>>        ArrayList<String> items;
>>
>>        public String ORIG = "";
>>        private static final String TAG = "MyService";
>>        public Bundle data = new Bundle();
>>
>>
>>        @Override
>>        public IBinder onBind(Intent intent) {
>>                return null;
>>        }
>>
>>
>>        public static String getTag() {
>>                return TAG;
>>        }
>>
>>
>>        @Override
>>        public void onCreate() {
>>                Toast.makeText(this, "My Service Created",
>> Toast.LENGTH_LONG).show();
>>                Log.d(TAG, "onCreate");
>>
>>
>>        }
>>
>>        @Override
>>        public void onDestroy() {
>>                Toast.makeText(this, "My Service Stopped",
>> Toast.LENGTH_LONG).show();
>>                Log.d(TAG, "onDestroy");
>>
>>        }
>>
>>        @Override
>>        public void onStart(Intent intent, int startid) {
>>                Log.d(TAG, "onStart");
>>                data = intent.getExtras();
>>                ORIG = data.getString("originator");
>>                Toast.makeText(this, "My Service Started with passed in
>> value " +
>> ORIG, Toast.LENGTH_LONG).show();
>>                if(items.contains(ORIG)){
>>                        Log.d(TAG, "Element already exists exiting ");
>>                } else {
>>                        Log.d(TAG, "Adding Element");
>>                    items.add(ORIG);
>>
>>                }
>>
>>
>>                Thread initBkgdThread = new Thread(new Runnable() {
>>                        public void run() {
>>                                //print_result();
>>                        }
>>                        });
>>                        initBkgdThread.start();
>>
>>        }
>>
>>        public void print_result(String orig){
>>                Log.d(TAG, "HELLO WORLD:" + orig);
>>
>>
>>        }
>>
>> }
>>
>> --------------end of service-----------
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>

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

Reply via email to