小编Ama*_*bra的帖子

Android - 具有基本身份验证的HttpClient JSON POST

我正在尝试将一个简单的JSON帖子实现到接受JSON身体基本身份验证的URL ANDROID.

我试过HttpUrlConnection但我得到了"unauthorized"我的数据发送到服务器.

我尝试的另一种方法是使用HttpClient,但现在我遇到了另一个问题.身份验证工作正常,但数据不会发送到服务器...

可以肯定的是,我在一个简单的Java项目(不是Android环境)中设置了一个小测试.

这是我POST用于服务器的代码:

DefaultHttpClient httpClient = new DefaultHttpClient();
ResponseHandler<String> resonseHandler = new BasicResponseHandler();
HttpPost postMethod = new HttpPost("http://localhost/api/v1/purchase/");    
postMethod.setEntity(new StringEntity("{\"amount_adult\" : 1, \"object_id\" : 13}"));
postMethod.setHeader( "Content-Type", "application/json");
String authorizationString = "Basic " + Base64.encodeToString(("travelbuddy" + ":" + "travelbuddy").getBytes(), Base64.DEFAULT); //this line is diffe
postMethod.setHeader("Authorization", authorizationString);
String response = httpClient.execute(postMethod,resonseHandler);
System.out.println("response :" + response);
Run Code Online (Sandbox Code Playgroud)

Java项目中的代码非常完美.

当我在Android中尝试完全相同的代码时,我internal server error从服务器获取,这意味着尚未收到JSON数据.

我真的不明白为什么这在JAVA中工作但在Android中不起作用.

我想要实现的效果是以下命令:

curl --dump-header …
Run Code Online (Sandbox Code Playgroud)

json httpclient

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

应该使用哪种罗马化标准来改进阿拉伯语 - 拉丁语的ICU4j音译?

我们要求将阿拉伯语文本音译为拉丁字符(不带变音符号)并将其显示给用户.

我们目前正在使用IBM ICU4j.API不能很好地将阿拉伯文本转换成适当的可读拉丁字符.请参考以下示例:

  • 阿拉伯文:

    صدامحسينالتكريتي

  • 谷歌的音译输出

    : Sadaam Hussein al-tikriti

  • ICU4J的音译输出

    : ?d?m ?syn ?ltkryty

我们如何提高ICU4j库的音译输出?

ICU4J为我们提供了编写我们自己的规则的选项,但我们目前陷入困境,因为我们团队中没有人知道阿拉伯语,并且无法找到任何可以遵循的正确标准.

java nlp transliteration transcription icu4j

6
推荐指数
1
解决办法
309
查看次数

在JShell上执行时同一语句的不同行为

我正在研究一个问题,以便在彼此之间存储两个类的引用

例如:

class A {
B b;
A(B b){
this.b = b;}
}

class B {
A a;
B(A a){
this.a = a;}
}

public static void main(String...s){
A a = new A(new B(null));
a.b.a = a;
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我使用以下语句而不是上面的初始化:

A a = new A(new B(a));
Run Code Online (Sandbox Code Playgroud)

我得到了以下错误,这很明显:

Main.java:19: error: variable a might not have been initialised
        A a = new A(new B(a));
Run Code Online (Sandbox Code Playgroud)

但是如果我在JShell上尝试相同,它就可以正常工作(只是为了确保variable a从未初始化过,我variable a在执行语句之前检查过,确认它之前没有初始化:

在此输入图像描述

可能是我在这里遗漏了一些东西,但有些人可以帮助我理解为什么在JAVA中执行同一语句有两种不同的行为.

理解这个问题的一个简单方法是允许使用以下语句,Jshell但不允许在正常程序中:

var somevar = somevar;
Run Code Online (Sandbox Code Playgroud)

java java-9 java-10 jshell

4
推荐指数
1
解决办法
146
查看次数

为什么JAVA 10中的var无法初始化为null?

我正在玩JAVA 10中引入的新功能,在那里我发现了一个非常有趣的事实,你不能用null声明一个变量.

一旦你写下一段代码,

var a = null;
Run Code Online (Sandbox Code Playgroud)

它抛出一个错误:

变量初始值设定项为null

现在,我们都知道我们不能将基本类型声明为null,所以下面的语句没有任何意义.

int a  = null;
Run Code Online (Sandbox Code Playgroud)

这意味着,如果开发人员正在使用null初始化var,那么它肯定希望在其中放置一个Object,而不是文字val.如果是这样,我的问题是

为什么编译器不认为它是Object var而是抛出错误.

另一方面,如果你写下面的声明,它完全正常:

var a = (Object)null;
Run Code Online (Sandbox Code Playgroud)

声明var为null的原因是什么

考虑下面的情况,我想初始化var并希望在条件块之外使用它:

var a = null;
if(some condition) Initialize with some arguements
else Initialize with some other arguements
//Use a varialble here
Run Code Online (Sandbox Code Playgroud)

因此,在这种情况下,因为我们希望a的范围在条件块之外,所以我们要求初始化它将在block之外为null,这是使用var无法实现的.

java java-10

3
推荐指数
2
解决办法
955
查看次数

iTextSharp RegionTextRenderFilter在宽度的情况下不起作用

我正在使用iTextSharp从特定矩形内的pdf中获取数据

在高度的情况下获取的数据工作正常但在宽度的情况下,它返回整行而不是矩形中的单词.

我使用的代码如下:

  PdfReader reader = new PdfReader(Home.currentInstance.Get_PDF_URL());
            iTextSharp.text.Rectangle pageRectangle = reader.GetPageSize(currentPage);
            float selection_x = ((float)(selectionRectangle.RenderTransform.Value.OffsetX) / (float)canvas.Width) * pageRectangle.Width;
            float selection_y = pageRectangle.Height - (((float)(selectionRectangle.RenderTransform.Value.OffsetY) / (float)canvas.Height) * pageRectangle.Height);
            float selection_height = ((float)(selectionRectangle.Height) / (float)canvas.Height) * pageRectangle.Height;
            float selection_width = ((float)(selectionRectangle.Width) / (float)canvas.Width) * pageRectangle.Width;
            selection_y -= selection_height;
            RectangleJ rect = new RectangleJ(selection_x,selection_y,selection_width,selection_height);
            RenderFilter[] filter = { new RegionTextRenderFilter(rect) };
            ITextExtractionStrategy strategy;
            strategy = new FilteredTextRenderListener(
           new LocationTextExtractionStrategy(), filter
         );
String pageText = PdfTextExtractor.GetTextFromPage(reader, currentPage, strategy);
Run Code Online (Sandbox Code Playgroud)

任何帮助将受到高度赞赏.

提前致谢

.net c# itextsharp

2
推荐指数
1
解决办法
2062
查看次数