将数据从列表视图(从Rest Api生成)传递到另一个活动并将其保存到SQLite数据库中

时间:2016-06-29 18:43:16

标签: java android sqlite listview android-intent

我正在使用REST api通过XML feed从Job站点创建一个Android应用程序(仍然是基本结构,没有任何设计)。

到目前为止,我可以设法解析XML数据,在每行上显示带有POP UP菜单项的列表视图。我将数据从PostBaseAdapter传递给MarkAsFav类。如果我做得对,你能告诉我吗?因为,我没有在数据库中保存任何数据 现在,我有一个问题:

我有3个弹出菜单项: 1.设为收藏夹 2.分享Fb 3.发送电子邮件给你的朋友

我正在研究第一点。

目前,我将在SQLite数据库中保存数据。所以,我将所有数据(所有行的所有详细信息)传递给另一个活动,更多的是我接受用户给定的名称,通过我的数据库中的insertDB()保存详细信息。

但遗憾的是,数据库中没有任何内容被保存。 你能告诉我,数据是否通过以及数据是否保存在数据库中?

请帮帮我。请告诉我在哪里以及如何修改代码?

DBHelper.java

    public class DBHelper extends SQLiteOpenHelper {

    public static final String DATABASE_NAME ="MyDB.db";
    public static final String JOBS_TABLE_NAME = "favourites";
    public static final String JOBS_COLUMN_ID = "id";
    public static final String JOBS_COLUMN_NAME = "name";
    public static final String JOBS_COLUMN_HEADER="header";
    public static final String JOBS_COLUMN_COMPANY="company";
    public static final String JOBS_COLUMN_CITY="city";
    public static final String JOBS_COLUMN_STATE="state";
    public static final String JOBS_COLUMN_COUNTRY="country";
    public static final String JOBS_COLUMN_FORMATEDLOCATION="formatedLocation";
    public static final String JOBS_COLUMN_SOURCE="source";
    public static final String JOBS_COLUMN_DATE="date";
    public static final String JOBS_COLUMN_SNIPPET="snippet";
    public static final String JOBS_COLUMN_URL="url";
    public static final String JOBS_COLUMN_ONMOUSEDOWN="onmousedown";
    public static final String JOBS_COLUMN_LATTITUDE="lattitude";
    public static final String JOBS_COLUMN_LONGITUDE="longitude";
    public static final String JOBS_COLUMN_JOBKEY="jobkey";
    public static final String JOBS_COLUMN_SPONSORED="sponsored";
    public static final String JOBS_COLUMN_EXPIRED="expired";
    public static final String JOBS_COLUMN_FORMATTEDLOCATIONFULL="formattedLocationFull";
    public static final String JOBS_COLUMN_FORMATTEDRELATIVETIME="formattedRelativeTime";
    private HashMap hp;

    public DBHelper(Context context)
    {
        super(context, DATABASE_NAME , null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL(
                "create table" + JOBS_TABLE_NAME  +
                        "("+JOBS_COLUMN_ID+" integer primary key autoincrement, "+JOBS_COLUMN_HEADER+" text, "+JOBS_COLUMN_NAME+" text,"+JOBS_COLUMN_COMPANY+" text, "+JOBS_COLUMN_CITY+" text, "+JOBS_COLUMN_STATE+" text, "+JOBS_COLUMN_COUNTRY+" text,"+JOBS_COLUMN_FORMATEDLOCATION+" text,"+JOBS_COLUMN_SOURCE+" text,"+JOBS_COLUMN_DATE+" text,"+JOBS_COLUMN_SNIPPET+" text,"+JOBS_COLUMN_COMPANY+" text,"+JOBS_COLUMN_URL+"text,"+JOBS_COLUMN_ONMOUSEDOWN+" text,"+JOBS_COLUMN_LATTITUDE+" text,"+JOBS_COLUMN_LONGITUDE+"text,"+JOBS_COLUMN_JOBKEY+" text,"+JOBS_COLUMN_SPONSORED+" text,"+JOBS_COLUMN_EXPIRED+" text,"+JOBS_COLUMN_FORMATTEDLOCATIONFULL+" text,"+JOBS_COLUMN_FORMATTEDRELATIVETIME+" text)"
        );

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        db.execSQL("DROP TABLE IF EXISTS favourites");
        onCreate(db);
    }

    public boolean insertContact(String header, String name,String company,String city,String state,String country,String formattedLocation,String source,String date,String snippet,String url,String onmousedown,String lattitude,String longitude,String jobkey,String sponsored,String expired, String formattedLocationFull,String formattedRelativeTime)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        //contentValues.put("id",id);
        contentValues.put(JOBS_COLUMN_HEADER,header);
        contentValues.put(JOBS_COLUMN_NAME, name);
        contentValues.put(JOBS_COLUMN_COMPANY, company);
        contentValues.put(JOBS_COLUMN_CITY, city);
        contentValues.put(JOBS_COLUMN_STATE, state);
        contentValues.put(JOBS_COLUMN_COUNTRY, country);
        contentValues.put(JOBS_COLUMN_FORMATEDLOCATION, formattedLocation);
        contentValues.put(JOBS_COLUMN_SOURCE, source);
        contentValues.put(JOBS_COLUMN_DATE, date);
        contentValues.put(JOBS_COLUMN_SNIPPET, snippet);
        contentValues.put(JOBS_COLUMN_URL, url);
        contentValues.put(JOBS_COLUMN_ONMOUSEDOWN, onmousedown);
        contentValues.put(JOBS_COLUMN_LATTITUDE, lattitude);
        contentValues.put(JOBS_COLUMN_LONGITUDE, longitude);
        contentValues.put(JOBS_COLUMN_JOBKEY, jobkey);
        contentValues.put(JOBS_COLUMN_SPONSORED, sponsored);
        contentValues.put(JOBS_COLUMN_EXPIRED, expired);
        contentValues.put(JOBS_COLUMN_FORMATTEDLOCATIONFULL, formattedLocationFull);
        contentValues.put(JOBS_COLUMN_FORMATTEDRELATIVETIME, formattedRelativeTime);

        db.insert("favourites", null, contentValues);
        return true;
    }

    public Cursor getData(int id){
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor res =  db.rawQuery( "select * from favourites where id="+id+"", null );
        return res;
    }

    public int numberOfRows(){
        SQLiteDatabase db = this.getReadableDatabase();
        int numRows = (int) DatabaseUtils.queryNumEntries(db, JOBS_TABLE_NAME);
        return numRows;
    }

    public boolean updateContact (Integer id, String name)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put("name", name);

        db.update("favourites", contentValues, "id = ? ", new String[] { Integer.toString(id) } );
        return true;
    }

    public Integer deleteContact (Integer id)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        return db.delete("favourites",
                "id = ? ",
                new String[] { Integer.toString(id) });
    }

    public ArrayList<String> getAllCotacts()
    {
        ArrayList<String> array_list = new ArrayList<String>();

        //hp = new HashMap();
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor res =  db.rawQuery( "select * from favourites", null );
        res.moveToFirst();

        while(res.isAfterLast() == false){
            array_list.add(res.getString(res.getColumnIndex(JOBS_COLUMN_NAME)));
            res.moveToNext();
        }
        return array_list;
    }
}

