开发者

updated on image

开发者 https://www.devze.com 2023-01-04 08:12 出处:网络
i am developing an application that use some images. We require some text print on image but that is not a fixed meanwhen change the variable value auto开发者_开发百科matically change the text. Simply

i am developing an application that use some images. We require some text print on image but that is not a fixed mean when change the variable value auto开发者_开发百科matically change the text. Simply we say that we print a variable on image?


try this

 public class Test extends UiApplication {

        public static void main(String[] arg) {
            Test app = new Test();
            app.enterEventDispatcher();
        }

        public Test() {
            MyScreen screen = new MyScreen();
            pushScreen(screen);
        }
    }
    class MyScreen extends MainScreen {
        LabelField label;
        public MyScreen() {
            label = new LabelField() {
                protected void paint(Graphics g) {
                    Bitmap bitmap = Bitmap.getBitmapResource("bgimage.jpg");
                    g.drawBitmap(0, 0, getWidth(), getHeight(), bitmap, 0, 0);
                    super.paint(g);
                }
            };

            ButtonField button = new ButtonField("update") {
                protected void fieldChangeNotify(int context) {
                    update();
                    super.fieldChangeNotify(context);
                }
            };

            add(label);
            add(button);
        }

        public void setMessage(String message) {
            synchronized (UiApplication.getEventLock()) {
                label.setText(message);
            }
        }

        private void update() {
            LocationHandler handler = new LocationHandler(this);
            handler.start();
        }
    }

    class LocationHandler extends Thread {
        private MyScreen screen;

        public LocationHandler(MyScreen screen) {
            this.screen = screen;
        }

        public void run() {

            Criteria criteria = new Criteria();
            criteria.setVerticalAccuracy(50);
            criteria.setHorizontalAccuracy(50);
            criteria.setCostAllowed(true);
            criteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_HIGH);
            try {

                LocationProvider provider = LocationProvider.getInstance(criteria);
                Location location = provider.getLocation(-1);
                String speed = location.getSpeed() + "m/s";
                screen.setMessage(speed);
            } catch (LocationException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }
    }
0

精彩评论

暂无评论...
验证码 换一张
取 消