这是我到目前为止所得到的但它不起作用:
class Node:
rChild,lChild,data = None,None,None
def __init__(self,key):
self.rChild = None
self.lChild = None
self.data = key
class Tree:
root,size = None,0
def __init__(self):
self.root = None
self.size = 0
def insert(self,node,someNumber):
if node is None:
node = Node(someNumber)
else:
if node.data > someNumber:
self.insert(node.rchild,someNumber)
else:
self.insert(node.rchild, someNumber)
return
def main():
t = Tree()
t.root = Node(4)
t.root.rchild = Node(5)
print t.root.data #this works
print t.root.rchild.data #this works too
t = Tree()
t.insert(t.root,4)
t.insert(t.root,5)
print t.root.data #this fails
print t.root.rchild.data …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Android的手势监听器和缩放监听器来实现缩放和拖动.问题是,当我执行捏拉缩放时,图像(我正在尝试缩放)反弹到特定位置.变焦位置也不居中.以下代码演示了我想要实现的目标.知道为什么图像跳跃(以及如何纠正)?
public class CustomView extends View {
Bitmap image;
int screenHeight;
int screenWidth;
Paint paint;
GestureDetector gestures;
ScaleGestureDetector scaleGesture;
float scale = 1.0f;
float horizontalOffset, verticalOffset;
int NORMAL = 0;
int ZOOM = 1;
int DRAG = 2;
boolean isScaling = false;
float touchX, touchY;
int mode = NORMAL;
public CustomView(Context context) {
super(context);
//initializing variables
image = BitmapFactory.decodeResource(getResources(),
R.drawable.image_name);
//This is a full screen view
screenWidth = getResources().getDisplayMetrics().widthPixels;
screenHeight = getResources().getDisplayMetrics().heightPixels;
paint = new Paint();
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);
paint.setColor(Color.WHITE); …Run Code Online (Sandbox Code Playgroud) android image-processing gesture-recognition android-view pinchzoom
我一直在尝试将数组RGBA数据(int字节)转换为UIImage.我的代码如下所示:
/*height and width are integers denoting the dimensions of the image*/
unsigned char *rawData = malloc(width*height*4);
for (int i=0; i<width*height; ++i)
{
rawData[4*i] = <red_val>;
rawData[4*i+1] = <green_val>;
rawData[4*i+2] = <blue_val>;
rawData[4*i+3] = 255;
}
/*I Have the correct values displayed
- ensuring the rawData is well populated*/
NSLog(@"(%i,%i,%i,%f)",rawData[0],rawData[1],rawData[2],rawData[3]/255.0f);
NSLog(@"(%i,%i,%i,%f)",rawData[4],rawData[5],rawData[6],rawData[7]/255.0f);
NSLog(@"(%i,%i,%i,%f)",rawData[8],rawData[9],rawData[10],rawData[11]/255.0f);
CGDataProviderRef provider = CGDataProviderCreateWithData(NULL,
rawData,
width*height*4,
NULL);
int bitsPerComponent = 8;
int bitsPerPixel = 32;
int bytesPerRow = 4*width;
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();
CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault;
CGColorRenderingIntent …Run Code Online (Sandbox Code Playgroud) 我有两个文件(例如),我想放在我的apk主扩展文件中.让这些文件是img1.jpg和img2.jpg.我使用以下命令压缩它们:
zip -n .jpg main.123.in.example.app.obb *.jpg
Run Code Online (Sandbox Code Playgroud)
(版本代码为123,包为in.example.app).这将创建一个obb文件:main.123.in.example.app.obb
我将此代码放在适当的路径上.我可以通过调用以下内容轻松访问文件img1.jpg和img2.jpg:
File root = Environment.getExternalStorageDirectory();
File expPath = new File(root.toString() + "/Android/obb/in.example.app");
String pathToObb = expPath + File.separator + "main.123.in.example.app.obb";
ZipResourceFile zip = new ZipResourceFile(pathToObb);
InputStream iStream = zip.getInputStream("img1.jpg");
Bitmap bmp = BitmapFactory.decodeStream(iStream, null, options);// options to decode
Run Code Online (Sandbox Code Playgroud)
这非常有效.现在,如何读取使用以下内容创建的加密zip文件:
zip -n -encrypt .jpg main.123.in.example.app.obb *.jpg
Run Code Online (Sandbox Code Playgroud)
有什么方法可以读取这样的加密zip文件吗?或者我们是否使用jobb工具进行加密并使用StorageManager来挂载加密的obb并从那里读取?
是否可以对MQTT代理进行负载均衡?我可以使用ELB来平衡MQTT吗?这方面的任何指针都会有所帮助.我点击http://www.slideshare.net/kellogh/mqtt-kafka-33100776,但它没有多大帮助.
我使用jobb工具创建了一个加密的.obb文件.我使用以下代码来安装obb文件:
public void mountExpansion() {
final StorageManager storageManager = (StorageManager) getContext()
.getSystemService(Context.STORAGE_SERVICE);
String packageName = "name.of.the.package";
String filePath = Environment.getExternalStorageDirectory()
+ "/Android/obb/" + packageName + "/" + "main."
+ version + "." + packageName + ".obb";
final File mainFile = new File(filePath);
if (mainFile.exists()) {
Log.d("STORAGE", "FILE: " + filePath + " Exists");
} else {
Log.d("STORAGE", "FILE: " + filePath + " DOESNT EXIST");
}
String key = "thisIsMyPassword";
if (!storageManager.isObbMounted(mainFile.getAbsolutePath())) {
if (mainFile.exists()) {
if(storageManager.mountObb(mainFile.getAbsolutePath(), key,
new OnObbStateChangeListener() …Run Code Online (Sandbox Code Playgroud) 我试图并行发送5封电子邮件.函数scheduleEmails将5个电子邮件地址列表的列表作为输入.我的代码如下所示:
import multiprocessing
import smtplib
def sendMail(email):
#sends email using smtplib
# returns True in case of success, False in case of failure
def scheduleEmails(emailLst):
"""
emailLst is a list of list of 5 emails
emailLst = [[emailAddr1,emailAddr2,emailAddr3...emailAddr5],
[emailAddr6...emailAddr10],
[emailAddr11... emailAddr[15],...]
"""
FREQUENCY = 5 # no. of emails to be send per second
for i in range(len(emailLst)):
p = multiprocessing.Pool(FREQUENCY)
emails = emailLst[i]
results = p.map(sendEmail,emails)
scheduleEmails(someEmailLst)
Run Code Online (Sandbox Code Playgroud)
代码运作良好但经过一段时间后,它就会挂起.你能指出错误或提出更好的方法来实现这个目标吗?
在Android提供的示例中,SlidingTabsBasic,是否可以使用相同宽度的标签?
我在一个目录中有 2000 个镶木地板文件。每个镶木地板文件的大小大约为 20MB。使用的压缩是 SNAPPY。每个镶木地板文件都有如下所示的行:
+------------+-----------+-----------------+
| customerId | productId | randomAttribute |
+------------+-----------+-----------------+
| ID1 | PRODUCT1 | ATTRIBUTE1 |
| ID2 | PRODUCT2 | ATTRIBUTE2 |
| ID2 | PRODUCT3 | ATTRIBUTE3 |
+------------+-----------+-----------------+
Run Code Online (Sandbox Code Playgroud)
每个列条目都是一个字符串。我正在使用具有以下配置的 p3.8xlarge EC2 实例:
我正在尝试以下代码:
+------------+-----------+-----------------+
| customerId | productId | randomAttribute |
+------------+-----------+-----------------+
| ID1 | PRODUCT1 | ATTRIBUTE1 |
| ID2 | PRODUCT2 | ATTRIBUTE2 |
| ID2 …Run Code Online (Sandbox Code Playgroud)