内部发生错误CameraFragment- 只包含FrameLayout(用于保存相机预览)和ImageButton(用于捕获图像)的片段.在我的Fragment中我有一个PictureCallback:
private static Camera.PictureCallback mPicture = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
CameraFragment.DATA=data;
final int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(
activity,
PERMISSIONS_STORAGE,
REQUEST_STORAGE
);
return;
}
saveImageToDevice();
}
};
Run Code Online (Sandbox Code Playgroud)
我从HandlerThread获取我的Camera实例:
private CameraHandlerThread mThread = null;
private static class CameraHandlerThread extends HandlerThread {
Handler mHandler = null;
private Camera handlerCamera;
CameraHandlerThread() {
super("CameraHandlerThread");
start();
mHandler = new Handler(getLooper());
}
synchronized void notifyCameraOpened() {
notify();
}
void openCamera() { …Run Code Online (Sandbox Code Playgroud) 我使用Camera 1 API构建了一个自定义相机,由于某种原因,它产生非常暗的图片(仅在前置摄像头,后置摄像头工作得非常好).相机预览以正确的亮度显示相机,只有在拍摄图像并将其解码为位图时,它才会显得很暗.我疯狂地谷歌搜索了一段时间,发现这个问题报告了很多次,但找不到工作的解决方案.我正在使用的设备是三星J5.
CameraPreview:
class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
private static final String CAMERA = "CAMERA";
private static Camera mCamera;
private final CameraActivity cameraActivity;
private final SurfaceHolder mHolder;
public CameraPreview(Camera camera, CameraActivity cameraActivity) {
super(cameraActivity);
this.cameraActivity = cameraActivity;
mCamera = camera;
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void setCameraDisplayOrientation(int cameraId) {
Camera.CameraInfo info = new android.hardware.Camera.CameraInfo();
Camera.getCameraInfo(cameraId, info);
final int rotation = cameraActivity.getWindowManager().getDefaultDisplay().getRotation();
int degrees = 0;
switch (rotation) {
case Surface.ROTATION_0:
degrees …Run Code Online (Sandbox Code Playgroud) 我有两个由Calendar对象组成的数组列表.我需要这两个列表来包含相同的对象并且顺序相同 - 但事实并非如此.我在调试器模式下运行程序来检查列表的内容,但对象描述是乱码.我只是想知道每一步的年,月和日是否相同.
这是我的调试器显示的内容:
当我点击每个索引旁边的箭头以显示更多信息时,我仍然找不到我需要的东西.有没有解决的办法?或许还有另一种我不熟悉的调试工具?在这个阶段,我的调试技巧仅限于放置断点并单击错误图标.
感谢任何帮助.
我在Haskell上做一些练习.首先我被要求定义一个函数,insert :: Int -> [Int] -> [Int]以便insert x xs
将x插入到列表xs中,使得x大于它之前的那些元素,并且小于或等于它后面的元素:
insert :: Int -> [Int] -> [Int]
insert x [] = [x]
insert x (y:ys) = if x < y
then x:y:ys
else y : insert x ys
Run Code Online (Sandbox Code Playgroud)
现在我需要使用insert来定义一个函数insertionSort :: [Int] -> [Int].这是我的尝试:
insertionSort :: [Int] -> [Int]
insertionSort [x] = [x]
insertionSort (x:xs) = insert x insertionSort xs
Run Code Online (Sandbox Code Playgroud)
错误:无法将预期类型[Int]与实际类型[Int] - > [Int]匹配
有谁知道如何解决这个问题?非常感谢任何见解,谢谢.
这是非常基本的,但我无法弄清楚出了什么问题.基本上我是想在我的一个物体的某个区域周围绘制一个圆圈.我ShapeRenderer在构造函数中初始化了一个(称为srDebugCircle),并在render()方法中使用这个for循环来绘制每个对象.
for (GameObject object : levels.get(LEVEL_INDEX)) {
if (object.getType() == ObjectType.SWINGING_SPIKES) {
object.draw(batch);
srDebugCircle.begin(ShapeType.Filled);
srDebugCircle.circle(object.getxPos() + object.getWidth()/2, object.getyPos(), object.getWidth()/2);
srDebugCircle.setColor(Color.BLACK);
srDebugCircle.end();
}
if (object.getType() == ObjectType.COIN && (Coin) object).isVisible()) {
object.draw();
}
...
}
Run Code Online (Sandbox Code Playgroud)
问题是当我添加圆圈的代码时,我只看到15个对象中的4个.当我删除/评论它时,它照常工作 - 但是,在这两种情况下,我永远不会看到一个黑色的圆圈.
我特别谈到这部分:
srDebugCircle.begin(ShapeType.Filled);
srDebugCircle.circle(object.getxPos() + object.getWidth()/2, object.getyPos(), object.getWidth()/2);
srDebugCircle.setColor(Color.BLACK);
srDebugCircle.end();
Run Code Online (Sandbox Code Playgroud)
谁能明白为什么我有这个问题?
所以我正在进行一些Java练习,最近引起我注意的一个是尝试生成String使用迭代的所有排列.在线有很多例子 - 但是,很多例子看起来非常复杂,我无法遵循.
我尝试使用自己的方法,当使用长度为3的字符串进行测试时,它可以正常工作.方法是(对于每个字母)继续沿着字符串移动一个字母,用它前面的任何字母交换它.例如
index: 012
string: abc
(iteration 1) swap 'a' (index 0) with letter after it 'b' (index 0+1) : bac
(iteration 2) swap 'a' (index 1) with letter after it 'c' (index 1+1) : bca
(iteration 3) swap 'a' (index 2) with letter after it 'b' (index 0) : acb
current permutations: abc (original), bac, bca, acb
(iteration 3) swap 'b' (index 1) with letter after it 'c' (index 1+1) : acb
(iteration 4) swap …Run Code Online (Sandbox Code Playgroud) sorted :: Ord a => [a] -> Bool
sorted xs = and [x <= y | (x,y) <- pairs xs]
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释这个随机and是怎么=回事?它在我编译它时起作用,但它对我来说没有逻辑意义.是因为Haskell以递归方式工作并且使用它and来比较下一个项目吗?
任何见解都受到高度赞赏.
我该怎么做?这是我演讲幻灯片中练习的一部分,提示是使用库函数tail :: [a] -> [a]和zip :: [a] -> [b] -> [(a,b)].此外,功能的类型是fibs :: [Integer]
我知道列表理解是如何工作的,如何编写一个递归的Fibonacci函数,它接受一个值并且熟悉tail和zip函数 - 但是,我只是无法弄清楚这一个并且无法找到一个在线示例.任何人都可以告诉我它是如何完成的吗?
出于好奇,Haskell中使用的函数如何(产生无限列表)?如果我fibs在ghci命令提示符下写(函数名),例如它是否会继续打印列表中的元素,直到时间结束?
在此先感谢您的帮助.
testVector =
1.0e+10 *
3.5688 3.1110 5.2349
Run Code Online (Sandbox Code Playgroud)
是否有可能取出一个向量的指数(不确定它叫什么)并将其存储为变量?例如,在这种情况下,变量将具有值1.0e+10