質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.61%

  • Java

    13496questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    6406questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • Eclipse

    1640questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

バックアップが動かない…

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 594

naia

score 21

コードを追加していたら動かなくなってしまいました
直前にとっておいたバックアップも何故だか動きません
見づらいコードで申し訳ないですが
ご指摘お願いします。時計のプログラムです
import java.util.Calendar;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.media.MediaPlayer;
import android.view.MotionEvent;
import android.view.View;



class SampleView extends View {
    Paint paint = new Paint();

    //音楽ファイルの読み込み
    MediaPlayer chime = MediaPlayer.create(getContext(), R.raw.test);

  
    static int h;
    static int m;
    static int s;
    
    static int animetion = 0;
    
    
    
    // デフォルトフレームサイズ
    private int width = 640;
    private int height = 480;
    
    
    int A = 640;
    int B = 0;
    int C = 0;
    int D = 0;
    int E = 0;
    int X1 = 0;
    int X2 = 640;
    int Y1 = 150;
    int Y2 = 250;
    int mm;
    
    int kizyunZikokuNoKazu = 17;
    
    
        
    boolean a = true;
    boolean saisyoNoFureemuDeAru = true;
    int maeNiOtoWoNarasitaZikantai = -1;
    
    boolean greenflag = true;
    
    int zenntai = 7 * 60;
    int F;// 今の時間
    
    //全体を表すゲージ
    int NowJikann = zenntai; //現在の残り時間
    int Width = 480;
    double G;
    
    //譎ょ綾縺ョ險ュ螳?
    int hazimariNoZikoku = 60 * ( 60 * 9 + 0 ) + 0;
    int owariNoZikoku = hazimariNoZikoku + 60 * zenntai;

    
  //時間に合わせてメッセージが変わる
         String messages[] = {
            "",
            " ",
            " ",
            " ",
            " ",
            " ", // 5
            " ",
            " ",
            "おはようござます",
            "おはようございます",
            "今日も一日頑張りましょう!", // 10
            "もうすぐお昼休みだ!",
            "休憩時間です!",
            "午後も頑張りましょう",
            "こんにちは",
            "残り1時間をきりました", // 15
            "お疲れ様でした",
            "お疲れ様でした"
        };



    
    public SampleView(Context context) {
          
        super(context);;
        //BGMを最初に再生する
        
    }
    
