現在Androidゲームを作っているのですが、現在時間を取得し、時刻を表示したり、背景画像などを変えたりしたいのですがどのように取得し、表示させればいいのでしょうか?ソースコードは
・MainActivity.java
package andorid.eample.game2;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.os.Bundle;
import android.app.Activity;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout l = new LinearLayout(this);
setContentView(l);
l.addView(new PView(this, null, 0));
}
}
・PView.java
package andorid.eample.game2;
import android.annotation.SuppressLint;4
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import android.content.res.Resources;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.text.format.Time;
import android.media.MediaPlayer;
public class PView extends View{
Paint paint = new Paint();
Date date = new Date();
int flg = 0;
int charaX =250;
int charaY = 250;
Resources res = this.getContext().getResources();
Bitmap bg = BitmapFactory.decodeResource(res, R.drawable.bg1);
Bitmap chara = BitmapFactory.decodeResource(res, R.drawable.charan);
Bitmap charaT = BitmapFactory.decodeResource(res, R.drawable.charat);
Bitmap box= BitmapFactory.decodeResource(res, R.drawable.boxt);
//音楽読み込み
MediaPlayer se = MediaPlayer.create(getContext(),R.raw.ehehe);
public PView(Context context,AttributeSet attrs,int defStyle) {
super(context,attrs);
// TODO 自動生成されたコンストラクター・スタブ
}
@SuppressLint("DrawAllocation")
@Override
protected void onDraw(Canvas c){
c.drawBitmap(bg,0,100,paint);
if(flg == 0)
{
c.drawBitmap(chara,charaX,charaY,paint);
}
if(flg == 1)
{
c.drawBitmap(charaT,charaX,charaY,paint);
c.drawBitmap(box,50,200,paint);
}
invalidate();
}
public boolean onTouchEvent(MotionEvent me) {
//タッチされた時
if(me.getAction() == MotionEvent.ACTION_DOWN)
{
if(me.getAction() == MotionEvent.ACTION_DOWN) {
if(flg == 0)
{
flg = 1;
se.start();
}
else{
flg =0;
}
}
}
return false;
}
}
このような感じになっています どうかアドバイスをお願いします。
No.1ベストアンサー
- 回答日時:
>現在時刻を取得
http://www.adakoda.com/android/000119.html
>時刻を表示
どういう形で表示しましょうか
ラベルにsetTextするのか、canvasにdrawTextするのか。。。
時計を表示とあるので、再描画契機をいつにするかが肝です。
マルチスレッド化して、秒間隔でCanvasをinvalidate()すれば良いと思いますが、Androidでは、普通にThreadを使うとまずいそうなので、Hanlderというものを使うそうです。
http://shimoigi.net/archives/768
http://egycolock.blog.fc2.com/blog-entry-74.html
>背景画像などを変えたりしたい
layout.setBackgroundResource(R.drawable.img2); ではいかがでしょうか。
現状、bg1の定義はできていそうなので、同様にbg2を定義して、必要に応じてレイアウトを変更します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- オープンソース Flaskでサーバー立ち上げに関して 1 2023/08/12 21:02
- その他(クラウドサービス・オンラインストレージ) Google ColabでGoogleドライブのサブフォルダにファイルを生成する方法 1 2022/10/31 17:37
- その他(パソコン・周辺機器) AndroidにPCを介してCDを取り込んだら なぜか日本語の曲名だけがすべて文字化けしていました。 1 2022/03/31 20:31
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- その他(プログラミング・Web制作) tkinterのimport文の書き方 2 2022/10/14 21:17
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- 工学 Pythonの3次元描画に関する質問です 3 2022/12/07 20:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
Selenium IDEでexportしたコー...
-
<forEach> 内で供給された "ite...
-
「1」などの数字を「January」...
-
シャットダウンフックが呼ばれない
-
「例外 *** は対応する try 文...
-
(急募)JavaカレンダーをGUI可に...
-
Chorometerで一時停止した後再...
-
なんかエラーがでた
-
Log4jで機能毎に別ファイルへ出...
-
このプログラミング誰か教えて...
-
C言語のポインターに関する警告
-
Javaで改行などが出来ないのです。
-
flush()とclose()について
-
javaで質問です。 文字列2023/2...
-
JSPやサーブレットでSystem.out...
-
[JAVA]try 内の変数を外で!?
-
配列にnullを代入すると、null...
-
VBAで配列の計算
-
Path型をString型へ変換する(Java)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
「例外 *** は対応する try 文...
-
干支の計算で。。。
-
Selenium IDEでexportしたコー...
-
Javaを使ってデジタル時計を作...
-
ColabでのPytorchのエラー
-
importするには java.io.*; imp...
-
生年月日と今日の日付から年齢...
-
ファイル名を動的に生成したい
-
文字列を数式に
-
<forEach> 内で供給された "ite...
-
シャットダウンフックが呼ばれない
-
Javaからストアド実行(配列項目)
-
ActionForm form にnullが入っ...
-
setAttribute(String, int)は適...
-
(急募)JavaカレンダーをGUI可に...
-
文字サイズが可変のラベル
-
Java での グローバルIP取得
-
python OpenPyXLを使って出力結...
-
データの外挿について
おすすめ情報