🧜
Androidアプリ ファイル送信するまではログアウトさせないぜ。
仕組み
・Androidアプリから、作業タスクを作成して、ファイル送信するまではログアウトさせない。ファイル送信をしたら、PHPで受け取り基幹システムへ送り出します(元気でな~たまには連絡こいよ~ うつむいたまま列車に乗り込む彼女。列車の汽笛が炎上案件を抱えた私を現実へ戻した・・・)。
実機画像
↓
コード
MainActiviti.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()
・送信フラグを確認にいってます。
/***
* 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();
・アラートダイアログを出してます。
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
送信フラグが 1 or あった場合、終了処理 Allahto_Dailog_01
/**
* アラートダイアログ 表示
*/
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
Discussion