我使用Microsoft提供的以下C#代码来请求EWS 2010 MSDN链接并且它有效.我需要同样的android解决方案.
我尝试使用以下代码,但它没有帮助
DefaultHttpClient client = new HttpsClient(
MyActivity.this);
requestBytes = myXMLStringRequest.getBytes("UTF-8");
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("Content-Type", "text/xml;utf-8");
if (requestBytes != null) {
httpPost.setHeader("Content-length",
String.valueOf(requestBytes.length));
Log.d(TAG, "content length: " + requestBytes.length);
}
client.getCredentialsProvider().setCredentials(
new AuthScope(url, 443),
new UsernamePasswordCredentials(userName,
password));
Log.d(TAG, "Begin request");
HttpResponse response = client.execute(httpPost);
Log.d(TAG, "status Line: " + response.getStatusLine().toString());
Run Code Online (Sandbox Code Playgroud)
这是我的xml请求
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<GetFolder xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<FolderShape>
<t:BaseShape>Default</t:BaseShape>
</FolderShape>
<FolderIds>
<t:DistinguishedFolderId Id="inbox"/>
<t:DistinguishedFolderId Id="deleteditems"/>
</FolderIds>
</GetFolder>
Run Code Online (Sandbox Code Playgroud)
我还使用自定义HttpsClient和密钥库. …
我正在寻找一种方法将一些方法添加到存在的类中,如下所示:
String s = "";
s.doSomething();
Run Code Online (Sandbox Code Playgroud)
在目标C中,我可以使用类别来执行此操作.
@interface NSString( Stuff)
-(void)doSomething();
@end
Run Code Online (Sandbox Code Playgroud)
android有这样的东西吗?还是另一个黑客?
更新:实际上,我遇到了这个问题:我从jar文件中使用了一个类(不是final)(所以,我无法触及它的源代码).然后我想在不使用继承的情况下将方法(或类似的东西)添加到这个类中.例如:
public class Provider{
// many methods and fields go here...
public String getName(){}
}
Run Code Online (Sandbox Code Playgroud)
我想做的就是:
provider.print(); //that call getName() method;
Run Code Online (Sandbox Code Playgroud)
我也试过代理模式,它有效,但我不喜欢这种方式(因为它像一个包装类,我必须存储一个具有许多字段和方法的对象,只使用一个方法):
public class ProxyProvider{
Provider provider;
public ProxyProvider(Provider provider){
this.provider = provider;
}
public void print(){
String name = provider.getName();
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以解决这个问题吗?
首先,我有一个这样的对象:
public class Entity {
public int data1;
public String data2;
public float data3;
public SubEntity data4;
}
public class SubEntity{
public int id;
public SubEntity(int id){
tis.id = id;
}
}
Run Code Online (Sandbox Code Playgroud)
还有一个HashMap:
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("data1", 1);
map.put("data2", "name");
map.put("data3", 1.7);
map.put("data4", new SubEntity(11));
Run Code Online (Sandbox Code Playgroud)
我需要通过使用hashmap中的反射来为实体动态的所有字段设置值的正确方法.像这样的东西:
for (Field f : entity.getClass().getDeclaredFields()) {
String name = f.getName();
Object obj = map.get("name");
// Need set value field base on its name and type.
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?假设我在实体中有很多子类.
我尝试在Visual Studio中使用活动图.当我向图表添加决策节点时,无法添加文本以显示true或false条件.我在连接器属性中搜索但它没有帮助.
看看这个,我想在决策节点中添加true
和发送false
文本:
另一种方法是使用注释节点,但问题是注释不与连接器链接.
我怎样才能做到这一点?任何帮助将不胜感激.
我使用actionbarsherklock
自定义操作栏的库看起来像这样:
我的自定义工具:
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
// Do any other config to the action bar
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// set custom view
View actionBarView = getLayoutInflater().inflate(
R.layout.action_bar_default, null);
View btnMenuLeft= actionBarView.findViewById(R.id.btnMenuLeft);
btnMenuLeft.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
toggle();
}
});
View btnMenuShare= actionBarView.findViewById(R.id.btnMenuShare);
ActionBar.LayoutParams params = new ActionBar.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
actionBar.setCustomView(actionBarView, params);
// Hide the home icon
actionBar.setIcon(android.R.color.transparent);
actionBar.setLogo(android.R.color.transparent);
Run Code Online (Sandbox Code Playgroud)
这是自定义布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/nav_bar_bg"
android:gravity="center"
android:orientation="horizontal" >
<!-- menu button -->
<ImageButton
android:id="@+id/btnMenuLeft" …
Run Code Online (Sandbox Code Playgroud) 我想将文本添加到矩形(x,y,w,h)中.文本应该适合矩形的大小(意味着它具有最大尺寸,但它仍然包含在矩形中).
我试着测量文本大小基础BaseFont.getWidthPoint()
问题是最终文本大小不能适合rect.它看起来像这样:
这是我的尝试:
PdfContentByte cb = writer.getDirectContent();
cb.saveState();
ColumnText ct = new ColumnText(writer.getDirectContent());
Font font = new Font(BaseFont.createFont());
int rectWidth = 80;
float maxFontSize = getMaxFontSize(BaseFont.createFont(), "text", rectWidth );
font.setSize(maxFontSize);
ct.setText(new Phrase("test", font));
ct.setSimpleColumn(10, 10, rectWidth , 70);
ct.go();
// draw the rect
cb.setColorStroke(BaseColor.BLUE);
cb.rectangle(10, 10, rectWidth , 70);
cb.stroke();
cb.restoreState();
// get max font size base on rect width
private static float getMaxFontSize(BaseFont bf, String text, int width){
float measureWidth = 1;
float fontSize = 0.1f;
float …
Run Code Online (Sandbox Code Playgroud) 从tesseract v3.03的发行说明中,tesseract
现在支持使用可搜索文本的渲染PDF输出,但我不知道如何在我的代码中使用此功能.
目前我使用tess-two为我的Android应用程序,然后我只是想知道这个功能可以用于Android吗?
如果你能给我一个使用tesseract
api来渲染pdf 的例子,那将会很棒,然后我将尝试为tess-two
库删除缺少的函数.
提前致谢.
P/s:我可以看到可以处理render pdf输出的pdfrenderer文件,但我不知道如何将它应用于base api.
更新:这是我的尝试:
tesseract::TessResultRenderer* renderer = new tesseract::TessPDFRenderer(nat->api.GetDatapath());
__android_log_print(ANDROID_LOG_ERROR, "Test_tesseract", "data path = %s", nat->api.GetDatapath());
if (!nat->api.ProcessPages(c_file_name, NULL, 0, renderer)) {
__android_log_print(ANDROID_LOG_ERROR, "Test_tesseract", "process page failed");
delete renderer;
return;
}
FILE* fout = fopen(c_pdf_file_name, "wb");
if (fout == NULL) {
__android_log_print(ANDROID_LOG_ERROR, "Test_tesseract", "Cannot create output file %s\n", c_pdf_file_name);
delete renderer;
return;
}
const char* data;
int dataLength;
bool boolValue = …
Run Code Online (Sandbox Code Playgroud) 我想知道有没有办法==
在下面的泛型函数中将两个泛型类型实例与运算符进行比较:
func compare<T>(T a, T b) -> Bool {
if a == b{
// do something
return true;
}else{
// do another thing
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的自定义对象:
class MyObj{
var id = 3
var name: String?
}
Run Code Online (Sandbox Code Playgroud) 我有这个matlab代码来做超级频谱图后显示图像对象(stft,couple plca ...)
t = z2 *stft_options.hop/stft_options.sr;
f = stft_options.sr*[0:size(spec_t,1)-1]/stft_options.N/1000;
max_val = max(max(db(abs(spec_t))));
imagesc(t, f, db(abs(spec_t)),[max_val-60 max_val]);
Run Code Online (Sandbox Code Playgroud)
得到这个结果:
我使用Armadillo lib 成功移植到C++ 并获得mat结果:
mat f,t,spec_t;
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何在matlab中转换像imagesc这样的位图.
我搜索并找到了这个答案,但似乎它在我的情况下不起作用,因为:
imagesc
方法采用4个参数,其具有向量x和y的界限imagesc
方法还支持规模(我实际上不知道它是如何工作的)
有没有人有任何建议?
更新:这是save
犰狳方法的结果.它看起来不像上面的频谱图.我错过了什么吗?
spec_t.save("spec_t.png", pgm_binary);
Run Code Online (Sandbox Code Playgroud)
更新2:使用db
和保存频谱图abs
mat spec_t_mag = db(abs(spec_t)); // where db method: m = 10 * log10(m);
mag_spec_t.save("mag_spec_t.png", pgm_binary);
Run Code Online (Sandbox Code Playgroud)
结果如下:
我有全局应用程序中的Feed数据列表.我用这个代码,以从我的转变RecyclerView
中MainAcitivty
// selected item event
Intent intent = new Intent(this, DetailActivity.class);
intent.putExtra("item_feed_index", selectedItemIndex);
FeedViewHolder viewHolder = getViewHolderFromPosition(position);
Pair<View, String> pair1 = Pair.create(viewHolder.imageView, "TransitionName.Feed.Image");
Pair<View, String> pair2 = Pair.create(viewHolder.textView, "TransitionName.Feed.Text");
Pair<View, String> pair3 = Pair.create(viewHolder.button, "TransitionName.Feed.Button");
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(this, pair1, pair2, pair3);
startActivity(intent, options.toBundle());
Run Code Online (Sandbox Code Playgroud)
它确实有效.但问题在于DetailActivity
,我有另一个垂直列表,用户可以向下/向上滚动以更改列表中的Feed项(这也会更改滚动索引).
按回来时DetailActivity
,我希望退出动画转换执行正确的查看源索引.我怎样才能做到这一点?
这是代码onActivityResult
中MainActivity
,它滚动循环到正确的位置,但出口过渡动画是不正确的位置.
int currentFeedIndex = Application.getInstance().getCurrentViewingFeed();
if (currentFeedIndex > 0 && currentFeedIndex < adapter.getItemCount()) {
if (gridLayoutManager != null) {
gridLayoutManager.scrollToPositionWithOffset(currentFeedIndex + 1, 0); …
Run Code Online (Sandbox Code Playgroud)