|
|
|
Android ช่วยทำการส่งค่าไปอีก Activity ด้วยครับ ส่งค่าของ SQLite Intent เพื่อเอาไปเช็คเงื่อนไข SELECT ของ Database |
|
|
|
|
|
|
|
ผมต้องการให้คลิกที่ประเภทอาหาร แล้วไปยังหน้า ShowFoodActivity.java แล้วให้ทำการ Select ข้อมูลขึ้นมา โดย WHERE จากตัวแปรที่ส่งค่าไปจากหน้า MainActivity.java
MainActivity.java
final FoodTypeDBClass myDb = new FoodTypeDBClass(this);
String myData[] = myDb.SelectAllData();
ListView listViewFoodType = (ListView)findViewById(R.id.listViewFoodType);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, myData);
listViewFoodType.setAdapter(adapter);
final FoodDBClass FoodDb = new FoodDBClass(this);
final ArrayList<HashMap<String, String>> FoodList = FoodDb.SelectAllData();
listViewFoodType.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> myAdapter, View myView, int position, long mylng) {
Intent newActivity = new Intent(MainActivity.this,ShowFoodActivity.class);
newActivity.putExtra("FoodIDType", FoodList.get(position).get("food_calorie_type").toString());
startActivity(newActivity);
}
});
ใส่แบบนี้แล้ว Error ตรง getIntent() มันให้สร้าง method()
String setFoodIDType = getIntent().getStringExtra("FoodIDType");
String strSQL = "SELECT * FROM " + TABLE_FOOD + " WHERE food_calorie_type = " + setFoodIDType;
ShowFoodActivity.java
public ArrayList<HashMap<String, String>> SelectAllData(){
try{
ArrayList<HashMap<String, String>> MyArrList = new ArrayList<HashMap<String,String>>();
HashMap<String, String> map;
SQLiteDatabase db;
db = this.getReadableDatabase();
String setFoodIDType = getIntent().getStringExtra("FoodIDType");
String strSQL = "SELECT * FROM " + TABLE_FOOD + " WHERE food_calorie_type = " + setFoodIDType;
Cursor cursor = db.rawQuery(strSQL, null);
if(cursor != null){
if(cursor.moveToFirst()){
do{
map = new HashMap<String, String>();
map.put("food_calorie_id", cursor.getString(0));
map.put("food_calorie_name", cursor.getString(1));
map.put("food_calorie_qty", cursor.getString(2));
map.put("food_calorie_volume", cursor.getString(3));
map.put("food_calorie_kcal", cursor.getString(4));
map.put("food_calorie_type", cursor.getString(5));
MyArrList.add(map);
} while (cursor.moveToNext());
}
}
cursor.close();
db.close();
return MyArrList;
} catch (Exception e) {
return null;
}
}
Tag : Mobile, MySQL, Android, JAVA, Mobile
|
ประวัติการแก้ไข 2015-02-02 17:04:12 2015-02-02 17:04:37 2015-02-02 17:04:50 2015-02-02 17:05:59 2015-02-02 17:06:33 2015-02-02 17:15:17
|
|
|
|
|
Date :
2015-02-02 17:02:38 |
By :
l3ios |
View :
1521 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
บอกแนวทางครับ
คลิกแก้ไข
Android Edit Update Data in SQLite Database (Android SQLite)
|
|
|
|
|
Date :
2015-02-02 17:18:39 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Intent intent= getIntent();
final String FoodIDType = intent.getStringExtra("FoodIDType");
Toast.makeText(getApplicationContext(), FoodIDType, Toast.LENGTH_LONG).show();
ผมลองใส่ให้มันแจ้งเตือนว่าส่งเลขอะไรไป ปรากฎว่ามันออกแค่เลข 1 ตรงประเภทอาหารอ่าครับ ผมคลิกรายการที่ 2 มันก็ยังส่ง 1 ไป แทนที่จะส่ง 2 ไป
แล้วถ้าผมต้องการส่งค่าตัวแปรไปเช็คในไฟล์ FoodDBClass เลยจะได้ไหมครับ
ผมจะเอาไปเช็คที่เงื่อนไข SELECT * FROM TABLE WHERE ตามด้วยเงื่อนไข;
แบบนี้จะได้ไหมครับ พอดีดู Update แล้วไม่เข้าใจอ่าครับ
public ArrayList<HashMap<String, String>> SelectAllData(){
try{
ArrayList<HashMap<String, String>> MyArrList = new ArrayList<HashMap<String,String>>();
HashMap<String, String> map;
SQLiteDatabase db;
db = this.getReadableDatabase();
String strSQL = "SELECT * FROM " + TABLE_FOOD + " WHERE food_calorie_type = " + เงื่อนไข;
Cursor cursor = db.rawQuery(strSQL, null);
if(cursor != null){
if(cursor.moveToFirst()){
do{
map = new HashMap<String, String>();
map.put("food_calorie_id", cursor.getString(0));
map.put("food_calorie_name", cursor.getString(1));
map.put("food_calorie_qty", cursor.getString(2));
map.put("food_calorie_volume", cursor.getString(3));
map.put("food_calorie_kcal", cursor.getString(4));
map.put("food_calorie_type", cursor.getString(5));
MyArrList.add(map);
} while (cursor.moveToNext());
}
}
cursor.close();
db.close();
return MyArrList;
} catch (Exception e) {
return null;
}
}
|
ประวัติการแก้ไข 2015-02-03 07:52:31 2015-02-03 07:55:18 2015-02-03 07:55:49 2015-02-03 07:56:13 2015-02-03 07:56:32 2015-02-03 07:57:58 2015-02-03 20:35:34
|
|
|
|
Date :
2015-02-03 07:52:11 |
By :
l3ios |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Debug ดูครับ ตอนทีคลิกส่งค่า
|
|
|
|
|
Date :
2015-02-03 09:57:54 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|