    @Override
    public void onDraw(Canvas c) {
        
        Paint paint = new Paint();
        paint.setStrokeWidth(2);//太さを2に
        paint.setColor(Color.argb(255, 255, 0, 0));//赤セット
        //文字の描画
        Paint p = new Paint();
        p.setARGB(255,100,100,255);
        p.setTextSize(64);
        p.setAntiAlias(true);

//////////////////////
//ゲージ
/////////////////////

        //セクションごとのゲージ
        //p.setColor( Color.GREEN );
        //c.drawRect(0, 100, 640, 71, p);//四角形描画
        //int geeziNoKawarime = X1 + (X2 - X1)*(C - B) / (A - B);

        
    
        ///////////////
        //全体のゲージ
        ///////////////
        p.setColor( Color.GREEN );
        c.drawRect( 0, 420, 640, 480, p );
        G = ( zenntai -  F ) *  width / zenntai;
        p.setColor( Color.RED );
        c.drawRect( 0, 420,  (int)G,  480, p );
        
        /////////////
        //セクションごとのゲージ
        ///////////////////////
        
        p.setColor( Color.GREEN );
        c.drawRect(0, 0, 640, 71, p);
        
        int geeziNoKawarime = X1 + (X2 - X1)*(C - B) / (A - B);
        Rect rect = new Rect(0, 0, geeziNoKawarime,71);
        c.drawRect(rect, paint);
        



//5分休憩1
p.setColor( Color.CYAN );
c.drawRect(82, 420, 6, 250, p);//四角形描画

//5分休憩2
p.setColor( Color.CYAN );
c.drawRect(173, 420, 6, 250, paint);//四角形描画

//昼休み
p.setColor( Color.CYAN );
c.drawRect(279, 420, 56, 250, paint);//四角形描画

//5分休憩3
p.setColor( Color.CYAN );
c.drawRect(428, 420, 6, 250, paint);//四角形描画    

//5分休憩4
p.setColor( Color.CYAN );
c.drawRect( 428, 420, 6, 250, paint);//四角形描画    

//5分休憩5
p.setColor( Color.CYAN );
c.drawRect(528, 420, 6, 250, paint);//四角形描画    



        
    
    
///////////////////////////////////
//            文字表示
//////////////////////////////////
p.setColor( Color.RED );
c.drawText( "経過", 25, 300 , p);
c.drawText("" + m +"分", 70, 250 ,p);//邨碁℃譎る俣
p.setColor( Color.BLACK );
c.drawText( "/全体/",200, 300 ,p);
c.drawText( "" + E + "分", 250, 250 ,p);
p.setColor( Color.GREEN );
D += 1;
c.drawText( "残り",450, 300 ,p);
c.drawText("" + D +"分", 450, 250 ,p);//残り時間
p.setColor( Color.BLACK );

//c.drawText("デバッグ用"+ anime(animetion) + "", 60, 80 ,p);




// 蜊亥燕縺ィ蜊亥セ後r蛻?縺代k
int jikann;
int gogo;

if ( h >= 13){
    jikann = h - 12;
    gogo = 1;
}
else{
    jikann = h;
    gogo = 0;
}


if( gogo == 1){
c.drawText( "午後"+jikann+"時"+mm+"分", 300,550 ,p);
}else{
c.drawText( "午前"+h+"時"+mm+"分", 300,550 ,p);
}
p.setColor( Color.BLACK );
c.drawText( "全体の残り時間"+F+"分", 100,400 ,p);


//メッセージ
if (1 <= h && h <= 17) {
        c.drawText(messages[h], 0, 150, p);
}


//System.out.println( "Hello Java" );
 //TODO: 縺薙?ョ荳九↓繝励Ο繧ー繝ゥ繝?繧呈嶌縺?縺ヲ縺上□縺輔>
      Calendar now = Calendar.getInstance(); 
      h = now.getInstance().get(now.HOUR_OF_DAY); //譎ゅr莉」蜈・
      m = now.getInstance().get(now.MINUTE);      //蛻?繧剃サ」蜈・
      s= now.getInstance().get(now.SECOND);       //遘偵r莉」蜈・
      mm=now.getInstance().get(now.MINUTE);        //時間表示用
      
      //
      
        // 蝓コ貅匁凾蛻サ
        int kizyunZikoku[][] = {
            { 9, 0 }, { 9, 55 },
            { 10, 0 }, { 10, 55 },
            { 11, 0 }, { 12, 0 },
            { 12, 40 }, { 13, 40 },
            { 13, 45 }, { 14, 45 },
            { 14, 50 }, { 16, 0 }
        };
        // 縺昴?ョ蝓コ貅匁凾蛻サ縺ィ谺。縺ョ蝓コ貅匁凾蛻サ縺ョ髢薙〒繧イ繝シ繧ク繧貞虚縺九☆縺?
        boolean zikanWoHyouziSuru[] = {
            true, true,
            true, true,
            true, true,
            true, true,
            true, true,
            true, true
        };

        // 莉翫?ョ譎ょ綾縺後←縺薙↓隧イ蠖薙☆繧九°繧定ィ育ョ励☆繧?
        int imaNoZikoku = 60 * (60 * h + m) + s;//遘偵↓螟画鋤
        int maeNoKizyunZikoku = 0;
        int tugiNoKizyunZikoku = 0;
        int imaNoZikantai = -1;
        for (int i = 0; i < 12; i++) {
            int miteiruKizyunZikoku = 60 * (60 * kizyunZikoku[i][0] + kizyunZikoku[i][1]);
            if (imaNoZikoku < miteiruKizyunZikoku) {
                if (i > 0) {
                    imaNoZikantai = i - 1;
                    maeNoKizyunZikoku = 60 * (60 * kizyunZikoku[i - 1][0] + kizyunZikoku[i - 1][1]);
                    tugiNoKizyunZikoku = 60 * (60 * kizyunZikoku[i][0] + kizyunZikoku[i][1]);
                }
                break;
            }
        }
        if (saisyoNoFureemuDeAru) {
            maeNiOtoWoNarasitaZikantai = imaNoZikantai;
            saisyoNoFureemuDeAru = false;
        }

        // 邨碁℃譎る俣縺ィ谿九j譎る俣繧定ィ育ョ励@縲√ご繝シ繧ク縺ョ繝代Λ繝。繝シ繧ソ繧定ィュ螳壹☆繧?
        if (imaNoZikantai >= 0 && zikanWoHyouziSuru[imaNoZikantai]) {
            // 陦ィ遉コ縺吶k譎る俣
            m = (imaNoZikoku - maeNoKizyunZikoku) / 60;
            E = (tugiNoKizyunZikoku - maeNoKizyunZikoku) / 60;
            D = (tugiNoKizyunZikoku - imaNoZikoku) / 60;
            // 繧イ繝シ繧ク縺ョ繝代Λ繝。繝シ繧ソ
            A = tugiNoKizyunZikoku;
            B = maeNoKizyunZikoku;
            C = imaNoZikoku;
        }
        else {
            // 陦ィ遉コ縺吶k譎る俣
            m = 99;
            E = 99;
            D = 99;
            // 繧イ繝シ繧ク縺ョ繝代Λ繝。繝シ繧ソ
            A = 640;
            B = 0;
            C = 0;
        }

        // 蜈ィ菴薙?ョ谿九j譎る俣繧定ィ育ョ励☆繧?
        if (imaNoZikoku < hazimariNoZikoku) {
            // 蟋九∪縺」縺ヲ縺?縺ェ縺?
            F = 60 * zenntai;
        }
        else if (owariNoZikoku < imaNoZikoku) {
            // 邨ゅo縺」縺溷セ?
            F = 0;
        }
        else {
            // 螳溯。御クュ
            F = owariNoZikoku - imaNoZikoku;
        }
        // 棒グラフのパラメータを設定する
        G = F * Width / (60 * zenntai);
        // 谿九j譎る俣繧貞?縺ォ螟画鋤縺吶k
        F = (F + 59) / 60;

        // 諠?蝣ア縺梧ュ」縺励¥縺ェ繧九h縺?縺ォ陬懈ュ」縺吶k
        if (imaNoZikoku % 60 == 0) D--;





if (maeNiOtoWoNarasitaZikantai != imaNoZikantai) {
    // 譎る俣蟶ッ縺悟、牙喧縺励※縺?繧句?エ蜷医??髻ウ繧帝ウエ繧峨☆
    maeNiOtoWoNarasitaZikantai = imaNoZikantai;
    if (imaNoZikantai >= 0) {
        chime.start();
        }
}





        
      //ループ処理(onDrawを実行)-
        invalidate();
        
        //ウェイト処理
        try{
            Thread.sleep( 1000 );
        } catch (InterruptedException e ){}
    }
    
    public boolean onTouchEvent(MotionEvent me){
        /*タッチされた時
        if(me.getAction() == MotionEvent.ACTION_DOWN){
            playerVY = -20;
            se.start();
        }*/
        
        return true;
        
    }
        
    
    /*public int anime(int animation){
        if( animation == 0){
            return animetion++;}
        if( animation == 1){
            return animetion++;}
         if( animation == 2){
             return animetion++;}    
         if( animation == 3){
             return animetion++;}
         if( animation == 4){
             return animetion++;}
         if( animation == 5){
             return animetion++;}
         if( animation == 6){
             return animetion++;}
         if( animation == 7){
             return animetion++;}
         if( animation == 8){
             return animetion++;}
         if( animation == 9){
             animetion =0;
             return animetion;}
    return animetion;
}
*/
    
}

    
   
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

いろいろツッコミどころはありますが・・・
まず各所で何がしたいのかわかりません
コメントも文字化けしてますしね
せめてコメントの文字化けを直して何をどうしたいのか教えてください

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Java

    13496questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    6406questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • Eclipse

    1640questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。