Reputation: 21
i was trying to use intent pass data from MainActivity class down below to DBManager class, but i've failed at the moment.
so please tell me how if there is anyway to use intent data from another class i will appreaciate it.
public class MainActivity extends Activity{
private ViewPager mPager;
private DBManager dbManager;
private DatePicker datePicker;
String selectedDate;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pager);
dbManager = new DBManager(getApplicationContext(),"Calorie_test1.db",null,1);
mPager = (ViewPager)findViewById(R.id.pager);
mPager.setAdapter(new PagerAdapterClass(getApplicationContext()));
mPager.setCurrentItem(1);
mPager.setPageTransformer(false, new ViewPager.PageTransformer()
{
@Override
public void transformPage(View page, float position)
{
// TODO Auto-generated method stub
float normalizedposition = Math.abs(1 - Math.abs(position));
page.setAlpha(normalizedposition);
page.setScaleX(normalizedposition / 2 + 0.5f);
page.setScaleY(normalizedposition / 2 + 0.5f);
page.setRotationY(position * 80);
}
});
}
/*@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}*/
private void setCurrentInflateItem(int type){
if(type==0){
mPager.setCurrentItem(0);
}else if(type==1){
mPager.setCurrentItem(1);
}else{
mPager.setCurrentItem(2);
}
}
/**
* PagerAdapter
*/
private class PagerAdapterClass extends PagerAdapter
{
private LayoutInflater mInflater;
public PagerAdapterClass(Context c){
super();
mInflater = LayoutInflater.from(c);
}
@Override
public int getCount() {
return 3;
}
@Override
public Object instantiateItem(View pager, int position) {
View v = null;
ProgressBar progressExercise;
ProgressBar progressFood;
int exerciseCalorie;
int calorie;
if(position==0){
v = mInflater.inflate(R.layout.side_menu, null);
}
else if(position==1){
v = mInflater.inflate(R.layout.activity_main, null);
datePicker = (DatePicker)v.findViewById(R.id.datepicker);
datePicker.init(datePicker.getYear(),
datePicker.getMonth(),
datePicker.getDayOfMonth(),
new DatePicker.OnDateChangedListener()
{
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
*selectedDate* = String.format("%d%d%d",year,monthOfYear+1,dayOfMonth);
//Intent intent = new Intent(MainActivity.this,DBManager.class);
//intent.putExtra("selectedDate",uri.toString());
//uri = intent.getParcelableExtra("uri");
Intent intent = new Intent(MainActivity.this,DBManager.class);
intent.putExtra("selectedDate",selectedDate);
}
});
//Intent intent = getIntent();
//int calorieExercise = intent.getIntExtra("calorieExercise",0);
progressExercise = (ProgressBar)v.findViewById(R.id.progressExercise);
progressExercise.setMax(500);
//progressExercise.setProgress(calorieExercise);
progressExercise.setProgress(dbManager.getExercise_Calorie());
//int calorieFood = intent.getIntExtra("calorieFood",0);
progressFood = (ProgressBar)v.findViewById(R.id.progressCalorie);
progressFood.setMax(2400);
progressFood.setProgress(dbManager.getFood_Calorie());
}else if(position== 2){
v = mInflater.inflate(R.layout.program_list, null);
v.findViewById(R.id.btn_food).setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(MainActivity.this, FoodsearchActivity.class);
startActivity(intent);
finish();
}
});
v.findViewById(R.id.btn_exercise).setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(MainActivity.this,ExerciseActivity.class);
startActivity(intent);
finish();
}
});
v.findViewById(R.id.btn_fermeted).setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(MainActivity.this,FermentedActivity.class);
startActivity(intent);
finish();
}
});
}
((ViewPager)pager).addView(v, 0);
return v;
}
@Override
public void destroyItem(View pager, int position, Object view) {
((ViewPager)pager).removeView((View)view);
}
@Override
public boolean isViewFromObject(View pager, Object obj) {
return pager == obj;
}
@Override public void restoreState(Parcelable arg0, ClassLoader arg1) {}
@Override public Parcelable saveState() { return null; }
@Override public void startUpdate(View arg0) {}
@Override public void finishUpdate(View arg0) {}
}
}
///
public class DBManager extends SQLiteOpenHelper{
public DBManager(Context context, String name, SQLiteDatabase.CursorFactory factory, int version){
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db)
{
db.execSQL("CREATE TABLE test_table(_id INTEGER PRIMARY KEY AUTOINCREMENT, calorie_exercise INTEGER, calorie_food INTEGER, date_ TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
}
public void insert(String _query)
{
SQLiteDatabase db = getWritableDatabase();
db.execSQL(_query);
db.close();
}
public int getExercise_Calorie()
{
SQLiteDatabase db = getReadableDatabase();
int calorie = 0;
//Intent selectedDate = Intent.getIntent("selectedDate");
//String date = selectedDate.getStringExtra("selectedDate");
Test aa = new Test();
String date = aa.getSelectedDate();
Log.d("log.d",String.valueOf(date));
Cursor cursor = db.rawQuery("select * from test_table where date_ = '" + date + "';", null);
//Cursor cursor = db.rawQuery("select * from test_table",null);
while(cursor.moveToNext())
{
calorie += cursor.getInt(1);
}
return calorie;
}
public int getFood_Calorie()
{
SQLiteDatabase db = getReadableDatabase();
int calorie = 0;
Cursor cursor = db.rawQuery("select * from test_table",null);
while(cursor.moveToNext())
{
calorie += cursor.getInt(2);
}
return calorie;
}
}
Upvotes: 0
Views: 134
Reputation: 1375
You haven't started the next activity after putting data in the Intent.
Intent intent = new Intent(MainActivity.this,DBManager.class);
intent.putExtra("selectedDate",selectedDate);
startActivity(intent);
Upvotes: 3