ファイル送信するまでは、アプリから出しませんよ。Android(java)

# 仕組み
Andoridアプリから、データをサーバー（Apache）へ送り、PHPが基幹システムへ送り出す処理を行ったら、Androidさんありがとう、お疲れ様です。

# 画像
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478380/6beb6bb7-67b9-eec4-d03d-5a4d8a33c18d.jpeg" width=40%>

↓

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478380/9793eb10-1da7-adaa-954b-c679644e6c35.jpeg" width="40%">



# コード Main
```java:MainActivity.java

  /**
     *  ヘッダー　ボタン　処理
     *
     * @param item
     * @return
     */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {

            case R.id.menu_top_btn :
                //------- ボタンを押した後の処理
                Flg_Send_SELECT();

                if(Send_data_Flg.equals("0") || Send_data_Flg == null) {
                    /**
                     * 一度も送信されていないので　エラーを返す
                     */
                    Allahto_Dailog_Send_error();

                } else {
                    /**
                     *  アプリ終了　処理　起動
                     */
                    Allahto_Dailog_01();
                }

                break;

```

## 電源ボタンをタップしたら Flg_Send_SELECT() 処理が走る
・フラグを取りにいってもらっています。

```java:MainActivity.java
 /***
     *     Flg_Table ===== Send_data_Flg 取得
     */
    private void Flg_Send_SELECT() {

        TestOpenHelper helper = new TestOpenHelper(getApplicationContext());
        SQLiteDatabase Flg_db_Send = helper.getReadableDatabase();

        Cursor cursor = null;

        try {

            cursor = Flg_db_Send.rawQuery("select Send_data_Flg from Flg_Table", null);

            if(cursor != null && cursor.getCount() > 0) {

                if(cursor.moveToFirst()) {
                    Send_data_Flg = cursor.getString(0);
                }

            } else {
                Send_data_Flg = "0";
                return;
            }


        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            if(Flg_db_Send != null) {
                Flg_db_Send.close();
            }
        }

    } // ---------------- END Flg_Send_SELECT

```
### フラグが 0 か null の場合  Allahto_Dailog_Send_error()
・アプリからでちゃダメですよ。

```java:MainActivity.java
private void Allahto_Dailog_Send_error() {

        //-------　タイトル
        TextView titleView;
        // アクティビティ名を入れる
        titleView = new TextView(MainActivity.this);
        titleView.setText("ファイル送信エラー");
        titleView.setTextSize(20);
        titleView.setTextColor(Color.WHITE);
        titleView.setBackgroundColor(getResources().getColor(R.color.red));
        titleView.setPadding(20,20,20,20);
        titleView.setGravity(Gravity.CENTER);

        //-------- アラートログの表示 開始 ----------
        AlertDialog.Builder bilder = new AlertDialog.Builder(MainActivity.this);

        /**
         *  ダイアログの項目セット
         */
        //------- タイトルセット
        bilder.setCustomTitle(titleView);

        //------- メッセージセット
        bilder.setMessage("ファイル送信を行ってから、アプリケーションを終了してください。");

        bilder.setNegativeButton("アプリケーションへ戻る", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

                return;

            }
        });

        AlertDialog dialog = bilder.create();
        dialog.show();

        //********* ボタン いいえ **********
        dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(Color.parseColor("#B20000"));
        //   dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setBackgroundColor(getResources().getColor(R.color.red));

    } //-------------- Allahto_Dailog_Send_error  END
```

### フラグがありの場合は、お疲れ様でした。Allahto_Dailog_01()

```java:MainActivity.java

 /**
     *  アラートダイアログ　表示
     */
    private void Allahto_Dailog_01() {

        //-------　タイトル
        TextView titleView;
        // アクティビティ名を入れる
        titleView = new TextView(MainActivity.this);
        titleView.setText("アプリケーションの終了");
        titleView.setTextSize(20);
        titleView.setTextColor(Color.WHITE);
        titleView.setBackgroundColor(getResources().getColor(R.color.menu_color));
        titleView.setPadding(20,20,20,20);
        titleView.setGravity(Gravity.CENTER);

        //-------- アラートログの表示 開始 ----------
        AlertDialog.Builder bilder = new AlertDialog.Builder(MainActivity.this);

        /**
         *  ダイアログの項目セット
         */
        //------- タイトルセット
        bilder.setCustomTitle(titleView);

        //------- メッセージセット
        bilder.setMessage("お疲れ様でした。アプリケーションを終了しますか？（作業データは全て削除されます）");

        bilder.setNegativeButton("終了する", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

                Sned_Table_Data_Delete(); // 送信テーブル　&  グラフテーブル　データ削除

                Flg_Table_Delete(); // フラグテーブル　データ削除
            }
        });

        bilder.setPositiveButton("終了しない", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

                //********　終了しない *********
                // 　再度ログインできるように、フラグを false にする。
                app_finish_flag = false;
                return;
            }
        });

        AlertDialog dialog = bilder.create();
        dialog.show();

        //******************************************* ボタン　配色　変更
        //********* ボタン はい **********
        dialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.parseColor("#FF4081"));
        //   dialog.getButton(AlertDialog.BUTTON_POSITIVE).setBackgroundColor(getResources().getColor(R.color.red));

        //********* ボタン いいえ **********
        dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(Color.parseColor("#FF4081"));
        //   dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setBackgroundColor(getResources().getColor(R.color.red));

    } //-------------- Allahto_Dailog_01  END

```