80,354
社区成员
发帖
与我相关
我的任务
分享
public void onBooking(View v){
switch (v.getId()){
case R.id.bookingA:
if (saNum<1){
Toast.makeText(BookingActivity.this,"座位已经坐满,不可预订!",Toast.LENGTH_LONG).show();
break;
}else {
Toast.makeText(BookingActivity.this,"预订成功!",Toast.LENGTH_LONG).show();
AsyncHttpClient client=new AsyncHttpClient();
client.post(HttpUtil.bookingSeat, AbookingInfo(), new JsonHttpResponseHandler() {
});
saNum -= 1;
break;
}
case R.id.bookingB:
if (sbNum<1){
Toast.makeText(BookingActivity.this,"座位已经坐满,不可预订!",Toast.LENGTH_LONG).show();
break;
}else {
AsyncHttpClient client1 = new AsyncHttpClient();
client1.post(HttpUtil.bookingSeat, BbookingInfo(), new JsonHttpResponseHandler() {
});
Toast.makeText(BookingActivity.this, "预订成功!", Toast.LENGTH_LONG).show();
sbNum -= 1;
break;
}
case R.id.bookingc:
if (scNum<1){
Toast.makeText(BookingActivity.this,"座位已经坐满,不可预订!",Toast.LENGTH_LONG).show();
break;
}else{
AsyncHttpClient client2=new AsyncHttpClient();
client2.post(HttpUtil.bookingSeat, CbookingInfo(), new JsonHttpResponseHandler() {
});
Toast.makeText(BookingActivity.this,"预订成功!",Toast.LENGTH_LONG).show();
scNum -= 1;
break;
}
case R.id.bookingD:
if (sdNum<1){
Toast.makeText(BookingActivity.this,"座位已经坐满,不可预订!",Toast.LENGTH_LONG).show();
break;
}else {
AsyncHttpClient client3 = new AsyncHttpClient();
client3.post(HttpUtil.bookingSeat, DbookingInfo(), new JsonHttpResponseHandler() {
@Override
public void onSuccess(JSONObject jsonObject) {
super.onSuccess(jsonObject);
}
});
Toast.makeText(BookingActivity.this, "预订成功!", Toast.LENGTH_LONG).show();
sdNum -= 1;
break;
}
}
AsyncHttpClient client1=new AsyncHttpClient();
client1.post(HttpUtil.updateSeat, ParamsSeatUpdate(), new JsonHttpResponseHandler() {
});
Intent intent=new Intent();
intent.putExtra("msg","您有一份新的预订信息!");
intent.setAction("BC_ONE");
sendBroadcast(intent);
}
public class WelcomeRestaurantActivity extends AppCompatActivity implements View.OnClickListener{
private pageFragment pageFragment;
private seatManageFragment seatManageFragment;
private mineFragment mineFragment;
public Restaurant restaurant;
// private RadioGroup rg;
private Button page, seatManage, mine;
Integer restaurantId,saNum,sbNum,scNum,sdNum;
private RequestParams Params(){
RequestParams params=new RequestParams();
params.put("restaurantId", restaurantId.toString());
return params;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome_restaurant);
// 动态注册广播
IntentFilter intentFilter=new IntentFilter("BC_ONE");
BroadcastReceiver BC1=new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String msg=intent.getStringExtra("msg");
Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
}
};
registerReceiver(BC1,intentFilter);
你这个需求肯定是需要服务器支持的 你客户端只负责 下单 下单完成 由服务器 推送消息到 餐厅端 或者 服务器 就是餐厅端。光靠客户端是实现不了的。 那应该使用什么方法,来实现我这个功能呢,就是类似于顾客端点菜后,餐厅端收到菜单消息 首先确定 广播接收者是否已经成功注册并 运行 比如 你注册广播接收器的 界面已经运行 并且执行了 注册。 二:在发送广播时 注册广播接收器 是否 在运行中。 看了下 上面的评论 大致 是 你用2个终端 来跨终端 监听 这怎么可能呢 广播接收者 只能是同一个终端内进行。
那应该使用什么方法,来实现我这个功能呢,就是类似于顾客端点菜后,餐厅端收到菜单消息 首先确定 广播接收者是否已经成功注册并 运行 比如 你注册广播接收器的 界面已经运行 并且执行了 注册。 二:在发送广播时 注册广播接收器 是否 在运行中。 看了下 上面的评论 大致 是 你用2个终端 来跨终端 监听 这怎么可能呢 广播接收者 只能是同一个终端内进行。
你这个需求肯定是需要服务器支持的 你客户端只负责 下单 下单完成 由服务器 推送消息到 餐厅端 或者 服务器 就是餐厅端。光靠客户端是实现不了的。 那应该使用什么方法,来实现我这个功能呢,就是类似于顾客端点菜后,餐厅端收到菜单消息 首先确定 广播接收者是否已经成功注册并 运行 比如 你注册广播接收器的 界面已经运行 并且执行了 注册。 二:在发送广播时 注册广播接收器 是否 在运行中。 看了下 上面的评论 大致 是 你用2个终端 来跨终端 监听 这怎么可能呢 广播接收者 只能是同一个终端内进行。
首先确定 广播接收者是否已经成功注册并 运行 比如 你注册广播接收器的 界面已经运行 并且执行了 注册。 二:在发送广播时 注册广播接收器 是否 在运行中。 看了下 上面的评论 大致 是 你用2个终端 来跨终端 监听 这怎么可能呢 广播接收者 只能是同一个终端内进行。
[quote=引用 8 楼 ganshenml 的回复:] [quote=引用 5 楼 tccyl0818 的回复:] [quote=引用 4 楼 lj19851227 的回复:] 把动态注册监听改到AndroidManifest.xml相应的WelcomeRestaurantActivity activity声明里面去试试,你现在的方法只有WelcomeRestaurantActivity这个activity启动过才会注册监听,如果你的onBooking()按钮是唯一启动的入口,那你肯定走不到动态注册的逻辑,也就没办法监听到了。
[quote=引用 4 楼 lj19851227 的回复:] 把动态注册监听改到AndroidManifest.xml相应的WelcomeRestaurantActivity activity声明里面去试试,你现在的方法只有WelcomeRestaurantActivity这个activity启动过才会注册监听,如果你的onBooking()按钮是唯一启动的入口,那你肯定走不到动态注册的逻辑,也就没办法监听到了。
我是打开两个模拟器,一个在停留WelcomRestauranActivity上,一个在执行onBooking() 另外一个activity是否已经打开了
另外一个activity是否已经打开了
把动态注册监听改到AndroidManifest.xml相应的WelcomeRestaurantActivity activity声明里面去试试,你现在的方法只有WelcomeRestaurantActivity这个activity启动过才会注册监听,如果你的onBooking()按钮是唯一启动的入口,那你肯定走不到动态注册的逻辑,也就没办法监听到了。
[quote=引用 8 楼 ganshenml 的回复:] [quote=引用 5 楼 tccyl0818 的回复:] [quote=引用 4 楼 lj19851227 的回复:] 把动态注册监听改到AndroidManifest.xml相应的WelcomeRestaurantActivity activity声明里面去试试,你现在的方法只有WelcomeRestaurantActivity这个activity启动过才会注册监听,如果你的onBooking()按钮是唯一启动的入口,那你肯定走不到动态注册的逻辑,也就没办法监听到了。
[quote=引用 5 楼 tccyl0818 的回复:] [quote=引用 4 楼 lj19851227 的回复:] 把动态注册监听改到AndroidManifest.xml相应的WelcomeRestaurantActivity activity声明里面去试试,你现在的方法只有WelcomeRestaurantActivity这个activity启动过才会注册监听,如果你的onBooking()按钮是唯一启动的入口,那你肯定走不到动态注册的逻辑,也就没办法监听到了。