MarkAsFav.java

public class MarkAsFav extends Activity {

    private DBHelper mydb;

    TextView header;

    int id_To_Update = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mark_fav_layout);
        header = (TextView) findViewById(R.id.editTextName);

        mydb = new DBHelper(this);

        Intent extras = getIntent();
        if (extras != null) {
            int Value = extras.getIntExtra("id",0);

            if (Value > 0) {
                //means this is the view part not the add contact part.
                Cursor rs = mydb.getData(Value);
                id_To_Update = Value;
                rs.moveToFirst();

                String nam = rs.getString(rs.getColumnIndex(DBHelper.JOBS_COLUMN_NAME));

                if (!rs.isClosed()) {
                    rs.close();
                }
                Button b = (Button) findViewById(R.id.button1);
                b.setVisibility(View.INVISIBLE);

                header.setText((CharSequence) nam);
                header.setFocusable(false);
                header.setClickable(false);

            }
        }
    }


    public void run(View view) {
        Intent extras = getIntent();
        if (extras != null) {

            int val = extras.getIntExtra("id",0);
            String value1 = extras.getStringExtra("title");
            String value2=  extras.getStringExtra("company");
            String value3=  extras.getStringExtra("city");
            String value4=  extras.getStringExtra("state");
            String value5=  extras.getStringExtra("country");
            String value6=  extras.getStringExtra("formattedLocation");
            String value7=  extras.getStringExtra("source");
            String value8=  extras.getStringExtra("date");
            String value9=  extras.getStringExtra("snippet");
            String value10=  extras.getStringExtra("url");
            String value11=  extras.getStringExtra("onmousedown");
            String value12=  extras.getStringExtra("lattitude");
            String value13=  extras.getStringExtra("longitude");
            String value14=  extras.getStringExtra("jobkey");
            String value15=  extras.getStringExtra("sponsored");
            String value16=  extras.getStringExtra("expired");
            String value17=  extras.getStringExtra("formattedLocationFull");
            String value18=  extras.getStringExtra("formattedRelativeTime");

            String headerValue = header.getText().toString();
            Log.e("ERROR", "Inside run and checking Value and val");
            if (val > 0) {
                /*if (mydb.updateContact(id_To_Update, header.getText().toString())) {
                    Toast.makeText(getApplicationContext(), "Updated", Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                    startActivity(intent);
                    Log.e("ERROR", "update error");
                } else {
                    Toast.makeText(getApplicationContext(), "not Updated", Toast.LENGTH_SHORT).show();
                }
            }
            else {*/
                if (mydb.insertContact(headerValue, value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,value11,value12,value13,value14,value15,value16,value17,value18)) {
                    Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_SHORT).show();
                    Log.e("ERROR", "insert contact errors");
                } else {
                    Toast.makeText(getApplicationContext(), "not done", Toast.LENGTH_SHORT).show();
                }
                Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                startActivity(intent);
            }
        }
    }
}

