quang cao hosting

Chương Trình Quản Lý Công Việc

Xem: 1943    Tải: 75   Thảo luận: 0   Mục: Android   Lĩnh vực: Khác

0 điểm   ( 6 đánh giá ) File đã được kiểm thử
Miễn Phí [megacode]chuong-trinh-quan-ly-cong-viec.rar (937.70 KB)
Tải miễn phí

Bạn cần phải Đăng nhập để tải file [megacode]chuong-trinh-quan-ly-cong-viec.rar
Nếu bạn chưa có tài khoản thì Đăng ký miễn phí tại đây

Báo lỗi download   Báo vi phạm bản quyền

Hôm nay, mình xin giới thiệu bài Quản Lý Công Việc. Bài này sẽ giới thiệu cho chúng ta biết cách đưa item lên menu , giới thiệu về cách sử dụng SQLiteOpenHelper và cách gọi class và bây giờ chúng ta sẽ bắt đầu với bài : Chương Trình Quản Lý Công Việc

Chào các bạn!!!

Hôm nay, mình xin giới thiệu bài Quản Lý Công Việc. Bài này sẽ giới thiệu cho chúng ta biết cách đưa item lên menu , giới thiệu về cách sử dụng SQLiteOpenHelper và cách gọi class và bây giờ chúng ta sẽ bắt đầu với bài : Chương Trình Quản Lý Công Việc 

  1. Tạo một project mới tên quanlycongviec.
  2. Tạo giao diện chính gồm một TextView và một ListView. Sửa TextView thành quản lý công việc. Ánh xạ nó.
     
  3.  Tạo một class mới tên “QuanLyCongViec” kế thừa từ SQLiteOpenHelper và thêm nội dung như sau:
public class QuanLyCongViec extends SQLiteOpenHelper
{
	public QuanLyCongViec(Context context) 
        {
		super(context, "quanlycongviec",null, 1);
	}

	@Override
	public void onCreate(SQLiteDatabase db) 
        {
		 String sql="create table qlcv" +
		 		"(" +
		 		"_id integer primary key autoincrement," +
		 		"noidung text," +
		 		"thoigian text" +
		 		") ";
		db.execSQL(sql);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
        {
		db.execSQL("drop table if exists qlcv");
		onCreate(db);
	}
}

4. Tạo một class mới tên “CongViec” như sau:

public class CongViec 
{
	public int id;
	public String noidung;
	public String thoigian;
	public CongViec(String nd,String tg)
	{
		this.noidung=nd;
		this.thoigian=tg;
	}
	public CongViec(int id,String nd,String tg)
	{
		this.id=id;
		this.noidung=nd;
		this.thoigian=tg;
	}
}

Tạo menu và activity thêm một công việc

 Eclipse mới đã tự tạo ra một OptionMenu cho ta, ta chỉ cần thêm dữ liệu (Trong MainActivity ta thấy đã override onCreateOptionMenu). Mở file activity_main.xml trong thư mục menu và thêm vào 1 item để được giống mã bên dưới.

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/menu_settings"
        android:orderInCategory="100"
        android:title="@string/menu_settings"/>
    <item
        android:id="@+id/them"
        android:title="them cong viec" />
</menu>
  1. chạy chương trình và ấn vào nút menu xem đã có item “them cong viec ” chưa.
  2. tạo 1 layout mới tên “activity_themcongviec.xml”
  3. Tạo 1 class mới tên “ThemCongViec.class” kế thừa từ activity và override lên hàm onCreate. Gán layout rồi ánh xạ 2 edittext và 1 button.
public class ThemCongViec extends Activity{

	EditText et_noidung,et_thoigian;
	Button bt;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_themcongviec);
		et_noidung=(EditText)findViewById(R.id.editText1);
		et_thoigian=(EditText)findViewById(R.id.editText2);	
	}
}

5. Mở AndroidManifest lên và thêm activity.

<activity
            android:name="com.example.quanlycongviec.ThemCongViec"
            android:label="@string/app_name" >
</activity> 

6. Quay về file chính override lên onOptionsItemSelected và viết như sau:

@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
	switch(item.getItemId())
	{
	case R.id.them:
		Intent i=
		new Intent(getApplicationContext(),ThemCongViec.class);
		startActivityForResult(i,999);
		break;
	}
	return super.onOptionsItemSelected(item);
}

7. Chạy chương trình, nhấp menu chọn thêm công việc để xem đã chuyển qua được activity thêm công việc chưa.

Lấy Dữ Liệu Trả về từ intent, đưa vào database

Mở file “ThemCongViec.java” (activity ThemCongViec) và viết sự kiện nhấn button và trả về giá trị.

bt.setOnClickListener(new View.OnClickListener() 
{	
	@Override
	public void onClick(View v) 
        {
		String noidung=et_noidung.getText().toString();
		String thoigian=et_thoigian.getText().toString();
		Intent i=new Intent();
		i.putExtra("noidung", noidung);
		i.putExtra("thoigian", thoigian);
		setResult(RESULT_OK,i);
		finish();
	}
});

Quay về Activity chính và khai báo biến toàn cục:

QuanLyCongViec quanlycongviec;

