Logging

ANA旅割計算の締め切り日表示するアプリを作ってみました。

ANA旅割計算の締め切り日表示するアプリを作ってみました。Android4.0以降ならすんなりと動くと思います。ただし実機で確認したところ、上記のような見栄えの良い感じではなかったです。カレンダーが表示されていなくて、SELECTバーでの選択表示でした。ちなみにアプリのコードも貼っときます。まだまだ、改良できそうなんですけどダサいコードだな、どうすれば短いコードになるだろうと思ってます。最初はボタンをクリックしないで動くようにコードを書いていたのですが、実機で確認したら、datepikerのイベントが発生したらalert画面が表示される事になってたのですが、操作性を考慮してButtonに切り替えました。あえて、datepikerのイベントで動くコードもコメントにして残してます。こんなしょぼいアプリを作るのに数時間費やしました。アルゴリズム的には出来るですが、未知の言語は辛いですAndroidのAPI機能が全然わからない感じです・・・・。リファレンスの本を買おうかな。。。   今回のアプリは上位機種のAndroidならそれなりの見栄えで表示されると思います。 DLはこちらから、 https://zip358.com/tool/anatabiwari.apk?[v4.2~v4.4] https://zip358.com/tool/anatabiwari2.apk[v5~] 改正版 追記:ウェブサービス (どちらもショボい(`・ω・´)) http://zip358.com/tool/ANAmobile/?[mobile用] http://zip358.com/tool/ana_calendar/ [PC用]
package com.example.zip.myapplication4;
import android.content.DialogInterface;
import android.preference.DialogPreference;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.DatePicker;
import android.app.AlertDialog;
import android.widget.DatePicker.OnDateChangedListener;
import java.security.acl.Permission;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class MainActivity extends ActionBarActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        DatePicker datePicker1 = (DatePicker) findViewById(R.id.datePicker);
        Calendar cal = Calendar.getInstance();
        cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
        long time = cal.getTimeInMillis();
        datePicker1.setMinDate(time);
/*        datePicker1.init(Calendar.YEAR,Calendar.MONTH,Calendar.DAY_OF_MONTH, new OnDateChangedListener() {
            @Override
            public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                String str = Integer.toString(year) +"/" + Integer.toString(monthOfYear + 1) + "/" + Integer.toString(dayOfMonth);
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
                Date date = null;
                Date date1 = null;
                Calendar cal1 = Calendar.getInstance();
                Calendar cal2 = Calendar.getInstance();
                Calendar cal3 = Calendar.getInstance();
                Calendar cal4 = Calendar.getInstance();
                try {
                    date = sdf.parse(str);
                    cal1.setTime(date);
                    cal1.add(Calendar.DATE, -60);
                    cal2.setTime(date);
                    cal2.add(Calendar.DATE, -45);
                    cal3.setTime(date);
                    cal3.add(Calendar.DATE, -28);
                    cal4.setTime(date);
                    cal4.add(Calendar.DATE, -21);
                    new AlertDialog.Builder(MainActivity.this)
                            .setTitle("ANA旅割締め切り日")
                            .setMessage("旅割60締日"+ String.format("%2d月%2d日", cal1.get(Calendar.MONTH)+1, cal1.get(Calendar.DAY_OF_MONTH))+ "\n" +
                                            "旅割45締日"+ String.format("%2d月%2d日", cal2.get(Calendar.MONTH)+1, cal2.get(Calendar.DAY_OF_MONTH))+ "\n" +
                                            "旅割28締日"+ String.format("%2d月%2d日", cal3.get(Calendar.MONTH)+1, cal3.get(Calendar.DAY_OF_MONTH))+ "\n" +
                                            "旅割21締日"+ String.format("%2d月%2d日", cal4.get(Calendar.MONTH)+1, cal4.get(Calendar.DAY_OF_MONTH))+ "\n"
                            )
                            .setPositiveButton("閉じる", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                }
                            })
                            .show();
                } catch (ParseException e) {
                    e.printStackTrace();
                }
            }
        });
*/
    }
    public void  anatabi(View v) throws ParseException {
        DatePicker datePicker1 = (DatePicker) findViewById(R.id.datePicker);
        String str = Integer.toString(datePicker1.getYear()) +"/" + Integer.toString(datePicker1.getMonth()+1) + "/" + Integer.toString(datePicker1.getDayOfMonth());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        Date date = null;
        Date date1 = null;
        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();
        Calendar cal3 = Calendar.getInstance();
        Calendar cal4 = Calendar.getInstance();
        date = sdf.parse(str);
        cal1.setTime(date);
        cal1.add(Calendar.DATE, -60);
        cal2.setTime(date);
        cal2.add(Calendar.DATE, -45);
        cal3.setTime(date);
        cal3.add(Calendar.DATE, -28);
        cal4.setTime(date);
        cal4.add(Calendar.DATE, -21);
        new AlertDialog.Builder(MainActivity.this)
                .setTitle("ANA旅割締め切り日")
                .setMessage("旅割60締日" + String.format("%2d月%2d日", cal1.get(Calendar.MONTH) + 1, cal1.get(Calendar.DAY_OF_MONTH)) + "\n" +
                                "旅割45締日" + String.format("%2d月%2d日", cal2.get(Calendar.MONTH) + 1, cal2.get(Calendar.DAY_OF_MONTH)) + "\n" +
                                "旅割28締日" + String.format("%2d月%2d日", cal3.get(Calendar.MONTH) + 1, cal3.get(Calendar.DAY_OF_MONTH)) + "\n" +
                                "旅割21締日" + String.format("%2d月%2d日", cal4.get(Calendar.MONTH) + 1, cal4.get(Calendar.DAY_OF_MONTH)) + "\n"
                )
                .setPositiveButton("閉じる", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    }
                })
                .show();
    }
}
 







    3日、4日は何処にも行かない(高知県、雨だからね)前のページ

    2015年:砂浜Tシャツアート展/高知県幡多郡黒潮町の入野海岸次のページ

    関連記事

    1. Logging

      AI(人工知能)とAI(人工知能)が会話する時代に直ぐなる。

      ?この頃、寒い日が続きます。そんな雪が降った日に、こんな記事が流れた…

    2. Logging

      2040年の未来予測の感想2

      2040年の未来予測をキンドルで購入してアレクサに朗読してもらって読…

    3. Logging

      IOTはじわじわくる。

      IOTとはモノをインターネットに繋げていろいろなサービスを提…

    4. Logging

      CURLでページを抽出するのは簡単なのだけど・・・POSTして

      curlでページを抽出するのは簡単なのだけど、いま自分がやりたいこと…

    5. Logging

      映画、ジュラシック・ワールドを観てきましたので感想なんかを(パークじゃないよ)。 #ジュラシック・ワ…

      映画、ジュラシック・ワールドを観てきましたので感想なんかを残しときま…

    2015年5月
     123
    45678910
    11121314151617
    18192021222324
    25262728293031

    カテゴリー

    アーカイブ

    PAGE TOP