PostBaseAdapter.java

public class PostBaseAdapter extends BaseAdapter {

    private LayoutInflater layoutInflater;
    private ArrayList<Result> resultList;
    private MainActivity mActivity;
    private Context mContext;
    String TAG="";


    public PostBaseAdapter(Context context, ArrayList<Result> resultList) {
        this.layoutInflater = LayoutInflater.from(context);
        this.resultList = resultList;
        this.mContext= context;

    }

    @Override
    public int getCount() {
        return resultList.size();
    }

    @Override
    public Result getItem(int i) {
        return resultList.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View convertView, ViewGroup parent) {
        final ViewHolder viewHolder;
        final int j=i;

        if (convertView == null) {
            convertView = layoutInflater.inflate(R.layout.list_item_post, null);
            //viewHolder = new ViewHolder(convertView);
            viewHolder= new ViewHolder();
            //View overFlow = convertView.findViewById(R.id.id_overflow);
            viewHolder.tvTitle =   (TextView)  convertView.findViewById(R.id.tvTitle);
            viewHolder.imageClick= (ImageView) convertView.findViewById(R.id.id_overflow);
            convertView.setTag(viewHolder);
            //overFlow.setOnClickListener(new OverflowSelectedListener(mContext, mActivity));

        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }

        final Result result = resultList.get(i);
        viewHolder.tvTitle.setText(result.getJobtitle());
        final String jobTitle=resultList.get(i).getJobtitle();
        final String company= resultList.get(i).getCompany();
        final String city=    resultList.get(i).getCity();
        final String state=   resultList.get(i).getState();
        final String country= resultList.get(i).getCountry();
        final String formattedLocation= resultList.get(i).getFormattedLocation();
        final String source=resultList.get(i).getSource();
        final String date= resultList.get(i).getDate();
        final String snippet= resultList.get(i).getSnippet();
        final String url=     resultList.get(i).getUrl();
        final String onmousedown= resultList.get(i).getOnmousedown();
        final String lattitude= resultList.get(i).getLattitude();
        final String longitude= resultList.get(i).getLongitude();
        final String jobkey=   resultList.get(i).getJobkey();
        final String sponsored= resultList.get(i).getSponsored();
        final String expired= resultList.get(i).getExpired();
        final String formattedLocaionfull= resultList.get(i).getFormattedLocation();
        final String formattedRelativeTime= resultList.get(i).getFormattedRelativeTime();



        try {


            viewHolder.imageClick.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {

                    switch (v.getId()) {
                        case R.id.id_overflow:

                            final PopupMenu popup = new PopupMenu(mContext, v);
                            popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());
                            // Force icons to show

                            popup.show();
                            popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {

                                public boolean onMenuItemClick(MenuItem item) {
                                    int id_To_Search = j + 1;


                                    /*Intent intent = new Intent(mContext,MarkAsFav.class);

                                    intent.putExtras(dataBundle);
                                    mContext.startActivity(intent);*/
                                    switch (item.getItemId()) {


                                        case R.id.email_whatsapp:
                                            doEmailOrWhatsapp(mActivity);
                                            return true;

                                        case R.id.share_on_fb:
                                            shareOnFb(mActivity);
                                            return true;

                                        case R.id.mark_as_fav:
                                            //viewHolder.
                                          //dataBundle.putString("name", result.getJobtitle());
                                            Intent intent = new Intent(mContext,MarkAsFav.class);
                                            intent.putExtra("id",0);
                                            intent.putExtra("title", jobTitle  );
                                            intent.putExtra("company",company );
                                            intent.putExtra("city", city);
                                            intent.putExtra("state",state   );
                                            intent.putExtra("country",country );
                                            intent.putExtra("formattedLocation",formattedLocation );
                                            intent.putExtra("source",source );
                                            intent.putExtra("date", date);
                                            intent.putExtra("snippet", snippet);
                                            intent.putExtra("url", url);
                                            intent.putExtra("onmousedown",onmousedown );
                                            intent.putExtra("lattitude", lattitude);
                                            intent.putExtra("longitude",longitude );
                                            intent.putExtra("jobkey", jobkey);
                                            intent.putExtra("sponsored",sponsored );
                                            intent.putExtra("expired", expired);
                                            intent.putExtra("formattedLocationFull",formattedLocaionfull );
                                            intent.putExtra("formattedRelativeTime",formattedRelativeTime );

                                            //intent.putExtras(dataBundle);
                                            mContext.startActivity(intent);
                                            return true;
                                        default:
                                            break;
                                    }

                                    return true;
                                }
                            });
                            //popup.show();
                            break;

                        default:
                            break;
                    }

                }
            });


        }
        catch (Exception e) {

            e.printStackTrace();
        }

        return convertView;
    }



    private class ViewHolder {
        TextView tvTitle;//, tvPublishDate;
        ImageView imageClick;
      /* public ViewHolder(View item) {
            tvTitle = (TextView) item.findViewById(R.id.tvTitle);*/
           // imageClick=(ImageView)item.findViewById(R.id.id_overflow);
           // tvPublishDate = (TextView) item.findViewById(R.id.tvPublishDate);
        }

    }

