小编Ale*_*aro的帖子

如何在Android Studio中过滤logcat?

在我的logcat中输出太多,所以我想用一些关键字过滤它,基本上只显示包含关键字的输出.有没有办法通过UI在Android Studio中执行此操作?

logcat android-studio

91
推荐指数
8
解决办法
8万
查看次数

Android模拟器:无法启动网络摄像头以在模拟器中捕获图片

我在Android Studio的AVD管理器中创建了一个armeabi API 21模拟器,将其设置为使用网络摄像头作为前置摄像头,然后启动它.问题是它无法打开它,因为我收到此错误:

emulator: ERROR: camera_device_start_capturing: VIDIOC_STREAMON on camera '/dev/video0' has failed: Timer expired
emulator: ERROR: _camera_client_query_start: Cannot start camera '/dev/video0' for NV21[640x480]: Inappropriate ioctl for device
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

网络摄像头使用其他软件正常工作.操作系统是Ubuntu 14.04.

java android emulation android-virtual-device android-studio

34
推荐指数
3
解决办法
3万
查看次数

在解除TimePickerDialog时也会调用OnTimeSet

今天我试图使用它,TimePickerDialog但我注意到了一些缺陷.

  1. 在关闭对话框时也会调用OnTimeSet(例如,通过单击外部)
  2. 当用户点击"完成"按钮时,OnTimeSet被调用两次

我使用的API是18.

还有其他人遇到过这些问题吗?你是怎么解决的?

android timepicker

26
推荐指数
3
解决办法
6710
查看次数

使用camera2 API无需预览即可捕获图片

我想要实现的是捕获图片而不显示预览,直接将输出发送到ImageReader.我使用Camera2Basic示例作为起点.但是,我的调用ImageReader永远不会被调用,因此没有图像被发送到它Surface.我真的需要先显示预览吗?

这是摄像机代码,它按照异步回调的流程排序:

private ImageReader imageReader;
private Handler backgroundHandler;
private HandlerThread backgroundThread;
private String cameraId;
private CameraDevice cameraDevice;
private CameraCaptureSession cameraCaptureSession;
    @Override
    public void onCreate() {
        setupCamera2();
    }

    private void setupCamera2() {
        CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);

        try {

            for (String cameraId : manager.getCameraIdList()) {
            CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);

            if (characteristics.get(CameraCharacteristics.LENS_FACING) != CameraCharacteristics.LENS_FACING_FRONT) {
                continue;
            }

            this.cameraId = cameraId;

            int[] picSize = Settings.getPictureSize();
            int picWidth = picSize[0];
            int picHeight = picSize[1];

            imageReader = …
Run Code Online (Sandbox Code Playgroud)

camera android

20
推荐指数
3
解决办法
4万
查看次数

使用MediaProjection截取屏幕截图

借助MediaProjectionAndroid L中提供的API,可以实现

将主屏幕的内容(默认显示)捕获到Surface对象中,然后您的应用可以通过网络发送该对象

我已经设法让VirtualDisplay工作,我SurfaceView正确显示屏幕的内容.

我想要做的是捕获显示在其中的框架Surface,并将其打印到文件.我尝试过以下内容,但我得到的只是一个黑色文件:

Bitmap bitmap = Bitmap.createBitmap
    (surfaceView.getWidth(), surfaceView.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
surfaceView.draw(canvas);
printBitmapToFile(bitmap);
Run Code Online (Sandbox Code Playgroud)

有关如何从中检索显示数据的任何想法Surface

编辑

因此,作为@j__m建议,现在我的设置VirtualDisplay使用SurfaceImageReader:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
displayWidth = size.x;
displayHeight = size.y;

imageReader = ImageReader.newInstance(displayWidth, displayHeight, ImageFormat.JPEG, 5);
Run Code Online (Sandbox Code Playgroud)

然后我创建虚拟显示传递SurfaceMediaProjection:

int flags = DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY | DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC;

DisplayMetrics metrics = getResources().getDisplayMetrics();
int density = metrics.densityDpi;

mediaProjection.createVirtualDisplay("test", …
Run Code Online (Sandbox Code Playgroud)

android bitmap surfaceview

18
推荐指数
4
解决办法
2万
查看次数

未执行活动转换(Lollipop)

我正在设置活动X和活动Y之间的过渡动​​画.
X包含带有图像的列表,单击图像时会展开并在活动Y中 "缩放" .
因此,此图像是XY之间的共享元素.我已经transitionName在XML布局中设置了它的属性.
这是启动活动Y的代码:

ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, clickedImage, clickedImage.getTransitionName());
startActivityForResult(intent, OPEN_PICTURE_REQUEST, options.toBundle());
Run Code Online (Sandbox Code Playgroud)

直到这里,一切正常.但是,我还想在输入时为活动Y的布局设置动画.
为此,我在XML文件(picture_enter.xml)中定义了转换:

<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
    android:transitionOrdering="together">

    <transition
        class="android.transition.Explode"
        android:startDelay="200">
        <targets>
            <target android:targetId="@+id/top_toolbar_container" />
        </targets>
    </transition>

</transitionSet>
Run Code Online (Sandbox Code Playgroud)

最后,在onCreate活动Y中我将初始化过渡:

TransitionInflater inflater = TransitionInflater.from(this);
Transition transition = inflater.inflateTransition(R.transition.picture_enter);
Window window = getWindow();
window.setEnterTransition(transition);
Run Code Online (Sandbox Code Playgroud)

但这从未执行过.只有图像的"缩放"效果才能正常工作.我也尝试过以编程方式定义转换.
有什么建议?

android android-activity android-transitions android-5.0-lollipop

16
推荐指数
1
解决办法
1057
查看次数

在 ListPreference 中以编程方式设置默认值

我试图以ListPreference编程方式设置 a 的默认值,但它没有效果。我从 xml 中增加首选项,然后动态设置值。

addPreferencesFromResource(R.xml.pref_general);
ListPreference sizePreference = findPreference("picture_size");
sizePreference.setEntries(entries);
sizePreference.setEntryValues(entryValues);
sizePreference.setDefaultValue(entryValues[0]);

bindPreferenceSummaryToValue(sizePreference);
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以做到这一点而无需覆盖Preference

android sharedpreferences listpreference

5
推荐指数
1
解决办法
4094
查看次数

回调上的管道响应

使用NodeJS和Express,我将请求与request模块代理在一起。然后,当收到响应时,我需要将cookie设置为先前的响应,然后将其发送回客户端。

app.use('/api', function(req, res) {

    var options = {
        url : constants.API_COMPLETE_URL + '/api' + req.url
    };

    req.pipe(request(options, function (err, backendResponse) {
        if (err) {
            res.status(501).send(err);
            return;
        }

        setCookiesToResponse(res, backendResponse);

        backendResponse.pipe(res);
    }));
});
Run Code Online (Sandbox Code Playgroud)

但是,backendResponse.pipe(res.body)主体是经过编码的。最好的方法是什么?

request node.js express

3
推荐指数
1
解决办法
2253
查看次数

从文件加载大图片并添加水印

我试图找到一种Bitmap从包含任意大图像的文件加载a的有效方法,在其上放置水印(徽标),并将其保存回文件.

我知道在Android上处理大型位图时会出现内存问题.我不想加载较小的图像样本,因为在将其保存回文件时我需要保持相同的质量.

任何帮助表示赞赏.

memory android bitmap

0
推荐指数
1
解决办法
200
查看次数