Android应用程序,给day一个数字

Android应用程序,给day一个数字,android,string,date,quote,Android,String,Date,Quote,是的,说到安卓系统,我非常在行,我已经构建了一些基本的应用程序,但没有什么大的 我试图做的是创建一个当日报价应用程序,在加载应用程序时,它会根据一年中的哪一天显示一个报价(以字符串列出) 我已经完成了显示字符串引用的主代码。这是可行的,我可以通过更改代码中的条目来选择要显示的报价,或者我已经编写了一些代码来随机显示报价 下一步是根据日期显示报价。为了实现这一点,我想我需要利用手机内置的时钟/日历。我就是从这里脱身的。我已经创建了局部变量daynumber,但是必须以某种方式从时钟中提取数字来填充

是的,说到安卓系统,我非常在行,我已经构建了一些基本的应用程序,但没有什么大的

我试图做的是创建一个当日报价应用程序,在加载应用程序时,它会根据一年中的哪一天显示一个报价(以字符串列出)

我已经完成了显示字符串引用的主代码。这是可行的,我可以通过更改代码中的条目来选择要显示的报价,或者我已经编写了一些代码来随机显示报价

下一步是根据日期显示报价。为了实现这一点,我想我需要利用手机内置的时钟/日历。我就是从这里脱身的。我已经创建了局部变量
daynumber
,但是必须以某种方式从时钟中提取数字来填充它

我的问题是:

我是不是走对了路。我的逻辑正确吗

2如果不是,我该怎么做

3我如何让手机在一年中的某一天播放并解释这一点

简言之,我的基本要求是把一年变成365天,1是1月1日,2是1月2日,365是12月31日

以下是我的代码:

package com.quote.app;

import java.util.Random;

import android.os.Bundle;
import android.app.Activity;
import android.content.res.Resources;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

    /** Called when the activity is first created. */

    private String[] myString;
    private static final Random rgenerator = new Random();

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Resources res = getResources();

        myString = res.getStringArray(R.array.myArray); 

        String q = myString[daynumber];

        TextView tv = (TextView) findViewById(R.id.text1);
        tv.setText(q);
    }
}
看一看这张照片。您可以通过以下内容获得今天的日期(取自链接的参考)


您还可以获得当天的数字(1月1日为1,2日为2,依此类推)。

这非常有效。谢谢,我不知道会这么简单。整个晚上都在搜索这个。快速问题,如果我手动更改日期,我需要关闭应用程序并再次打开它才能更新。是否有一种方法可以在日期更改后自动更新。可能是onResume,如果您将其添加到onResume中,则每次重新启动活动时它都会更新(即,您从应用程序中出来并再次进入,或者更改轮换)。因此,至少你不需要重新启动整个应用程序。另一个选项是查看Timer和TimerTask类,这样您就可以安排在一天发生变化时调用函数。嘿,Jon,我该如何在代码中添加onResume来实现这一点。它将去哪里以及包含什么OnResume是一个来自活动基类的方法,您希望覆盖它,就像您对onCreate所做的一样。因此,复制并粘贴onCreate函数,并将其重命名为onResume(同时将super.onCreate更改为super.onResume)。您希望setContentView仍处于onCreate中,但下面的所有内容都可以移动到onResume函数。
Calendar rightNow = Calendar.getInstance()
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_YEAR);