标记最爱-layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="370dp"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin">

        <EditText
            android:id="@+id/editTextName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:ems="10"
            android:inputType="text" >
        </EditText>
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="28dp"
            android:onClick="run"
            android:text="@string/save" />
 </LinearLayout>

Result.java

公共类结果{

 public String jobtitle;
    public String company;
    public String city;
    public String state;
    public String country;
    public String formattedLocation;
    public String source;
    public String date;
    public String snippet;
    public String url;
    public String onmousedown;
    public String lattitude;
    public String longitude;
    public String jobkey;
    public String sponsored;
    public String expired;
    public String formattedLocationFull;
    public String formattedRelativeTime;
    public String getJobtitle() {
        return jobtitle;
    }
    public void setJobtitle(String jobtitle) {
        this.jobtitle = jobtitle;
    }
    public String getCompany() {
        return company;
    }
    public void setCompany(String company) {
        this.company = company;
    }
    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
    public String getCountry() {
        return country;
    }
    public void setCountry(String country) {
        this.country = country;
    }
    public String getFormattedLocation() {
        return formattedLocation;
    }
    public void setFormattedLocation(String formattedLocation) {
        this.formattedLocation = formattedLocation;
    }
    public String getSource() {
        return source;
    }
    public void setSource(String source) {
        this.source = source;
    }
    public String getDate() {
        return date;
    }
    public void setDate(String date) {
        this.date = date;
    }
    public String getSnippet() {
        return snippet;
    }
    public void setSnippet(String snippet) {
        this.snippet = snippet;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getOnmousedown() {
        return onmousedown;
    }
    public void setOnmousedown(String onmousedown) {
        this.onmousedown = onmousedown;
    }
    public String getLattitude() {
        return lattitude;
    }
    public void setLattitude(String lattitude) {
        this.lattitude = lattitude;
    }
    public String getLongitude() {
        return longitude;
    }
    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }
    public String getJobkey() {
        return jobkey;
    }
    public void setJobkey(String jobkey) {
        this.jobkey = jobkey;
    }
    public String getSponsored() {
        return sponsored;
    }
    public void setSponsored(String sponsored) {
        this.sponsored = sponsored;
    }
    public String getExpired() {
        return expired;
    }
    public void setExpired(String expired) {
        this.expired = expired;
    }
    public String getFormattedLocationFull() {
        return formattedLocationFull;
    }
    public void setFormattedLocationFull(String formattedLocationFull) {
        this.formattedLocationFull = formattedLocationFull;
    }
    public String getFormattedRelativeTime() {
        return formattedRelativeTime;
    }
    public void setFormattedRelativeTime(String formattedRelativeTime) {
        this.formattedRelativeTime = formattedRelativeTime;
    }
    public String getDetails() {
        String result = jobtitle + ": " + company + "\n" + city + "-" + state
                + "\n" + country + "\n" + formattedLocation +"\n" + source+"\n"+date+
                "\n"+snippet+"\n"+url+"\n"+onmousedown+"\n"+lattitude+"\n"+longitude+"\n"
                +jobkey+"\n"+sponsored+"\n"+expired+"\n"+formattedLocationFull+"\n"+formattedRelativeTime;
        return result;
    }
}

