androidstudio获取系统时间,并显示到listview中

网上看了很多获取时间的例子,总是觉得没有达到自己的要求。终于在我偶然的一次查找中,发现了可以向钉钉一样的时间机制,正好是我们需要的,特再次记录下来。
小伙伴们看见下面长长的代码不要放弃,我原意是提炼出重点,但是网上有很多这样的,对于新手来说无法下手,就像我这样的。所以我贴了整个activity的,方便小伙们理解,当然。所有关于时间的代码我已经全部备注了,拿来即用。
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.text.SimpleDateFormat;
import java.util.Date;

public class InsertActivity extends Activity {

private MyDatabaseOpenHelper dbOpenHelper;

//******************下面是时间
private TextView tv_time;
private static final int msgKey1 = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_insert);


    //***************************下面是时间的代码  两行*****************************************************
    tv_time = (TextView) findViewById(R.id.zhucetime);
    new TimeThread().start();
    //**********************************************************

    dbOpenHelper = new MyDatabaseOpenHelper(this);
    final EditText etname =(EditText) findViewById(R.id.add_name);
    final EditText etID =(EditText) findViewById(R.id.add_ID);
    final TextView ettime =(TextView) findViewById(R.id.zhucetime);
    Button btn_Save =(Button)findViewById(R.id.save_btn);
    //Button btn_Cancel =(Button)findViewById(R.id.cancel_btn1);

    btn_Save.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String name =etname.getText().toString();
            String ID =etID.getText().toString();
            String time=ettime.getText().toString();
            if (name.equals("")||ID.equals("")||time.equals("")){
                Toast.makeText(InsertActivity.this,"输入不全,请重新输入:",Toast.LENGTH_SHORT).show();
            }
            else {
                //调用insertData方法,实现插入数据
                insertData(dbOpenHelper.getReadableDatabase(),name,ID,time);
                //显示提示信息
                Toast.makeText(InsertActivity.this,"添加成功!",Toast.LENGTH_LONG).show();

            }
            finish();
        }
    });
    /*
    下面是返回主界面的代码,由于这儿出现了bug,特将他去diao,
    这个bug是   我们登陆时往主界面传了一个值就是用户名
                但是我们从此界面向主界面走的过程中,他没有传用户名,所以出现此问题
                解决方法是把这个按钮不要了,直接用案桌手机自定义的返回建
                因为我们不是苹果开发,所以暂时不考虑返回间的问题

                当然,该天肯定会解决这个问题

    btn_Cancel.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(InsertActivity.this,MainActivity.class);
            startActivity(intent);
            finish();
        }
    });*/
}

private void insertData(SQLiteDatabase readableDatabase, String name, String ID, String time){
    //生词ContentValues对象
    ContentValues values =new ContentValues();
    //向该对象当中插入键值对,其中键是列名,值是希望插入这一列的值,值必须和数据库的数据类型匹配
    values.put("name",name);//保存联系人
    values.put("ID",ID);//保存电话
    values.put("time",time);
    readableDatabase.insert("dict",null,values);//执行插入操作
}



//*****************************************下面是时间的代码***************************************
/*
本次是利用丁丁的达卡软件而来的设计思路
 */

public class TimeThread extends  Thread{
    @Override
    public void run() {
        super.run();
        do{
            try {
                Thread.sleep(1000);
                Message msg = new Message();
                msg.what = msgKey1;
                mHandler.sendMessage(msg);

            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }while (true);
    }
}
private Handler mHandler = new Handler(){
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        switch (msg.what){
            case msgKey1:
                long time = System.currentTimeMillis();
                Date date = new Date(time);
                SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分 EEE");
                tv_time.setText(format.format(date));
                break;
            default:
                break;
        }
    }
};

/*
private Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case msgKey1:
long time = System.currentTimeMillis();
Date date = new Date(time);
SimpleDateFormat format = new SimpleDateFormat(“yyyy年MM月dd日 HH时mm分ss秒 EEE”);
tv_time.setText(format.format(date));
break;
default:
break;
}
}
};
*/
/*
时间的代码结束
*/
}

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值