0

スターター プロジェクト (私はプログラミングは初めてです) として、現在の時刻 (時と分)、日、月の日付、および年という 4 つの TextView を表示する単純なアプリを作成したいと考えました。比較的単純に思えたので調べてみたところ、以下のコードが思いつきました。アプリの強制終了の理由を説明できる人はいますか? 利用可能なアクセス許可の一覧に、システム時刻の読み取りに関する記述はありませんでした。前もって感謝します。(注: これは私が使用している唯一のクラスとレイアウトです。)

MainActivity.java:

package press.linx.calendar;

import android.os.Bundle;
import android.app.Activity;
import android.text.format.Time;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    TextView day = (TextView)findViewById(R.id.day);
    TextView month = (TextView)findViewById(R.id.month);
    TextView year = (TextView)findViewById(R.id.year);
    TextView time = (TextView)findViewById(R.id.Time);


    Time today = new Time(Time.getCurrentTimezone());
    today.setToNow();

    day.setText(today.monthDay);             // Day of the month (0-31)
    month.setText(today.month);              // Month (0-11)
    year.setText(today.year);                // Year 
    time.setText(today.format("%k:%M:%S"));  // Current time
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

 }

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
    android:id="@+id/day"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="89dp"
    android:layout_marginTop="32dp"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/Time"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/day"
    android:layout_marginRight="74dp"
    android:layout_marginTop="96dp"
    android:text="TextView" />

<TextView
    android:id="@+id/month"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/day"
    android:layout_below="@+id/Time"
    android:layout_marginLeft="38dp"
    android:layout_marginTop="71dp"
    android:text="Medium Text"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/year"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/month"
    android:layout_below="@+id/month"
    android:layout_marginTop="64dp"
    android:text="Medium Text"
    android:textAppearance="?android:attr/textAppearanceMedium" />

4

3 に答える 3

-1

この Java utils メソッドを使用して、システムの現在の日付と時刻を取得します。

Time dtNow = new Time();
dtNow.setToNow();
String sytem_time_date = dtNow.format("%Y-%m-%d %H:%M:%S"); //use single text view to show
于 2013-04-24T07:04:38.343 に答える