1 个答案:

答案 0 :(得分:0)

我刚刚更新了我的代码,它对我来说很好。我在这里发帖,所以任何人都可以根据需要使用。

MarkFav.java

public class MarkAsFav extends Activity {

    private DBHelper mydb;

    TextView header;

    int id_To_Update = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mark_fav_layout);
        header = (TextView) findViewById(R.id.editTextName);

        mydb = new DBHelper(this);
        mydb.getWritableDatabase();

        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            int value = extras.getInt("id");

            if (value > 0) {
                //means this is the view part not the add contact part.
              /*  Cursor rs = mydb.getData(value);
                id_To_Update = value;
                rs.moveToFirst();

                String nam = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_NAME));

                if (!rs.isClosed()) {
                    rs.close();
                }
                Button b = (Button) findViewById(R.id.button1);
                b.setVisibility(View.INVISIBLE);

                header.setText( nam);
                header.setFocusable(false);
                header.setClickable(false);*/

            }
        }
    }


    public void run(View view) {
        Bundle extras = getIntent().getExtras();
        if (extras != null) {

            int value     =   extras.getInt("id");
            String headerValue = header.getText().toString();
            String value1 =   extras.getString("title");
            String value2 =   extras.getString("company");
            String value3 =   extras.getString("city");
            String value4 =   extras.getString("state");
            String value5 =   extras.getString("country");
            String value6 =   extras.getString("formattedLocation");
            String value7 =   extras.getString("source");
            String value8 =   extras.getString("date");
            String value9 =   extras.getString("snippet");
            String value10=   extras.getString("url");
            String value11=   extras.getString("onmousedown");
            String value12=   extras.getString("lattitude");
            String value13=   extras.getString("longitude");
            String value14=   extras.getString("jobkey");
            String value15=   extras.getString("sponsored");
            String value16=   extras.getString("expired");
            String value17=   extras.getString("formattedLocationFull");
            String value18=   extras.getString("formattedRelativeTime");


            Log.e("ERROR", "Inside run and checking Value and val");
            if (value > 0) {
                /*if (mydb.updateContact(id_To_Update, header.getText().toString())) {
                    Toast.makeText(getApplicationContext(), "Updated", Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                    startActivity(intent);
                    Log.e("ERROR", "update error");
                } else {
                    Toast.makeText(getApplicationContext(), "not Updated", Toast.LENGTH_SHORT).show();
                }
            }
            else {*/
                if (mydb.insertContact(headerValue, value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,value11,value12,value13,value14,value15,value16,value17,value18)){
                    Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_SHORT).show();
                    Log.e("ERROR", "insert contact errors");
                } else {
                    Toast.makeText(getApplicationContext(), "not done", Toast.LENGTH_SHORT).show();
                }
                Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                startActivity(intent);
            }
        }
    }
}

