当我尝试调试和部署我的Android应用程序(在Android Studio 0.9中)时,我收到以下错误:
Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
java.util.zip.ZipException: duplicate entry: android/support/multidex/BuildConfig.class
Run Code Online (Sandbox Code Playgroud)
为了清楚起见,这是我行动的简要历史:
Unable to execute dex: method ID not in [0, 0xffff]: 65536从那时起,我继续在将multiDex添加到我的项目之后,通过遵循此SO帖子使用Gradle将外部库拆分为单独的dex文件来解决Android Dalvik 64k方法限制.
这是我的build.gradle文件:
apply plugin: 'com.android.application'
repositories {
jcenter()
}
android {
compileSdkVersion 21
buildToolsVersion '21.1.0'
defaultConfig {
applicationId "com.stackoverflow.application"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
multiDexEnabled = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
preDexLibraries = false
} …Run Code Online (Sandbox Code Playgroud) 我正在为Android API 16到21开发相机应用程序,其主要目的是拍摄肖像照片.我可以用几个设备(Nexus 4,Nexus 5,HTC ......)拍照并正确定位(意味着我的预览等于拍摄的照片尺寸和方向).
但是我已经在其他几个设备上测试了我的应用程序,其中一些设备给我带来了很多麻烦:三星Galaxy S3/S4/S5.
在这三个设备上,预览正确显示,但方法返回的图片onPictureTaken(final byte[] jpeg, Camera camera)始终是侧面的.
这是byte[] jpeg在将ImageView保存到磁盘之前从我的用户创建并在ImageView中显示的位图:

这是保存在磁盘上的图像:

正如您所看到的,图像在预览中完全拉伸,并且一旦保存在磁盘上就会错误地旋转.
这是我的CameraPreview类(我混淆了其他方法,因为它们与相机参数无关):
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback
{
private SurfaceHolder surfaceHolder;
private Camera camera;
// Removed unnecessary code
public void surfaceCreated(SurfaceHolder holder)
{
camera.setPreviewDisplay(holder);
setCameraParameters();
camera.startPreview();
}
private void setCameraParameters()
{
Camera.Parameters parameters = camera.getParameters();
Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(Camera.CameraInfo.CAMERA_FACING_BACK, info);
DisplayMetrics metrics = new DisplayMetrics();
WindowManager windowManager = (WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE);
windowManager.getDefaultDisplay().getMetrics(metrics);
int rotation = windowManager.getDefaultDisplay().getRotation(); …Run Code Online (Sandbox Code Playgroud) 我目前正在为我的学校开展一个Qt项目.对于这个项目,我需要在窗口中列出未知数量的元素而不调整其内容.
我过去曾经使用过一些VBoxLayout,但它不是我在寻找的东西.此窗口小部件根据其包含的元素数量调整其内容的大小.我想要的是在"滚动小部件"中添加尽可能多的小部件,它将自动堆叠在一起并且不会调整大小.
我尝试过使用QScrollArea但是我无法将元素堆叠在一起.
这是一个解释我的问题的小图:

我正在SQL Server 2008上开发一个小的存储过程.我对SQL查询知之甚少,但足以实现简单的任务.但是我想出了一个我无法解决的问题.在我开始解释我的问题之前,请原谅我,如果我拼写SQL查询字错了,因为我不是英语母语人士.
我有4个字段(CSV表示):
ID, NAME, VALUES, ANSWER
25, Tom , 2400 , 0
25, Tom , 600 , 0
25, Tom , 500 , 1
25, Tom , 300 , 1
27, Jerry, 100, 0
27, Jerry, 20, 1
27, Jerry, 60, 1
27, Jerry, 2000, 0
Run Code Online (Sandbox Code Playgroud)
我想要做的是按照它的选择进行分组,ID并NAME在名为positive when ANSWER = 1和的字段中汇总它的值negative when ANSWER = 0.
ID, NAME, SUM, NEGATIVE, POSITIVE
25, Tom, 3000, 800
27, Jerry, 2100, 80
Run Code Online (Sandbox Code Playgroud)
我猜我的问题已被问过几次,但我无法找到任何关于它的信息,可能是因为我使用的是错误的条款.无论如何,如果有人可以提供帮助,那将节省我很多时间.
我几天前开始使用ASM并开始重新编码libc提供的所有简单函数,如strlen,strchr或memset.在我尝试重新编码memset之前,我没有任何问题.
这是C函数的原型:
void *memset(void *s, int c, size_t n);
Run Code Online (Sandbox Code Playgroud)
这是我的ASM代码:
[BITS 32]
global my_memset
my_memset:
push ebp
mov ebp, esp
mov eax, [ebp+8]
mov edx, [ebp+12]
mov ecx, [ebp+16]
myloop:
mov [eax], edx
add eax, 1
loop myloop
endfunc:
mov eax, [ebp+8]
leave
ret
Run Code Online (Sandbox Code Playgroud)
这是我用于测试的主要内容
#include <stdio.h>
void *my_memset(void *s, int c, size_t n);
void main(void)
{
char test[] = "thisisatest";
printf("%s\n", test);
my_memset(test, 'b', 5);
printf("%s\n", test);
}
Run Code Online (Sandbox Code Playgroud)
我在使用寄存器上有点迷失,所以如果我犯了任何大错,请告诉我.
[编辑]主要问题已解决(不再有段错误或错误).但我仍然有一个最后的小问题.我收到的字符串是'bbbbb',它应该是'bbbbbsst'
谢谢Ephismen.
我目前正在将Oracle 9i数据库(*.dmp文件)迁移到Oracle 11g数据库.为此,我使用exp和imp Oracle实用程序命令行:
exp USERID=<user>/<password>@<database> FILE=<path> OWNER=<owner>
Run Code Online (Sandbox Code Playgroud)
然后我创建一个skeleton.sql文件,它将创建表,索引表和最后的索引.
imp <user>/<password>@<database> FILE=<path> INDEXFILE="<path>\skeleton.sql" FROMUSER=<fromuser> TOUSER=<touser>
Run Code Online (Sandbox Code Playgroud)
在此迁移过程中,我能够正确导入大部分数据,当然,从一个数据库到另一个数据库,表空间保持不变,以避免任何冲突.
但问题来了.在Oracle 11g中,不再支持KOREAN_LEXER,而是必须使用KOREAN_MORPH_LEXER.为此,我执行以下SQL命令:
call ctx_ddl.create_preference('korean_lexer','korean_morph_lexer');
call ctx_ddl.add_sub_lexer('global_lexer','korean','korean_lexer',null);
Run Code Online (Sandbox Code Playgroud)
然后我导入skeleton.sql文件,以便在导入之前注入所需的数据:
sqlplus <user>/<password>@<database> @<path>\skeleton.sql
Run Code Online (Sandbox Code Playgroud)
表和索引表的创建顺利进行,直到我为每个创建的150多个索引收到以下错误:
CREATE INDEX "<schema>"."WORKORDER_NDX16" ON "WORKORDER"
ERROR at line 1 :
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
DRG-10502: WORKORDER_NDX16 index does not exist
DRG-13201: KOREAN_LEXER is no longer supported
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 366
Run Code Online (Sandbox Code Playgroud)
索引仍然创建,此消息只是一个警告.我尝试重建任何破坏的索引:
ALTER index WORKORDER_NDX16 …Run Code Online (Sandbox Code Playgroud) 我正在开发一个与一些Google App Engine网络服务对话的Android应用程序.
此应用程序实现了一个聊天活动,它具有非常简单的功能:发送文本.
在调试过程中,我注意到我从服务器列出的消息没有按照我在应用程序上发送的顺序显示.我的第一个想法是问题来自服务器.
起初我检查了我收到的原始Json:
{
"messages": [
{
"message": "test 3",
"author": "daniel",
"message_id": "5724160613416960",
"sent_at": "2014-11-13T09:42:42.861950"
},
{
"message": "test 2",
"author": "daniel",
"message_id": "5649050225344512",
"sent_at": "2014-11-13T09:42:10.390960"
},
{
"message": "test 1",
"author": "daniel",
"message_id": "5178081291534336",
"sent_at": "2014-11-13T09:41:01.998830"
}
],
"kind": "company#chatsItem",
"etag": "\"RUCkC9XynEQNZ2t5E0aa41edXro/xRNtgkWIUbq4zCgmv2iq2fy-UIg\""
}
Run Code Online (Sandbox Code Playgroud)
如您所见,原始数据已正确排序.但这里有趣的部分.当我添加JSON解析器时,例如JacksonFactory(甚至是GsonFactory):
Company.Builder builder = new Company.Builder(AndroidHttp.newCompatibleTransport(), new JacksonFactory(), null);
Company service = builder.build();
ChatsChatCollectionResponse response = service.chats().list(user_id, album_id, token).execute();
List<ChatsChatResponse> messagesResponse = response.getMessages();
Run Code Online (Sandbox Code Playgroud)
以下是以与ChatsChatResponse上述相同的方式订购的商品:
[0] = {com.appspot.com_pany.company.model.ChatsChatResponse@830029063096} size …Run Code Online (Sandbox Code Playgroud) 问题很明确:我正在尝试将"System.IO.IsolatedStorage.IsolatedStorageFileStream"转换为ImageSource,但不知道我该如何做到这一点.我已经看过几篇关于将字节数组转换为Imagesource的文章,但没有关于ISFileStreams的文章.如果有人有解决方案或示例如何继续,请告诉我.
我的代码:
private void Files_List_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
if (store.FileExists(Path.Combine("wallpaper", Files_List.SelectedValue.ToString())))
{
using (var isoStream = store.OpenFile(Path.Combine("wallpaper", Files_List.SelectedValue.ToString()), FileMode.Open))
{
//Here is where I want to set an ImageSource from isoStream!
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
我有一个ItemsControl以Windows 8方式显示的图块,包含2列和4行.每个磁贴都是可单击的,并触发一个命令,该命令将在另一个视图中加载所选项.
我的问题从这里开始:我的绑定IList<>当时可以包含8个以上的元素,但必须显示不超过8个tile.
我想要实现的是创建一个不同类型的图块(链接到另一个命令),Converter只有当我IList<>的大于8 时才会出现(例如:使用a ).请检查下面的图纸以了解我的目标.

到目前为止IList<>,只要大于8,我就可以将容器中检索到的元素数限制为7,但添加"特殊"第8个元素对我来说仍然是个谜.
我正在研究Oracle 11g数据库查询,该查询需要检索表中重复行之间的最高NUM值的列表.
以下是我的上下文示例:
ID | NUM
------------
1 | 1111
1 | 2222
2 | 3333
2 | 4444
3 | 5555
3 | 6666
Run Code Online (Sandbox Code Playgroud)
这是执行查询后我期望的结果:
NUM
----
2222
4444
6666
Run Code Online (Sandbox Code Playgroud)
我知道如何在一个数字列表中获取GREATEST值,但我完全没有猜测如何对两行进行分组,如果它们具有相同的ID,则获取它们之间的最大列值.
Programmaticaly它很容易实现,但使用SQL它对我来说往往不那么直观.欢迎任何建议或建议,因为我甚至不知道哪个功能可以帮助我在Oracle中这样做.
谢谢 !
android ×3
c# ×2
oracle ×2
oracle11g ×2
sql ×2
assembly ×1
c ×1
c++ ×1
gradle ×1
gson ×1
imagesource ×1
itemscontrol ×1
jackson ×1
oracle9i ×1
plsql ×1
qt ×1
scroll ×1
silverlight ×1
sql-server ×1
wpf ×1