我怎样才能从得到的EditText的日期,然后将其存储在数据库中的Andr​​oid [英] How can i get the date from the EditText and then store it in database in Android

查看:164
本文介绍了我怎样才能从得到的EditText的日期,然后将其存储在数据库中的Andr​​oid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用在用户输入自己的出生日期用户输入一个EditText。在EditText上的输入类型为日期,然后我传递的日期变量。该日期不通过该变量,并给予一定的误差。

在code我使用低于

 编辑DOB =(EditText上)findViewById(R.id.dob);
    SimpleDateFormat的SDF =新的SimpleDateFormat(YYYY / MM / DD);
    串dob_var = sdf.format(dob.getText());
    //dob_var=dob.getText()的toString()。
    的System.out.println(dob_var);

这之后我想通过在数据库中的日期,以便有什么类型需要存储在数据库中的日期。
我logcat的是:

  16 04-05:54:22.060:D / AndroidRuntime(3104):关闭VM
04-05 16:54:22.146:E / AndroidRuntime(3104):致命异常:主要
04-05 16:54:22.146:E / AndroidRuntime(3104):了java.lang.RuntimeException:无法启动活动ComponentInfo {} com.foursquaregame.in/com.foursquaregame.in.Astro_talk:java.lang.IllegalArgumentException异常
04-05 16:54:22.146:E / AndroidRuntime(3104):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
04-05 16:54:22.146:E / AndroidRuntime(3104):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
04-05 16:54:22.146:E / AndroidRuntime(3104):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
04-05 16:54:22.146:E / AndroidRuntime(3104):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)
04-05 16:54:22.146:E / AndroidRuntime(3104):在android.os.Handler.dispatchMessage(Handler.java:99)
04-05 16:54:22.146:E / AndroidRuntime(3104):在android.os.Looper.loop(Looper.java:123)
04-05 16:54:22.146:E / AndroidRuntime(3104):在android.app.ActivityThread.main(ActivityThread.java:4627)
04-05 16:54:22.146:E / AndroidRuntime(3104):在java.lang.reflect.Method.invokeNative(本机方法)
04-05 16:54:22.146:E / AndroidRuntime(3104):在java.lang.reflect.Method.invoke(Method.java:521)
04-05 16:54:22.146:E / AndroidRuntime(3104):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
04-05 16:54:22.146:E / AndroidRuntime(3104):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-05 16:54:22.146:E / AndroidRuntime(3104):在dalvik.system.NativeStart.main(本机方法)
04-05 16:54:22.146:E / AndroidRuntime(3104):因:java.lang.IllegalArgumentException异常
04-05 16:54:22.146:E / AndroidRuntime(3104):在java.text.DateFormat.format(DateFormat.java:373)
04-05 16:54:22.146:E / AndroidRuntime(3104):在java.text.Format.format(Format.java:133)
04-05 16:54:22.146:E / AndroidRuntime(3104):在com.foursquaregame.in.Astro_talk.onCreate(Astro_talk.java:32)
04-05 16:54:22.146:E / AndroidRuntime(3104):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-05 16:54:22.146:E / AndroidRuntime(3104):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
04-05 16:54:22.146:E / AndroidRuntime(3104):11 ...更多


解决方案

终于明白了,

 日期格式格式化=新的SimpleDateFormat(DD / MM / YYYY); //确保用户插入日期为EditText上这种格式。日期dateObject;尝试{
字符串dob_var =(tx.getText()的toString());dateObject = formatter.parse(dob_var);日期=新的SimpleDateFormat(DD / MM / YYYY)格式(dateObject)。
时间=新的SimpleDateFormat(H:MMAA)格式(dateObject);
}赶上(java.text.ParseException E)
    {
    // TODO自动生成catch块
        e.printStackTrace();
        Log.i(E11111111111,e.toString());
    }    Toast.makeText(getBaseContext(),日期+时间,Toast.LENGTH_LONG).show();

希望这会帮助你...

谢谢...

i am using an edittext for the user input in which user entered his Date of birth. The input type of the edittext is Date and then i am passing that date to a variable. That date is not passed to that variable and giving some error.

The code i am using is below

Edit dob=(EditText)findViewById(R.id.dob);
    SimpleDateFormat sdf = new SimpleDateFormat( "yyyy/MM/dd" );
    String dob_var=sdf.format(dob.getText());
    //dob_var=dob.getText().toString();
    System.out.println(dob_var);

After that i want to pass that date in database so what is the type require to store that date in database. My logcat is:

    04-05 16:54:22.060: D/AndroidRuntime(3104): Shutting down VM
04-05 16:54:22.146: E/AndroidRuntime(3104): FATAL EXCEPTION: main
04-05 16:54:22.146: E/AndroidRuntime(3104): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.foursquaregame.in/com.foursquaregame.in.Astro_talk}: java.lang.IllegalArgumentException
04-05 16:54:22.146: E/AndroidRuntime(3104):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at android.os.Looper.loop(Looper.java:123)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at android.app.ActivityThread.main(ActivityThread.java:4627)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at java.lang.reflect.Method.invokeNative(Native Method)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at java.lang.reflect.Method.invoke(Method.java:521)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at dalvik.system.NativeStart.main(Native Method)
04-05 16:54:22.146: E/AndroidRuntime(3104): Caused by: java.lang.IllegalArgumentException
04-05 16:54:22.146: E/AndroidRuntime(3104):     at java.text.DateFormat.format(DateFormat.java:373)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at java.text.Format.format(Format.java:133)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at com.foursquaregame.in.Astro_talk.onCreate(Astro_talk.java:32)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-05 16:54:22.146: E/AndroidRuntime(3104):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
04-05 16:54:22.146: E/AndroidRuntime(3104):     ... 11 more

解决方案

Finally got it,

DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); // Make sure user insert date into edittext in this format.

Date dateObject;

try{
String dob_var=(tx.getText().toString());

dateObject = formatter.parse(dob_var);

date = new SimpleDateFormat("dd/MM/yyyy").format(dateObject);
time = new SimpleDateFormat("h:mmaa").format(dateObject);
}

catch (java.text.ParseException e) 
    {
    // TODO Auto-generated catch block
        e.printStackTrace();
        Log.i("E11111111111", e.toString());
    }

    Toast.makeText(getBaseContext(), date + time, Toast.LENGTH_LONG).show();

Hope this will help you...

Thanks...

这篇关于我怎样才能从得到的EditText的日期,然后将其存储在数据库中的Andr​​oid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