DBHelper.java

public class DBHelper extends SQLiteOpenHelper {

    public static final String DATABASE_NAME = "MyDB.db";
    public static final String JOBS_TABLE_NAME = "favourites";
    public static final String JOBS_COLUMN_ID = "id";
    public static final String JOBS_COLUMN_NAME = "name";
    public static final String JOBS_COLUMN_HEADER="header";
    public static final String JOBS_COLUMN_COMPANY="company";
    public static final String JOBS_COLUMN_CITY="city";
    public static final String JOBS_COLUMN_STATE="state";
    public static final String JOBS_COLUMN_COUNTRY="country";
    public static final String JOBS_COLUMN_FORMATEDLOCATION="formatedLocation";
    public static final String JOBS_COLUMN_SOURCE="source";
    public static final String JOBS_COLUMN_DATE="date";
    public static final String JOBS_COLUMN_SNIPPET="snippet";
    public static final String JOBS_COLUMN_URL="url";
    public static final String JOBS_COLUMN_ONMOUSEDOWN="onmousedown";
    public static final String JOBS_COLUMN_LATTITUDE="lattitude";
    public static final String JOBS_COLUMN_LONGITUDE="longitude";
    public static final String JOBS_COLUMN_JOBKEY="jobkey";
    public static final String JOBS_COLUMN_SPONSORED="sponsored";
    public static final String JOBS_COLUMN_EXPIRED="expired";
    public static final String JOBS_COLUMN_FORMATTEDLOCATIONFULL="formattedLocationFull";
    public static final String JOBS_COLUMN_FORMATTEDRELATIVETIME="formattedRelativeTime";
    private HashMap hp;


    public DBHelper(Context context)
    {
        super(context, DATABASE_NAME , null, 1);
    }

