Android應用之個人應用軟體開發(2)【簽到功能和記賬】

來源:互聯網
上載者:User

最近白天都有點忙,明天還要上班,惱火啊···現在才有空把這兩篇文章發出來···

上次說了一個思路,那首先就是把UI弄出來。

android給我們提供了幾種資料存放區的方法:

1,Shared Preferences 2,sqlite database

利用SharedPreference來做一些簡單的小功能還是很不錯的。

下面我們來實現一個簽到的功能。

      先來看看簽到功能:

      主要就是進入理財介面有個類似提示今日是否進行過操作的記錄,主要目的就是提醒是否今天已經進行過添加記賬,而且在介面UI上面多弄這樣一個簡單的小功能也是很好看很不錯的。呵呵,做了兩張小圖,一個是“簽到” 一個是“未簽到” 那接下來就看看代碼怎麼寫的。

     首先定義一下共用優先資料基礎欄位:

    

     //定義共用優先資料及基礎欄位
private String MY_RMBCost ="MY_RMBCost";

private String TodayTime ="TodayTime";

     然後就是處理簽到的功能:

Time t = new Time();
t.setToNow();
int lastmonth = t.month + 1 ;
final String str = t.year + "年" + lastmonth + "月" + t.monthDay + "日";


final String nowtime =my_rmb_data.getString(TodayTime, "").toString();

if(nowtime.equals(str)==true)
{
tv_time.setText("日期:"+ nowtime +"已簽到!");
bt_qiandao.setBackgroundResource(R.drawable.yqd);
}
else
{
tv_time.setText("日期:"+ str);
bt_qiandao.setBackgroundResource(R.drawable.qd);
}

頁面的全部代碼:

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.format.Time;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class myrmbmanage extends Activity {

//定義共用優先資料及基礎欄位
private String MY_RMBCost ="MY_RMBCost";

private String TodayTime ="TodayTime";

public void onCreate(Bundle savedInstanceState ){
super.onCreate(savedInstanceState);
setContentView(R.layout.myrmbmanage);
final Button bt_qiandao = (Button)findViewById(R.id.bt_qiandao);
final TextView tv_time = (TextView)findViewById(R.id.tv_qiandaotime);
final Button bt_jz = (Button)findViewById(R.id.bt_jz);

//讀取共用資料
SharedPreferences my_rmb_data = getSharedPreferences(MY_RMBCost, 0);

Time t = new Time();
t.setToNow();
int lastmonth = t.month + 1 ;
final String str = t.year + "年" + lastmonth + "月" + t.monthDay + "日";


final String nowtime =my_rmb_data.getString(TodayTime, "").toString();

if(nowtime.equals(str)==true)
{
tv_time.setText("日期:"+ nowtime +"已簽到!");
bt_qiandao.setBackgroundResource(R.drawable.yqd);
}
else
{
tv_time.setText("日期:"+ str);
bt_qiandao.setBackgroundResource(R.drawable.qd);
}

//按鈕操作部分

//簽到功能
bt_qiandao.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
SharedPreferences my_rmb_data = getSharedPreferences(MY_RMBCost, 0);
if(my_rmb_data.getString(TodayTime, "").toString().equals(str)==true)
{
Toast.makeText( myrmbmanage.this , "今日已簽到!", Toast.LENGTH_SHORT).show();
}
else
{
my_rmb_data.edit()
.putString(TodayTime, str)
.commit();
tv_time.setText("日期:"+ str +"已簽到!");
bt_qiandao.setBackgroundResource(R.drawable.yqd);
Toast.makeText( myrmbmanage.this , "簽到成功!", Toast.LENGTH_SHORT).show();
}
}
});

//記賬
bt_jz.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent( myrmbmanage.this, todayspend.class);
startActivity(intent);
}
});

}
}

  簽到功能只用到了 SharedPreferences ,而且如果我們擁有的是大量的資料,並且要隨掉隨用的方法那就得用到Sqlite database了。下一節說一下把這些和資料相關的東西分層,畢竟一個規整乾淨的代碼才是我們想見到的。

  然後再來看一下記賬功能的UI:

   上半部分同樣繼承了簽到功能,還有把詳細需要填寫開銷表單列出來了。簡單易用就是我們想要的功能,我只想在以後我想記賬的時候達到一鍵添加就可以紀錄我今天的理財記賬。下半部分主要顯示了今日和昨日的開銷資訊,這樣也有一個對比,昨天和今天的開資就一目瞭然了,哈哈。最重要的是下拉式清單,有一個很重要的功能就是我們需要下拉式清單顯示這個月已經添加賬目的日期,並且選中之後賦值到表單中可以進行修改編輯。也達到了查詢任意一天的賬目開銷情況。那麼我們整個UI就基本具有了這樣預期的功能了。下一節我們就來實現這個功能。

  關於Sqlite database資料訪問的東西下一節貼出來,也希望大家相互交流,如果有能改進的地方大家相互學習。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.