package com.valles.rssreader; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import nl.matshofman.saxrssreader.RssFeed; import nl.matshofman.saxrssreader.RssItem; import nl.matshofman.saxrssreader.RssReader; import com.valles.rssreader.db.RssDbHelper; import com.valles.rssreader.db.RssContract.FeedsTable; import com.valles.rssreader.db.RssContract.SourceTable; import android.app.Activity; import android.content.ContentValues; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class SourceCreation extends Activity{ public RssDbHelper helper = new RssDbHelper(this); private EditText SourceName; private EditText SourceURL; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.source_creation); SourceName = (EditText)findViewById(R.id.s_text_name); SourceURL = (EditText)findViewById(R.id.s_text_url); final Button Aceptar = (Button) findViewById(R.id.s_button_save); Aceptar.setOnClickListener(new OnClickListener() { public void onClick(View v) { SaveSource(); } }); } public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { Salir(); return true; } return false; } public void Salir(){ Intent intent = new Intent(SourceCreation.this, ArticleListActivity.class); startActivity(intent); } public void CheckFields(){ try { if( SourceName.getText().toString() != "" || SourceURL.getText().toString() != ""){ URL url = new URL(SourceURL.getText().toString()); RssFeed feed = RssReader.read(url); ArrayList<RssItem> rssItems = feed.getRssItems(); if(rssItems.size() > 0 && rssItems != null){ SaveSource(); } else{ Toast.makeText(SourceCreation.this, R.string.no_connect_url, Toast.LENGTH_SHORT).show(); } }else{ Toast.makeText(SourceCreation.this, R.string.complet_fields, Toast.LENGTH_SHORT).show(); } } catch (Exception e) { Toast.makeText(SourceCreation.this, "Error al conectar con " + SourceURL.getText().toString(), Toast.LENGTH_SHORT).show(); Log.d("RSS","Error " + e + " al conectar con " + SourceURL.getText().toString()); } } public void SaveSource(){ ContentValues values = new ContentValues(); values.put(SourceTable.NAME, SourceName.getText().toString()); values.put(SourceTable.URL, SourceURL.getText().toString()); values.put(SourceTable.IMAGE, R.drawable.feed_imgen); final SQLiteDatabase WDB = helper.getWritableDatabase(); WDB.insert(SourceTable.TABLE_NAME, null, values ); WDB.close(); Toast.makeText(SourceCreation.this, R.string.added_source, Toast.LENGTH_SHORT).show(); Salir(); } }