我正在制作一个程序,它从服务器获取有关字节数组中图像的数据.我正在将这些数据转换为24位BMP格式(无论是jpeg,png,bmp还是8-24-32bpp).首先,我将它保存到我的HD,然后我将它加载到JLabel的Icon中.虽然在某些情况下我得到以下异常,但效果很好:
java.io.EOFException at
javax.imageio.stream.ImageInputStreamImpl.readFully(ImageInputStreamImpl.java:353) at
com.sun.imageio.plugins.bmp.BMPImageReader.read24Bit(BMPImageReader.java:1188) at
com.sun.imageio.plugins.bmp.BMPImageReader.read(BMPImageReader.java:843) at
javax.imageio.ImageIO.read(ImageIO.java:1448) at
javax.imageio.ImageIO.read(ImageIO.java:1308)
Run Code Online (Sandbox Code Playgroud)
这条线(第二条)
File imgFile = new File("d:/image.bmp");
BufferedImage image = ImageIO.read(imgFile);
Run Code Online (Sandbox Code Playgroud)
在这些情况下:
首先,我认为也许bpp是问题,然后我认为可能图片太大,但我有案例它的工作和案例它不适用于这两个建议.我有点卡在这里,并且很乐意提出想法.
我正在尝试使用Entity Framework 6编写关系数据库应用程序.我有类似于以下类的类:
public class Subject
{
public int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
public class Student
{
public int ID { get; set; }
public int SubjectID { get; set; }
public string Name { get; set; }
public virtual Subject Subject { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
(好吧,这是一个不好的例子,因为实际上你希望每个学生都在一个以上的学科,但现在让我们忽略它,因为这是我能想到的最好的例子.)
问题在于,只要有一个没有学生的主题,而不是subjectInstance.Students返回一个空的集合,它会返回null.这意味着我不能打电话subjectInstance.Students.Add(studentInstance)来添加第一个学生.相反,我必须contextInstance.Students.Add(studentInstance)在手动设置SubjectID字段后通过调用单独添加学生studentInstance.一旦有一个或多个学生已经与该主题相关联,subjectInstance.Students则不再为空,我可以按预期方式添加更多学生. …
我正在使用RecyclerView来显示从数据库中检索为Java对象的项目的列表。对象中的字段之一是数据库中项目的ID,因此可以对其执行进一步的操作。我的areContentsTheSame实现比较对象中的各个字段,以确定项目的内容是否已更改。
问题在于,有时刷新数据源时,项的ID会更改,而可见内容不会更改(即,从数据库中删除相同的项,然后再次添加它们,从而在过程中更改其ID)。在这种情况下,我当前的areContentsTheSame实现返回true。但是,当areContentsTheSame返回true时,RecyclerView视图不重新绑定(onBindViewHolder不叫的物品,其areContentsTheSame回报率true),所以看法仍然坚持其中包含了旧标识的旧对象的引用,从而导致错误试图做的东西时项(例如用户点击以显示它)。
我尝试在ID更改时areContentsTheSame返回false,从而迫使视图重新绑定,即使没有发生可见的更改,但这也会导致显示“项目更改”动画,即使该项目没有明显更改也是如此。我要的是一个方法要么力的意见,重新绑定,而不areContentsTheSame返回false或者换一种方式areContentsTheSame返回true,并触发重新结合而不被显示的动画。
我对Android编程和Java一般都是新手,我无法解决导致此错误的原因; 据我所知,这应该有效.在下面显示的代码中(靠近第一个代码段的末尾),该行在Android Studio 1.1.0中的文本上"ColourOutput.do_output((Activity) com.(name-removed).(app-name-removed).ColourActivity);"给出了错误."Expression expected""com.(name-removed).(app-name-removed).ColourActivity"
(这是在课堂内"public class ColourActivity extends Activity".)
private Camera.PreviewCallback preview_callback = new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
int width = mCamera.getParameters().getPreviewSize().width;
int height = mCamera.getParameters().getPreviewSize().height;
int raw_pixels[];
int pixels[];
raw_pixels = new int[width * height];
pixels = new int[get_sample_width() * get_sample_height()];
convert_yuv(raw_pixels, data, width, height);
crop_pixels(raw_pixels, pixels, width, height, (width - get_sample_width()) / 2, (height - get_sample_height()) / 2, get_sample_width(), get_sample_height());
if (PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getBoolean("use_mean", true) == …Run Code Online (Sandbox Code Playgroud)