OptionMenuActivity

OptionMenuActivity

package cn.thewee.gourmetmeal.staff;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import cn.thewee.gourmetmeal.staff.logic.DishesLogic;
import cn.thewee.gourmetmeal.staff.logic.ImgDownloadLogic;
import cn.thewee.gourmetmeal.staff.logic.NetLogic;
import cn.thewee.gourmetmeal.staff.logic.TableLogic;

public class OptionMenuActivity extends BaseActivity{
 private static final String TAG = "OptionMenuActivity";
 Button btn_netTest;
 Button btn_updateOrder;
 Button btn_updateTable;
 
 ProgressDialog p_dialog;//进度条对话框
 Thread t_update = null;
 Handler my_handler = new Handler(){//自定义handler用于多线程UI交互
  @Override
  public void handleMessage(Message msg) {
   //关闭对话框
   if(p_dialog != null && p_dialog.isShowing()){
    p_dialog.dismiss();
   }
   
   switch(msg.what){
   case WHAT_LOADING_COMPLETED://读取更新完成
    Toast.makeText(getApplicationContext(),
        getString(R.string.update_complete),
        Toast.LENGTH_SHORT)
       .show();
    break;
   case WHAT_NET_AVAILABLE://网络正常
    Toast.makeText(getApplicationContext(),
      getString(R.string.net_available),
      Toast.LENGTH_SHORT)
     .show();
    break;
   case WHAT_NET_DISABLE://网络不可用
    Toast.makeText(getApplicationContext(),
      getString(R.string.net_disable),
      Toast.LENGTH_SHORT)
     .show();
    break;
   }
  }
 };
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  p_dialog = new ProgressDialog(this);
  
 }
 //初始化控件
 @Override
 protected void initViews() {
  this.setContentView(R.layout.options);
  
  btn_netTest = (Button) this.findViewById(R.id.btn_netTest);
  btn_updateOrder = (Button) this.findViewById(R.id.btn_updateOrder);
  btn_updateTable = (Button) this.findViewById(R.id.btn_updateTable);
  
  //配置监听器
  OptionOnClickListener btnListener = new OptionOnClickListener();
  btn_netTest.setOnClickListener(btnListener);
  btn_updateOrder.setOnClickListener(btnListener);
  btn_updateTable.setOnClickListener(btnListener);
 }
 class OptionOnClickListener implements OnClickListener{
  @Override
  public void onClick(View v) {
   optionClick(v);
  }
 }
 
 //按钮点击事件
 public void optionClick(View view){
  
  
  switch(view.getId()){
  case R.id.btn_netTest://网络测试
   //对话框文字
   p_dialog
   .setMessage(
     getString(R.string.is_loading));
   
   if(!p_dialog.isShowing())
    p_dialog.show();
   //开启线程测试
   new Thread(){
    @Override
    public void run() {
     if(NetLogic.netIsAvailable())
      my_handler.sendEmptyMessage(WHAT_NET_AVAILABLE);
     else
      my_handler.sendEmptyMessage(WHAT_NET_DISABLE);
    }
   }.start();
                                                                                        
   break;
  case R.id.btn_updateOrder://更新菜单
   //对话框文字
   p_dialog.
   setMessage(
     getString(
       R.string.is_loading));
   
   if(!p_dialog.isShowing())
    p_dialog.show();
   //开启新线程更新
   if(t_update ==null || !t_update.isAlive()){
    t_update = new Thread(){
        @Override
        public void run() {
         //更新菜单内容
         DishesLogic dishesLogic = new DishesLogic();
         dishesLogic.updateMenu(getApplicationContext());
         //下载图片
         ImgDownloadLogic imgDown = new ImgDownloadLogic();
         imgDown.downloadImg(getApplicationContext());
         
         my_handler.sendEmptyMessage(WHAT_LOADING_COMPLETED);
        }
       };
    t_update.setDaemon(true);
    t_update.start();
   }
   break;
  case R.id.btn_updateTable://更新桌子
   //对话框文字
   p_dialog.setMessage(getString(R.string.is_loading));
   
   if(!p_dialog.isShowing())
    p_dialog.show();
   //开启新线程更新
   if(t_update ==null || !t_update.isAlive()){
    t_update = new Thread(){
        @Override
        public void run() {
         TableLogic tableLogic = new TableLogic();
         tableLogic.updateTableInfo(getApplicationContext());
         my_handler.sendEmptyMessage(WHAT_LOADING_COMPLETED);
        }
       };
    t_update.setDaemon(true);
    t_update.start();
   }
   break;
  }
 }
 @Override
 protected void getExtras() {
  
 }
}

option.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    android:background="@drawable/menu_background" >
    
    <LinearLayout
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_margin="20dp"
        android:gravity="center_vertical" >
        <ImageView 
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:layout_marginRight="5dp"
            android:scaleType="center"
            android:src="@drawable/img_net"/>
        <Button
            android:id="@+id/btn_netTest"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:background="@drawable/btn_net_test"/>
    </LinearLayout>
    
    <LinearLayout
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_margin="20dp"
        android:gravity="center_vertical" >
        <ImageView 
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:layout_marginRight="5dp"
            android:scaleType="center"
            android:src="@drawable/img_order"/>
        <Button
            android:id="@+id/btn_updateOrder"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:background="@drawable/btn_update_menu"/>
    </LinearLayout>
    
    <LinearLayout
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_margin="20dp"
        android:gravity="center_vertical" >
        <ImageView 
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:layout_marginRight="5dp"
            android:scaleType="center"
            android:src="@drawable/img_table"/>
        <Button
            android:id="@+id/btn_updateTable"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:background="@drawable/btn_update_table"/>
    </LinearLayout>
</LinearLayout>

你可能感兴趣的:(OptionMenuActivity)