    @Override
   /* public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL(
                "create table" + JOBS_TABLE_NAME  +
                        "("+JOBS_COLUMN_ID+" integer primary key autoincrement, "+JOBS_COLUMN_HEADER+" text, "+JOBS_COLUMN_NAME+" text,"+JOBS_COLUMN_COMPANY+" text, "+JOBS_COLUMN_CITY+" text, "+JOBS_COLUMN_STATE+" text, "+JOBS_COLUMN_COUNTRY+" text,"+JOBS_COLUMN_FORMATEDLOCATION+" text,"+JOBS_COLUMN_SOURCE+" text,"+JOBS_COLUMN_DATE+" text,"+JOBS_COLUMN_SNIPPET+" text,"+JOBS_COLUMN_COMPANY+" text,"+JOBS_COLUMN_URL+"text,"+JOBS_COLUMN_ONMOUSEDOWN+" text,"+JOBS_COLUMN_LATTITUDE+" text,"+JOBS_COLUMN_LONGITUDE+"text,"+JOBS_COLUMN_JOBKEY+" text,"+JOBS_COLUMN_SPONSORED+" text,"+JOBS_COLUMN_EXPIRED+" text,"+JOBS_COLUMN_FORMATTEDLOCATIONFULL+" text,"+JOBS_COLUMN_FORMATTEDRELATIVETIME+" text)"
        );*/
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL(
                "create table" + JOBS_TABLE_NAME  +
                        "("+JOBS_COLUMN_ID+" integer primary key autoincrement, "+JOBS_COLUMN_HEADER+" Text, "+JOBS_COLUMN_NAME+" Text,"+JOBS_COLUMN_COMPANY+" Text, "+JOBS_COLUMN_CITY+" Text, "+JOBS_COLUMN_STATE+" Text, "+JOBS_COLUMN_COUNTRY+" Text,"+JOBS_COLUMN_FORMATEDLOCATION+" Text,"+JOBS_COLUMN_SOURCE+" Text,"+JOBS_COLUMN_DATE+" Text,"+JOBS_COLUMN_SNIPPET+" Text,"+JOBS_COLUMN_COMPANY+" Text,"+JOBS_COLUMN_URL+"Text,"+JOBS_COLUMN_ONMOUSEDOWN+" Text,"+JOBS_COLUMN_LATTITUDE+" Text,"+JOBS_COLUMN_LONGITUDE+"Text,"+JOBS_COLUMN_JOBKEY+" Text,"+JOBS_COLUMN_SPONSORED+" Text,"+JOBS_COLUMN_EXPIRED+" Text,"+JOBS_COLUMN_FORMATTEDLOCATIONFULL+" Text,"+JOBS_COLUMN_FORMATTEDRELATIVETIME+" Text)"
        );
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        db.execSQL("DROP TABLE IF EXISTS favourites");
        onCreate(db);
    }

    public boolean insertContact(String header, String name,String company,String city,String state,String country,String formattedLocation,String source,String date,String snippet,String url,String onmousedown,String lattitude,String longitude,String jobkey,String sponsored,String expired, String formattedLocationFull,String formattedRelativeTime)
    {
        SQLiteDatabase db =  this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        //contentValues.put("id",id);
        contentValues.put(JOBS_COLUMN_HEADER,header);
        contentValues.put(JOBS_COLUMN_NAME, name);
        contentValues.put(JOBS_COLUMN_COMPANY, company);
        contentValues.put(JOBS_COLUMN_CITY, city);
        contentValues.put(JOBS_COLUMN_STATE, state);
        contentValues.put(JOBS_COLUMN_COUNTRY, country);
        contentValues.put(JOBS_COLUMN_FORMATEDLOCATION, formattedLocation);
        contentValues.put(JOBS_COLUMN_SOURCE, source);
        contentValues.put(JOBS_COLUMN_DATE, date);
        contentValues.put(JOBS_COLUMN_SNIPPET, snippet);
        contentValues.put(JOBS_COLUMN_URL, url);
        contentValues.put(JOBS_COLUMN_ONMOUSEDOWN, onmousedown);
        contentValues.put(JOBS_COLUMN_LATTITUDE, lattitude);
        contentValues.put(JOBS_COLUMN_LONGITUDE, longitude);
        contentValues.put(JOBS_COLUMN_JOBKEY, jobkey);
        contentValues.put(JOBS_COLUMN_SPONSORED, sponsored);
        contentValues.put(JOBS_COLUMN_EXPIRED, expired);
        contentValues.put(JOBS_COLUMN_FORMATTEDLOCATIONFULL, formattedLocationFull);
        contentValues.put(JOBS_COLUMN_FORMATTEDRELATIVETIME, formattedRelativeTime);

        db.insert("favourites", null, contentValues);
        return true;
    }

    public Cursor getData(int id){
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor res =  db.rawQuery( "select * from favourites where id="+id+"", null );
        return res;
    }

   /* public int numberOfRows(){
        SQLiteDatabase db = this.getReadableDatabase();
        int numRows = (int) DatabaseUtils.queryNumEntries(db, JOBS_TABLE_NAME);
        return numRows;
    }*/

    public boolean updateContact (Integer id, String name)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put("name", name);

        db.update("favourites", contentValues, "id = ? ", new String[] { Integer.toString(id) } );
        return true;
    }

    public Integer deleteContact (Integer id)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        return db.delete("favourites",
                "id = ? ",
                new String[] { Integer.toString(id) });
    }

    public ArrayList<String> getAllCotacts()
    {
        ArrayList<String> array_list = new ArrayList<String>();

        //hp = new HashMap();
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor res =  db.rawQuery( "select * from favourites", null );
        res.moveToFirst();

        while(res.isAfterLast() == false){
            array_list.add(res.getString(res.getColumnIndex(JOBS_COLUMN_NAME)));
            res.moveToNext();
        }
        return array_list;
    }
}