我试图让ndk-build在Windows上的Cygwin中工作.根据NDK文档(特别是INSTALL.htm),"NDK要求GNU Make 3.81或更高版本可用于您的开发."
我在我的电脑上安装了Gnu Make.
到现在为止还挺好.
在Cygwin bash中,我转到android NDK根目录.现在当我输入以下命令时(现在没有参数,只是看看命令是否有效):
$./ ndk-build
错误:找不到'make'程序.请安装Cygwin make package或定义GNUMAKE变量以指向它.
所以我尝试设置GNUMAKE变量,但没有运气:
$ export GNUMAKE ='/ cygdrive/c\Program Files\GnuWin32\bin'
错误:您的GNUMAKE变量被定义为无效名称:/ cygdrive/c\Program Files\GnuWin32\bin请修复它以指向有效的make可执行文件(例如usr/bin/make)
我甚至尝试将其设置为usr/bin/make,因为它建议,但同样的无效名称错误.
任何人都知道如何解决这个问题?
我使用的是Windows 7,NDK r5,Cygwin 1.7.1
我正在从网络上读取原始图像.该图像已由图像传感器读取,而不是从文件读取.
这些是我对图像的了解:
〜高度和宽度
〜总大小(以字节为单位)
~8位灰度
~1字节/像素
我正在尝试将此图像转换为位图以在imageview中显示.
这是我试过的:
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.outHeight = shortHeight; //360
opt.outWidth = shortWidth;//248
imageBitmap = BitmapFactory.decodeByteArray(imageArray, 0, imageSize, opt);
Run Code Online (Sandbox Code Playgroud)
decodeByteArray返回null,因为它无法解码我的图像.
我也尝试直接从输入流中读取它,而不是先将其转换为字节数组:
imageBitmap = BitmapFactory.decodeStream(imageInputStream, null, opt);
Run Code Online (Sandbox Code Playgroud)
这也返回null.
我在这个和其他论坛上搜索过,但找不到实现这个目标的方法.
有任何想法吗?
编辑:我应该补充说,我做的第一件事是检查流是否实际包含原始图像.我使用其他应用程序(iPhone/Windows MFC)执行此操作,他们能够读取并正确显示图像.我只需要想办法在Java/Android中做到这一点.
我必须使用NDK作为一个clien't项目.我使用的是Windows 7.
我按照安装说明进行操作.我已经安装了Cygwin 1.7.1.
在Cygwin bash中,我进入了android NDK根目录.
当我看到目录的内容,使用$ dir命令时,我可以看到所有内容,包括ndk-build,但是当我尝试使用ndk-build时,这是我得到的结果:
$ ndk-build bash:找不到ndk-build:命令.
不确定我做错了什么.
我需要根据不同的标准在同一个查询中得到两个求和.两个标准都在同一列上运行.有没有办法做到这一点?
我最好用一个例子解释一下:
表:salary_survey_result
专栏:行业,地点,职位,薪水
实际上我想要结合以下两个查询:
SELECT industry, location, count(*) as MORE_THAN_SIX_FIGURE
FROM salary_survey_result
WHERE salary > 100000
GROUP BY industry, location
Run Code Online (Sandbox Code Playgroud)
和
SELECT industry, location, count(*) as MORE_THAN_FIVE_FIGURE
FROM salary_survey_result
WHERE salary > 10000
GROUP BY industry, location
Run Code Online (Sandbox Code Playgroud)
所以结果是这样的:
industry location MORE_THAN_FIVE_FIGURE MORE_THAN_SIX_FIGURE
Healthcare NY 45 10
Healthcare MN 35 6
InfoTech NY 50 19
InfoTech MN 40 12
Run Code Online (Sandbox Code Playgroud) 我有一个有两个按钮的应用程序 - 一个用于电子邮件,另一个用于SMS.根据按下的按钮,我想通过电子邮件或短信发送特定文本.我已经编码了电子邮件按钮,它工作正常.问题是弹出的对话框提供了电子邮件或文本消息的选项.我想将这两者分开,以便当用户按下电子邮件时,只有电子邮件的选项存在,当用户按下SMS时,只有Messaging选项存在.
这是我尝试过的代码.
private void sendEmail(){
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_EMAIL , new String[]{"recipient@example.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "Subject of the message");
i.putExtra(Intent.EXTRA_TEXT , "Body of the message");
try {
startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,电子邮件和消息传递似乎只有一个意图Intent.ACTION_SEND.
有什么办法把它们分开吗?
我试图在模拟器中直接在浏览器中查看存储在SD卡中的网页.
我知道我可以复制资产文件夹中的网页并使用webview加载它.
但有没有办法直接完成?(相当于在PC上的Internet Explorer中键入"c:\ mywebpage.html")
将灰度图像(1像素/字节)转换为彩色位图的最佳方法是什么 - 使用颜色空间(字节数组形式的RGB)?
我认为这会使用ColorMatrix类,但我无法弄清楚如何使用它实现这一点.
我有一个通过单击网页中的链接启动的应用程序.
没问题,工作正常.
然而,应用程序主屏幕只是在浏览器上磕磕碰碰.我想添加一点动画.也许它可以淡入或什么的.我已经在ImageView上完成了动画,但不确定如何在完整的布局屏幕上进行动画制作.有任何想法吗?
请耐心等待,因为我是一名Java开发人员,只是在ASP.Net世界中崭露头角
我开始在现有的C#VS2012代码库中编码.它使用nuget,在packages.config中提到了Newtonsoft
当我右键单击Controllers>时Add a new controller,我收到以下错误.
无法加载文件或程序集
'nunit.framework, Version=2.2.4.0, Culture=neutral, PublicKeyToken=...'或其依赖项之一.该系统找不到指定的文件.
现在环顾谷歌,似乎GAC缺少一个NUnit程序集.不知道该怎么办.我应该得到NUnit吗?为什么要寻找某个版本的nunit(而且这个版本太旧了)?
任何帮助我解决这个问题将非常感谢!
我来自 Java 背景,是 Groovy-Spock 测试的新手。我需要将 Json 中的列表转换为列表。我无法分享确切的代码(专有),但本质上这就是正在发生的事情。
emp_test_data.json
[{
"empID":"1234",
"location":"HQ"
},
{
"empID":"5678",
"location":"Warehouse"
}]
Run Code Online (Sandbox Code Playgroud)
常规代码
List<Employee> employeeList = slurper.parse(new File("src/test/resources/data/emp_test_data.json"))
println ("After slurped") //prints
println(pickupVOList.size() //prints 2
println(pickupVOList.get(0)) //prints [empID:5678, location:HQ]
empUtil.processEmployees(employeeList)
Run Code Online (Sandbox Code Playgroud)
EmpUtil.java
public void processEmployees(List<Employee> employeeList) {
for (Employee employee: employeeList) { //THIS FAILS!
//Do some processing
}
return;
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:- java.lang.ClassCastException: groovy.json.internal.LazyMap cannot be cast to com.my.domain.Employee
我环顾四周。在 Groovy 中,必须有正确的方法将 json 转换为精确对象列表,而不是 LazyMap 列表,但我似乎找不到它。
有任何想法吗?
我正在尝试显示联系人的姓名,电话号码和电子邮件,并让用户更新任何值.出于某种原因,当我的代码执行时,电子邮件的值会在所有三个字段上被覆盖.这里的逻辑必须有一个小故障,但我无法弄明白.
这是我更新Contacts URI的方法.
private void updateContact() {
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newUpdate(ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, name)
.build());
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.build());
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, phoneNumber)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
.build());
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Email.DATA, email)
.build());
try {
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
// Display update
Context ctx = getApplicationContext();
CharSequence txt = "Contact Updated";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(ctx, txt, duration);
toast.show();
} catch (Exception e) {
// Display warning
Context ctx = getApplicationContext();
CharSequence …Run Code Online (Sandbox Code Playgroud)