gpt4 book ai didi

android - 我将如何在这里实现处理程序?

转载 作者:行者123 更新时间:2023-11-30 04:51:11 24 4
gpt4 key购买 nike

我有 2 个类 GLLayerGLCamTest。我正在尝试运行位于 GLCamTest...

中的方法
        public Bitmap extractimage(int pos){
LocationData tweets;
tweets = new LocationData(this);
SQLiteDatabase db = tweets.getWritableDatabase();
//select the data
String query = "SELECT * FROM tweets;";
Cursor mcursor = db.rawQuery(query, null);
//Move to Position specified.
mcursor.moveToPosition(pos);

//get it as a ByteArray
byte[] imageByteArray=mcursor.getBlob(7);
//the cursor is not needed anymore
mcursor.close();

//convert it back to an image
ByteArrayInputStream imageStream = new ByteArrayInputStream(imageByteArray);
Bitmap theImage = BitmapFactory.decodeStream(imageStream);
return theImage;
}

我希望在 GLLayer 的线程上运行,但据我所知,我需要一个处理程序..

            public void run() {
GLCamTest cam = new GLCamTest();
image = cam.extractimage(q);

}

我从 public void onDrawFrame(GL10 gl) { 中启动线程 我的问题是我将如何实现所述处理程序?我读过 http://developer.android.com/reference/android/os/Handler.html但我仍然不太明白我将如何实现它。有人可以帮帮我吗?

最佳答案

两件事。一是 GLThread 从未调用 Looper.prepare() 因此您不能在该线程内添加/创建处理程序。 (应该在主 UI 线程内)。

第二,不需要处理程序。如果您只想在渲染线程中执行代码...

GLSurfaceView mySurface = mMyCustomSurfaceIMadeEarlierWithTheRendererAlreadyAttached;
Runnable myRunnable = mMyRunnableThatIsSomewhere;
mySurface.queueEvent(myRunnable);

在 drawFrame 方法在下一次渲染过程中调用之前,runnable 将在您的渲染线程中执行。

关于android - 我将如何在这里实现处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3290051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com