Trong hàm onCreate khởi tạo đối tượng:

quanlycongviec=new QuanLyCongViec(this);

Override lên phương thức onActivityResult. Lấy dữ liệu về và gọi hàm để thêm công việc vào database.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	super.onActivityResult(requestCode, resultCode, data);
	if(requestCode==999 && resultCode==RESULT_OK)
	{
		String noidung=data.getStringExtra("noidung");
		String thoigian=data.getStringExtra("thoigian");
		CongViec c=new CongViec(noidung,thoigian);
		quanlycongviec.taoCongViec(c);
	}
}

Đọc dữ liệu từ database đưa lên ListView:

  1. Mở file “QuanLyCongViec.java” và thêm một hàm để lấy tất cả công việc ra:
  2. public ArrayList<CongViec> layCongViec()
    {
    		ArrayList<CongViec> ds_cv=new ArrayList<CongViec>();
    		SQLiteDatabase db=this.getReadableDatabase();
    		Cursor contro=db.rawQuery("select * from qlcv",null);
    		contro.moveToFirst();
    		do
    		{
    			int id=Integer.parseInt(contro.getString(0));
    			String noidung=contro.getString(1);
    			String thoigian=contro.getString(2);
    			CongViec a=new CongViec(id,noidung,thoigian);
    			ds_cv.add(a);
    		}while(contro.moveToNext());
    		return ds_cv;
    }
    Tạo một file xml mới tên “listview_item.xml” và kéo vào 3 TextView, TextView đầu tiên có thuộc tính visibility:gone để không hiển thị(nhưng vẫn tồn tại, nó sẽ chứa id cho dễ quản lý)
  3. <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <TextView
            android:id="@+id/textViewid"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Large Text"
            android:visibility="gone"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <TextView
            android:id="@+id/textViewnoidung"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <TextView
            android:id="@+id/textViewthoigian"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    
    </LinearLayout>
    Quay về file java chính khai báo biến toàn cục:
ArrayList<CongViec> ds_congviec=new ArrayList<CongViec>();

Xây dựng thêm 2 class cục bộ để làm adpater:

public static class View_Mot_O
{
	TextView id;
	TextView noidung;
	TextView thoigian;
}
class myadapter extends BaseAdapter{
	Context context;
	
	myadapter(Context c)
	{
		context=c;
	}
	
	public int getCount() {
		// TODO Auto-generated method stub
		
		return ds_congviec.size();
	}

	public Object getItem(int arg0) {
		// TODO Auto-generated method stub
		return ds_congviec.get(arg0);
	}

	public long getItemId(int arg0) {
		// TODO Auto-generated method stub
		return arg0;//ds_congviec.get(arg0).id;
	}

	public View getView(int arg0, View arg1, ViewGroup arg2) {
		// TODO Auto-generated method stub
		View_Mot_O mot_o;
		LayoutInflater inf= ((Activity)context).getLayoutInflater();
		if(arg1==null)  
		{  
			mot_o = new View_Mot_O();  
			arg1 = inf.inflate(R.layout.listview_item, null);  
			mot_o.id= 
					(TextView) arg1.findViewById(R.id.textViewid);  
			mot_o.noidung = 
					(TextView)arg1.findViewById(R.id.textViewnoidung);
			mot_o.thoigian = 
					(TextView)arg1.findViewById(R.id.textViewthoigian);
			
			arg1.setTag(mot_o);  
		}  
		else
			mot_o=(View_Mot_O)arg1.getTag();
		
		mot_o.id.setText(ds_congviec.get(arg0).id+"");
		mot_o.noidung.setText(ds_congviec.get(arg0).noidung);
		mot_o.thoigian.setText(ds_congviec.get(arg0).thoigian);
	
		return arg1;
	}		
}

Xây dựng một hàm mới tên “docdulieu” để lấy dữ liệu ra và gán lên listview. Tách thành hàm rời để tái sử dụng.

public void docdulieu(Context c)
	{
		ds_congviec=quanlycongviec.layCongViec();
		lv.setAdapter(new myadapter(c));
		
	}

Trong hàm onCreate sau khi tạo qualycongviec xong ta gọi hàm đọc dữ liệu đưa lên listview ở đây dùng try catch để tránh trường hợp khi lần đầu chạy thì làm gì có dữ liệu để đọc ra.

quanlycongviec=new QuanLyCongViec(this);
try{
	docdulieu(this);
    }catch(Exception e)
{}

Chạy chương trình và xem kết quả link download ở trên

Chương Trình Quản Lý Công Việc

Chương Trình Quản Lý Công Việc Đăng ngày 01-04-2014  Hôm nay, mình xin giới thiệu bài Quản Lý Công Việc. Bài này sẽ giới thiệu cho chúng ta biết cách đưa item lên menu , giới thiệu về cách sử dụng SQLiteOpenHelper và cách gọi class và bây giờ chúng ta sẽ bắt đầu với bài : Chương Trình Quản Lý Công Việc 5/10 1943

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 
File gợi ý cho bạn
File tải nhiều nhất
Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2021. All rights reserved. Bản quyền thuộc VinaGon
Email: info@vinagon.com
Hotline: 086.924.3838