CANNOT employ my wallpaper generated by APDE

I can’t employ my wallpaper generated by APDE Wallpaper mode and I am clueless about what is going on there (I have tried thousands of times :frowning: It seems that what is generated is recognized as an app without icon and there is nothing shown to let me employ it when installed. Moreover, there is no access to select or employ local app wallpaper in my system either. My system is Android 13. What’s wrong with it?

  1. What format is your wallpaper in? Is it an image file (e.g., JPG, PNG) or something else? Different formats have different compatibility requirements.
1 Like

Thank you for your suggestion

I find that there is no problem with APDE. The APK file installer in my own system is actually where the problem lies. Problem solved!

Here is my code for fun play in APDE. Happy Spring Festival!

import fisica.*;
import ketai.sensors.*;

FWorld world;
KetaiSensor sensor;
PVector angle;

FBlob b, b1, b2 = null;
FPoly p;
ArrayList<FBody> v1, v29;
boolean boom = false, end = false;

int cx, cy;

void setup() {
  fullScreen();
  //frameRate(30);
  cx = width/2;
  cy = height/2;
  smooth();

  sensor = new KetaiSensor(this);
  sensor.list();
  sensor.start();
  angle = new PVector();
  
  Fisica.init(this);
  world = new FWorld();
  world.setEdges();
  
  p = new FPoly();
  p.vertex(cx-290, cy-85);
  p.vertex(cx-300, cy-85);
  p.vertex(cx-300, cy-120);
  p.vertex(cx-80, cy-120);
  p.vertex(cx-10, cy-40);
  p.vertex(cx+10, cy-40);
  p.vertex(cx+80, cy-120);
  p.vertex(cx+300, cy-120);
  p.vertex(cx+300, cy+120);
  p.vertex(cx+80, cy+120);
  p.vertex(cx+10, cy+40);
  p.vertex(cx-10, cy+40);
  p.vertex(cx-80, cy+120);
  p.vertex(cx-300, cy+120);
  p.vertex(cx-300, cy-84);
  p.vertex(cx-290, cy-84);
  p.vertex(cx-290, cy+110);
  p.vertex(cx-87, cy+110);
  p.vertex(cx-17, cy+30);
  p.vertex(cx+17, cy+30);
  p.vertex(cx+87, cy+110);
  p.vertex(cx+290, cy+110);
  p.vertex(cx+290, cy-110);
  p.vertex(cx+87, cy-110);
  p.vertex(cx+17, cy-30);
  p.vertex(cx-17, cy-30);
  p.vertex(cx-87, cy-110);
  p.vertex(cx-290, cy-110);
  p.vertex(cx-290, cy-85);
  p.setStatic(true);
  p.setFill(0);
  p.setFriction(0.3);
  p.setBullet(true);
  world.add(p);
  
  b = new FBlob();
  b.setAsCircle(cx-220, cy, 120, 40);
  b.setBullet(true);
  b.setRestitution(0);
  b.setDamping(1000);
  b.setDensity(0.01);
  b.setStroke(0);
  b.setStrokeWeight(3*displayDensity);
  b.setFill(red(#F0F3B7),green(#F0F3B7),blue(#F0F3B7));
  b.setFriction(0.1);
  world.add(b);
  
  b1 = new FBlob();
  b1.setAsCircle(cx-90, cy, 120, 40);
  b1.setBullet(true);
  b1.setRestitution(0);
  b1.setDamping(1000);
  b1.setDensity(0.01);
  b1.setStroke(0);
  b1.setStrokeWeight(3*displayDensity);
  b1.setFill(red(#F0F3B7),green(#F0F3B7),blue(#F0F3B7));
  b1.setFriction(0.1);
  world.add(b1);
}

void draw() {
  background(255);
  
  world.setGravity(-sin(angle.z*PI/180)*2000, -sin(angle.y*PI/180)*2000);
  world.step();
  
  fill(0);
  text(int(frameRate), 20, 50);
  
  float xh1 = 0, xl1 = 0,
        xh2 = 0, xl2 = 0,
        yh1 = 0, yl1 = 0,
        yh2 = 0, yl2 = 0;
  float xc1 = 0, yc1 = 0, 
      xc2 = 0, yc2 = 0;
  int n1 = 0, n2 = 0;
  ArrayList<FBody> v1 = b.getVertexBodies(),
                   v2 = b1.getVertexBodies();
  if(b2!=null && boom == true) {
    boom = false;
    ArrayList<FBody> v = b2.getVertexBodies();
    for(int i = 0; i < 40; i++) {
      FBody t = v.get(i);
      t.setPosition(v1.get(i).getX(), v1.get(i).getY());
    }
    for(int i = 40; i < 80; i++) {
      FBody t = v.get(i);
      t.setPosition(v2.get(i-40).getX(), v2.get(i-40).getY());
    }
    end = true;
    world.remove(b);
    world.remove(b1);
  }
  if(!end) {
    for(int i = 0; i<v1.size(); i+=4) {
    n1++;
    FBody t = v1.get(i);
    if(i == 0) {
      xh1 = xl1 = t.getX();
      yh1 = yl1 = t.getY();
    }
    else {
      xh1 = max(xh1, t.getX());
      xl1 = min(xl1, t.getX());
      yh1 = max(yh1, t.getY());
      yl1 = min(yl1, t.getY());
    }
    xc1 += t.getX();
    yc1 += t.getY();
  }
  xc1 = xc1/n1;
  yc1 = yc1/n1;
  for(int i = 0; i<v2.size(); i+=4) {
    n2++;
    FBody t = v2.get(i);
    if(i == 0) {
      xh2 = xl2 = t.getX();
      yh2 = yl2 = t.getY();
    }
    else {
      xh2 = max(xh2, t.getX());
      xl2 = min(xl2, t.getX());
      yh2 = max(yh2, t.getY());
      yl2 = min(yl2, t.getY());
    }
    xc2 += t.getX();
    yc2 += t.getY();
  }
  xc2 = xc2/n2;
  yc2 = yc2/n2;
  if((in(xc1, xl2, xh2)&&in(yc1, yl2, yh2))||(in(xc2, xl1, xh1)&&in(yc2, yl1, yh1))) {
    b2 = new FBlob();
    b2.setAsCircle(0, 0, 167, 80);
    b2.setBullet(true);
    b2.setRestitution(0);
    b2.setDamping(1000);
    b2.setDensity(0.01);
    b2.setStroke(0);
    b2.setStrokeWeight(3*displayDensity);
    b2.setFill(red(#F0F3B7),green(#F0F3B7),blue(#F0F3B7));
    b2.setFriction(0.1);
    boom = true;
  }
  }
  
  world.draw();
  
  if(!end && boom) world.add(b2);
}

void onOrientationEvent(float x, float y, float z, long time, int accuracy)
{
  angle.set(x, y, z);
}

void contactStarted(FContact c) {
}

boolean in(float target, float left, float right) {
  return (target>left && target<right);
}