模仿写了个movie mobile demo:

电脑技术 电脑技术 2445 人阅读 | 6 人回复 | 2022-08-18

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
效果图

360截图20220818091733108.jpg

回答|共 6 个

legs+ 发表于 2022-8-18 09:20:06| 字数 3 | 显示全部楼层

结果图

360截图20220818090104887.jpg

360截图20220818090145848.jpg

simonzhd 发表于 2022-11-4 02:20:31| 字数 10 | 显示全部楼层

看上去不错的demo

孤星11 发表于 2022-12-4 20:58:09| 字数 54 | 显示全部楼层

问问legs+,如果Android应用不要有任何UI,只是启动发送UDP信号,然后就退出(结束),这可能吗?

legs+ 发表于 2022-12-4 22:31:04| 字数 82 | 显示全部楼层

Android四大组件分别为activity、service、content provider、broadcast receiver。
其实,service就是干这个活的

点评

谢谢。  发表于 2022-12-4 22:49

legs+ 发表于 2022-12-6 19:43:47| 字数 1,979 | 显示全部楼层

写了一个手机还有多少电量的例子:

  1. package irdc.ex06_02;

  2. /* import相关class */
  3. import android.app.Activity;
  4. import android.app.AlertDialog;
  5. import android.content.BroadcastReceiver;
  6. import android.content.Context;
  7. import android.content.DialogInterface;
  8. import android.content.Intent;
  9. import android.content.IntentFilter;
  10. import android.os.Bundle;
  11. import android.view.View;
  12. import android.widget.Button;

  13. public class EX06_02 extends Activity
  14. {
  15.   /* 变量声明 */
  16.   private int intLevel;
  17.   private int intScale;
  18.   private Button mButton01;
  19.   private AlertDialog d;
  20.   
  21.   /* create BroadcastReceiver */
  22.   private BroadcastReceiver mBatInfoReceiver=new BroadcastReceiver()
  23.   {  
  24.     public void onReceive(Context context, Intent intent)
  25.     {
  26.       String action = intent.getAction();  
  27.       /* 如果捕捉到的action是ACTION_BATTERY_CHANGED,
  28.        * 就执行onBatteryInfoReceiver() */
  29.       if (Intent.ACTION_BATTERY_CHANGED.equals(action))
  30.       {
  31.         intLevel = intent.getIntExtra("level", 0);  
  32.         intScale = intent.getIntExtra("scale", 100);
  33.         onBatteryInfoReceiver(intLevel,intScale);
  34.       }  
  35.     }
  36.   };
  37.    
  38.   /** Called when the activity is first created. */
  39.   @Override
  40.   public void onCreate(Bundle savedInstanceState)
  41.   {
  42.     super.onCreate(savedInstanceState);
  43.     /* 加载main.xml Layout */
  44.     setContentView(R.layout.main);
  45.    
  46.     /* 初始化Button,并设定按下后的操作 */
  47.     mButton01 = (Button)findViewById(R.id.myButton1);  
  48.     mButton01.setOnClickListener(new Button.OnClickListener()
  49.     {
  50.       @Override
  51.       public void onClick(View v)
  52.       {
  53.         /* 注册几个系统 BroadcastReceiver,作为访问电池计量之用 */
  54.         registerReceiver
  55.         (
  56.           mBatInfoReceiver,
  57.           new IntentFilter(Intent.ACTION_BATTERY_CHANGED)
  58.         );
  59.       }
  60.     });
  61.   }
  62.   
  63.   /* 拦截到ACTION_BATTERY_CHANGED时要执行的method */
  64.   public void onBatteryInfoReceiver(int intLevel, int intScale)
  65.   {
  66.     /* create 弹出的对话窗口 */
  67.     d = new AlertDialog.Builder(EX06_02.this).create();
  68.     d.setTitle(R.string.str_dialog_title);
  69.     /* 将取得的电吕计量显示于Dialog中 */
  70.     d.setMessage(getResources().getString(R.string.str_dialog_body)+
  71.                  String.valueOf(intLevel * 100 / intScale) + "%");
  72.     /* 设定返并加画面的按钮 */
  73.     d.setButton(getResources().getString(R.string.str_button2),
  74.                 new DialogInterface.OnClickListener()
  75.       {
  76.         @Override
  77.         public void onClick(DialogInterface dialog, int which)
  78.         {
  79.           /* 反注册Receiver,并关闭对话窗口 */
  80.           unregisterReceiver(mBatInfoReceiver);
  81.           d.dismiss();
  82.         }
  83.       });
  84.     d.show();
  85.   }
  86. }

复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